8

我有一个应用程序已经可用了 2 年多,只要平板电脑出现就支持平板电脑。我有一个用于平板电脑测试的 Asus Transformer 平板电脑。在我进行更新之前,该应用程序与平板设备兼容。对于我最近的一组更改,我在 Android Manifest 文件中唯一更改的是应用版本号和应用版本字符串。其他一切都和以前完全一样。但是,更新后,当我在 Google Play 中搜索该应用时,该应用没有出现。当我在平板电脑的浏览器中查看该应用程序时,它显示“您的设备与此版本不兼容”。

在没有修改权限的情况下,这个新版本究竟如何与平板电脑不兼容?当我查看我的应用程序时,在 Android 开发者控制台内部,它说支持 2,673 台设备,并且说排除了 0 台设备(没错,零台设备)。好吧,如果这是真的,我怎么可能收到不兼容的消息?此外,当我查看支持的设备列表时,我的华硕平板电脑也会在其中列出。

请注意,应用程序大小仅为 1.19 MB,我实际上有 2 个可执行文件用于同一个应用程序,但另一个可执行文件专门用于 Android 1.5 及更低版本,其版本代码为 0300800,因此它低于可执行文件的版本代码支持 Android 1.6 及更高版本(使用兼容性包)。

此外,当使用 ADB 连接到我的计算机时,我可以将应用程序直接加载到平板电脑上。我什至意识到这个问题现在发生的唯一原因是因为我收到了几个平板电脑用户的电子邮件,他们说他们收到的信息与我相同,只是他们使用的平板电脑不同。

这是我的清单文件(同样,除了版本号之外它没有变化):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="my_package"
  android:versionCode="0400921"
  android:versionName="9.2.1"
  android:installLocation="auto">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<supports-screens android:anyDensity="true"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".App"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

<activity android:name=".Activity1" android:label="Activity1"></activity>
<more activities>

</application>
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8" />

4

1 回答 1

5

我联系了谷歌,他们调查了这个问题。有一系列问题。首先,他们说切换到新的开发者控制台起了作用,因为旧的开发者控制台更加宽松。他们说我的旧清单文件在旧的 Devloper 控制台中工作,但从技术上讲,旧的清单文件实际上并没有指定平板电脑的信息。

因此,我将清单文件更新为此,现在使用平板电脑的用户可以在 Google Play 中访问该应用程序:

<?xml version="1.0" encoding="utf-8"?>

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="10" />

<compatible-screens>
     <screen android:screenSize="large" android:screenDensity="480" />
     <screen android:screenSize="xlarge" android:screenDensity="480" />

    <screen android:screenSize="small" android:screenDensity="ldpi" /> 
    <screen android:screenSize="small" android:screenDensity="mdpi" /> 
    <screen android:screenSize="small" android:screenDensity="hdpi" /> 
    <screen android:screenSize="small" android:screenDensity="xhdpi"/>

    <!--all normal size screens -->
    <screen android:screenSize="normal" android:screenDensity="ldpi" />
    <screen android:screenSize="normal" android:screenDensity="mdpi" />
    <screen android:screenSize="normal" android:screenDensity="hdpi" />
    <screen android:screenSize="normal" android:screenDensity="xhdpi" />

    <!-- all large size screens -->
    <screen android:screenSize="large" android:screenDensity="ldpi" />
    <screen android:screenSize="large" android:screenDensity="mdpi" />
    <screen android:screenSize="large" android:screenDensity="hdpi" />
    <screen android:screenSize="large" android:screenDensity="xhdpi" />

    <!-- all xlarge size screens -->
    <screen android:screenSize="xlarge" android:screenDensity="ldpi" />
    <screen android:screenSize="xlarge" android:screenDensity="mdpi" />
    <screen android:screenSize="xlarge" android:screenDensity="hdpi" />
    <screen android:screenSize="xlarge" android:screenDensity="xhdpi" />

    <!-- Special case for Nexus 7 -->
    <screen android:screenSize="large" android:screenDensity="213" />

</compatible-screens>

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".App"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    <activity android:name=".Activity1" android:label="Activity1"></activity>
        </application>

</manifest>

此外,他们说使用支持屏幕而不是兼容屏幕以扩展兼容性。

于 2013-05-25T17:34:58.567 回答