Android应用程序与支持Google Play的设备不兼容

Nic*_*ick 14 android cts google-play sideloading

我有一个已部署到Play的应用程序,并且与运行2.1或更高版本的任何设备兼容; AndroidManifest.xml中没有定义特殊限制或要求.

用户尝试通过Google Play安装应用程序时收到了一些投诉,但却收到了与其不兼容的消息.在所有这些情况下,侧面加载应用程序非常有效.

深入研究问题似乎在所有情况下,报告问题的人都在使用未安装Google Play的设备.IE浏览器.该设备可能无法通过谷歌的CTS.

话虽如此,他们可以通过Google Play安装其他应用,但不是我们的.再次,将我们的应用程序加载到这些设备上工作正常.有人知道为什么会这样吗?我认为它肯定是我在AndroidManifest.xml中做错了但我没有看到任何可疑的东西.

编辑:这是AndroidManifest.xml,改为保护无辜的名字:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.foo.bar"
      android:versionCode="1"
      android:versionName="@string/global_app_version">
    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="10"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <application android:label="@string/global_app_short_name" android:icon="@drawable/app">
        <activity android:name=".HomeActivity"
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

        <activity android:name=".AActivity"
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.VIEW"/>
            </intent-filter>
        </activity>

        <activity android:name=".BActivity"
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.VIEW"/>
            </intent-filter>
        </activity>

        <activity android:name=".CActivity"
                  android:launchMode="singleTask"
                  android:theme="@android:style/Theme.Black.NoTitleBar"
                  android:windowSoftInputMode="stateHidden">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.VIEW"/>
            </intent-filter>
        </activity>

        <activity android:name=".DActivity"
                  android:launchMode="singleTask"
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.VIEW"/>
            </intent-filter>
        </activity>

        <activity android:name=".EActivity"
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.VIEW"/>
            </intent-filter>
        </activity>

        <activity android:name=".FActivity"
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.VIEW"/>
            </intent-filter>
        </activity>

        <!-- This activity is invoked whenever an xxx is opened -->
        <activity android:name=".GActivity"
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.VIEW"/>
                <action android:name="android.intent.action.EDIT"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <data android:mimeType="application/xxx"/>
                <data android:mimeType="application/yyy"/>
                <data android:mimeType="application/zzz"/>
                <data android:mimeType="application/aaa"/>
                <data android:mimeType="application/bbb"/>
            </intent-filter>
        </activity>
    </application>
</manifest> 
Run Code Online (Sandbox Code Playgroud)

Nic*_*ick 8

我找到了罪魁祸首 - 启用了复制保护.来自Google的设置说明:http: //developer.android.com/guide/google/play/filters.html

要复制保护应用程序,请在为应用程序配置发布选项时将复制保护设置为"打开".Google Play不会在开发者设备或未发布的设备上显示受版权保护的应用程序.

换句话说,不得不侧载谷歌播放只是作为一个"未发布的设备"/设备失败谷歌CTS的副作用.无论如何,禁用复制保护可以解决问题.