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

时间:2012-06-22 14:54:31

标签: android google-play cts 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> 

4 个答案:

答案 0 :(得分:8)

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

  

要复制保护应用程序,请将复制保护设置为“开”   为您的应用程序配置发布选项。 Google Play会   不在开发者设备上显示受复制保护的应用程序   未发布的设备。

换句话说,不得不侧载谷歌播放只是一个副作用,因为它是一个未通过谷歌CTS失败的“未发布设备”/设备。在任何情况下,禁用复制保护都可以解决问题。

答案 1 :(得分:0)

他们运行的硬件可能与您的应用程序不兼容?也许你需要一个触摸屏,他们没有它;也许你需要电话而他们没有电话?

请注意,根据您的目标API,您可能会获得一些隐含的硬件要求。

无论如何,尝试从他们那里获取日志将是最有帮助的!

答案 2 :(得分:0)

受影响的用户可以尝试在其设备上重置Google Play商店应用:

菜单 - &gt;设置 - &gt;应用 - &gt; Google Play商店

然后点击“强制关闭”和“清除数据”

然后重新启动Google Play商店,登录并尝试重新安装您的应用。

答案 3 :(得分:0)

如果您有任何应用内商品或者您正在出售该应用程序,那么Google Play会自动过滤掉您不支持结算的某些国家/地区。您可以通过电子邮件向Google询问here