在android </supports-screens>中的多个apk场景中的<supports-screens>标签

时间:2014-11-02 22:01:48

标签: android android-screen-support android-multiple-apk

在我的android应用程序中(android:minSdkVersion =&#34; 13&#34;,android:targetSdkVersion =&#34; 19&#34;)我在基本屏幕尺寸兼容性上创建了多个apks。

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

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

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

此外,支持大型和x大型设备的apk的版本代码会更高,以便谷歌在下载应用程序时播放,以便用户先检查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都是真的。然后谷歌播放将首先检查更高版本的清单,如果它满足,那么它将为用户下载该版本,因为多个apks遵循规则,如果不止一个apk支持设备然后更高版本的apk是首选。我在这方面是否对吗?

1 个答案:

答案 0 :(得分: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