8

我的应用没有将 Nexus 6 列为 Google Play Console 中支持的设备。

我阅读了博客文章为 Nexus 6 和 Nexus 9 准备好您的应用程序,其中说:

Nexus 6 的量化密度为560 dpi,位于 xxhdpi 和 xxxhdpi 主要密度桶之间。

有一段关于我的问题:

确保您没有在 Google Play 上被过滤

如果您正在使用 AndroidManifest.xml 文件中的元素,则应该停止使用它,因为每次新设备出现时重新编译和发布您的应用程序时,它是不可扩展的。但是,如果您必须使用它,请确保更新清单以添加这些设备的配置(按屏幕尺寸和密度)。否则,您的应用可能会从这些设备上的 Google Play 搜索结果中排除。

好吧,我必须使用<compatible-screens>,因为我试图从平板电脑中排除我的应用程序。

<compatible-screens>在 Manifest 中的当前元素如下所示:

<compatible-screens>
    <!-- small size screens -->
    <screen
        android:screenDensity="ldpi"
        android:screenSize="small" />
    <screen
        android:screenDensity="mdpi"
        android:screenSize="small" />
    <screen
        android:screenDensity="hdpi"
        android:screenSize="small" />
    <screen
        android:screenDensity="xhdpi"
        android:screenSize="small" />
    <screen
        android:screenDensity="480"
        android:screenSize="small" />

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

Nexus 6 的正确配置是什么?

我努力了:

    <screen
        android:screenDensity="560"
        android:screenSize="normal" />
    <screen
        android:screenDensity="480"
        android:screenSize="large" />
    <screen
        android:screenDensity="560"
        android:screenSize="large" />
    <screen
        android:screenDensity="640"
        android:screenSize="large" />

但似乎没有一个能奏效。

4

1 回答 1

6

我询问了 Google Play 支持并得到了帮助我解决问题的答案。

仍然不能 100% 确定正确的屏幕配置,但似乎

<screen
    android:screenDensity="560"
    android:screenSize="normal" />

是正确的选择。


但是,由于我的应用程序清单中的冲突,我的应用程序与 Nexus 6 不兼容。我使用了以下功能要求:

<uses-feature android:name="android.hardware.LOCATION" />
<uses-feature android:name="android.hardware.TELEPHONY" />
<uses-feature android:name="android.hardware.TOUCHSCREEN" />
<uses-feature android:name="android.hardware.WIFI" />
<uses-feature android:name="android.hardware.location.GPS" />
<uses-feature android:name="android.hardware.location.NETWORK" />
<uses-feature android:name="android.hardware.screen.PORTRAIT" />

但正确的版本是所有小写字母列出的功能:

<uses-feature android:name="android.hardware.location" />
<uses-feature android:name="android.hardware.telephony" />
<uses-feature android:name="android.hardware.touchscreen" />
<uses-feature android:name="android.hardware.wifi" />
<uses-feature android:name="android.hardware.location.gps" />
<uses-feature android:name="android.hardware.location.network" />
<uses-feature android:name="android.hardware.screen.portrait" />

这有点棘手,因为权限 (in <uses-permission>) 喜欢

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

应以大写字母列出,但特征 (in <uses-feature>) 应为小写

我在任何其他设备上都没有遇到过同样的问题,但如果 Nexus 6 需要这个,这可能是正确的做法。

于 2015-02-12T12:22:44.390 回答