我的应用程序没有将Nexus6列为Google Play控制台中受支持的设备。
我读了一篇博文,上面写着:
Nexus6的量化密度为560dpi,介于
XXHDPI和XXXHDPI主密度桶。
有一段关于我的问题:
确保你没有被google play过滤
如果您正在使用
元素在androidmanifest.xml文件中,
应该停止使用它,因为它无法重新编译和
每次新设备出现时发布你的应用程序。但是,如果你必须
使用它,确保更新清单以添加
这些设备(按屏幕大小和密度)。否则你的应用程序可能
不包括在这些设备上的google play搜索结果中。
好吧,我必须使用<compatible-screens>
,因为我正试图从平板电脑中排除我的应用程序。
清单中当前的<compatible-screens>
元素如下所示:
<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>
Nexus6的正确配置是什么?
我试过:
<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" />
但这一切似乎都没起到作用。
最佳答案
我问了google play的支持,得到了一个帮助我解决问题的答案。
仍然不能百分之百确定正确的屏幕配置,但是看起来
<screen
android:screenDensity="560"
android:screenSize="normal" />
是正确的选择。
但是,由于应用程序清单中的冲突,我的应用程序与Nexus6不兼容。我使用了以下功能要求:
<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" />
这有点棘手,因为权限(在
<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" />
应以大写字母列出,但feature(in
<uses-feature>
)应为小写。我在其他任何设备上都没有遇到过同样的问题,但是如果Nexus6需要这样做,这可能是正确的方法。