0

在我的 android 应用程序(android:minSdkVersion="13",android:targetSdkVersion="19")中,我正在根据屏幕尺寸兼容性创建多个 apk。

在我给出的支持大型设备的 apk 清单中 -

<supports-screens android:smallScreens="false"
                  android:normalScreens="false"
                  android:largeScreens="true"
                  android:xlargeScreens="true"
                  android:requiresSmallestWidthDp="600" />

我想知道我应该在支持小型、普通和大型设备(其 sw 小于 600dp)的 apk 清单中定义什么标签。我阅读了开发人员 android 教程,它提到您还必须在支持小型普通设备的 apk 中设置 android:largeScreens="true",android:xlargeScreens="true"。我没有得到那部分。

此外,支持大型和超大型设备的 apk 的版本代码将更高,以便在下载应用程序时 google play 以供用户首先检查该 apk。

注意 - 支持的最低 sdk 版本为 3.2。

PS:开发者 android 这么说 -

Caution: If you use the <supports-screens> element for the reverse scenario (when your application is not compatible with larger screens) and set the larger screen size attributes to "false", then external services such as Google Play do not apply filtering. Your application will still be available to larger screens, but when it runs, it will not resize to fit the screen. Instead, the system will emulate a handset screen size (about 320dp x 480dp; see Screen Compatibility Mode for more information). If you want to prevent your application from being downloaded on larger screens, use <compatible-screens>, as discussed in the previous section about Declaring an App is Only for Handsets.

这是什么意思?假设我为其他 apk 提供所有支持(所有大小)。然后 google play 将首先检查更高版本的清单,如果满足,它将为用户下载该版本,因为多个 apk 遵循规则,如果多个 apk apk 支持设备,然后首选更高版本的 apk。我在这方面是否正确?

4

1 回答 1

0

由于您targetSdkVersion高于 11,因此您不需要将任何属性设置为true-- 它们是默认值。因此,您应该简单地将所有属性设置false为特定构建支持的目标屏幕大小除外。

因此,您的largeScreens构建supports-screens将如下所示:

<supports-screens android:smallScreens="false"
                  android:normalScreens="false"
                  android:largeScreens="true"
                  android:xlargeScreens="false" />

smallScreens构建将是:

<supports-screens android:smallScreens="true"
                  android:normalScreens="false"
                  android:largeScreens="false"
                  android:xlargeScreens="false" />

等等。Google Play 允许上传多个 APK,并根据supports-screen属性自动过滤。更多信息:http: //developer.android.com/google/play/filters.html

但是,您应该注意 Google 关于为不同屏幕构建多个 APK 的警告:

注意:Android 系统为应用程序提供了强大的支持,通过一个 APK 即可支持所有屏幕配置。除非绝对必要,否则您应该避免创建多个 APK 来支持不同的屏幕,而是遵循支持多个屏幕的指南,以便您的应用程序灵活并且可以通过单个 APK 适应所有屏幕配置。 http://developer.android.com/google/play/publishing/multiple-apks.html

于 2014-11-02T22:34:11.960 回答