【发布时间】:2013-01-23 18:29:18
【问题描述】:
我目前在使用 Google Play 过滤和 API 级别 16 中引入的新密度类 xxhpdi 时遇到问题。 我的应用程序被拆分为 3 个 APK 文件(我知道这不是最佳做法,但由于计划不好,我现在必须这样做)。有趣的部分是适用于 Android 4.0 的版本,仅限智能手机。 我在 AndroidManifest.xml 中设置了市场过滤器,如下所示:
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17"/>
<compatible-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="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"/>
</compatible-screens>
现在的问题是,像 HTC Droid DNA 这样具有 1080p 屏幕的新设备无法看到或安装我的应用程序,因为我没有指定它也支持 xxhdpi 屏幕。问题是,因为我将 minSdkVersion 设置为 API 级别 14,即 Android ICS,我不能简单地添加以下行:
<screen android:screenDensity="xxhdpi" android:screenSize="normal"/>
这是因为 API 级别 14 不知道 xxhdpi 类。有什么解决方案可以解决我的问题,而无需创建第 4 个单独的 APK 文件?
谢谢。
【问题讨论】:
-
引用注意:通常,您不应使用此清单元素。使用此元素可以显着减少应用程序的潜在用户群,因为如果用户的设备具有您未列出的屏幕配置,则不允许他们安装您的应用程序。 Developer's SDK 的您应该仅将其用作最后的手段
-
xxhdpi 仅在 JB 向上 AFAICT,简而言之,不幸的是你运气不好。我认为最简单的方法是重建目标 JB,即 API 20 或 21,然后它应该这样做。
-
你好,谢谢你的回答。该应用程序已经针对 JB MR1,因为这是 API 级别 17。API 级别 14 是 Android 4.0。
标签: android screen android-manifest compatibility resolution