我很难理解如何在某些设备上使用我的应用,但排除其他设备。我有Acer Iconia One 7 B1。屏幕7",800x1280像素和216 ppi密度。在我的应用程序的第一个版本中,Google Play表示它与我的平板电脑不兼容。这是我在开始时的表现:
<compatible-screens>
<!-- all normal size screens -->
<screen android:screenDensity="mdpi" android:screenSize="normal" />
<screen android:screenDensity="hdpi" android:screenSize="normal" />
<screen android:screenDensity="xhdpi" android:screenSize="normal"/>
<screen android:screenDensity="xxhdpi" android:screenSize="normal"/>
<!-- mdpi and hdpi large size screens -->
<screen android:screenDensity="mdpi" android:screenSize="large" />
<screen android:screenDensity="hdpi" android:screenSize="large" />
<!-- mdpi x-large size screens -->
<screen android:screenDensity="mdpi" android:screenSize="xlarge" />
</compatible-screens>
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="25"
/>
经过研究,我发现我的平板电脑具有tvdpi密度,因此我在清单中添加了更多行,包括所有正常尺寸的屏幕:
<screen android:screenSize="normal" android:screenDensity="213"/>
<screen android:screenSize="normal" android:screenDensity="420"/>
<screen android:screenSize="normal" android:screenDensity="560"/>
<screen android:screenSize="normal" android:screenDensity="xxxhdpi"/>
<!-- to exclude TVs -->
<uses-feature android:name="android.hardware.touchscreen"
android:required="true"/>
当我上传我的应用的第2版时,Google控制台向我显示警告,即尽管我添加了更多兼容的屏幕,但更新后的apk支持的LESS设备比版本1还少! 请帮我理解我做错了什么?基本上,我需要支持所有可能的正常屏幕尺寸,无论密度如何;大型MDPI和HDPI以及超大型MDPI。
答案 0 :(得分:0)
您排除电视的代码是我猜测的罪魁祸首,只有使用Leanback Intent库(默认情况下禁用)才能支持电视应用。
通过强制触摸屏你只消除了一些设备(包括那些运行Android手机版的廉价Android电视盒)
答案 1 :(得分:0)
听起来你根本不应该使用<compatible-screens>
。
来自文档:
警告:通常,您不应使用此清单元素。使用此元素可以显着减少应用程序的潜在用户群,如果用户的设备具有未列出的屏幕配置,则不允许用户安装应用程序。当应用程序绝对不适用于特定的屏幕配置时,您应该仅将其用作最后的手段。
你说&#34;无论密度如何,我都需要支持所有可能的正常屏幕尺寸。如果这意味着您必须排除 small
屏幕尺寸,则可以使用<supports-screens>
元素。像
<supports-screens
android:smallScreens="false"/>
答案 2 :(得分:0)
经过两天的调查(对于我这么长时间的耻辱),我调查了Android Studio中的AVD经理,发现与我的Acer Iconia具有相同规格的Nexus 7被认为是大型的, 不正常。 一旦我改变了
<screen android:screenSize="normal" android:screenDensity="213"/>
为:
<screen android:screenSize="large" android:screenDensity="213"/>
并将新APK上传到Play商店,我的平板电脑终于与该应用兼容了。我希望有一天,当他们无法弄清楚为什么他们的tvdpi平板电脑被认为与他们的应用程序不兼容时,这有助于某人。