我们已经发布了一个Android应用程序,但该应用程序仅支持目录中12,560个设备中的大约10,976个。
其中一些是低于15的minSdkVersion的旧设备。但是,有一些较新的和更受欢迎的不支持的设备,如三星Galaxy S10,即使我已经在Android Studio调试器中物理测试了S10并且构建正确运行。
更多值得注意的不受支持的设备示例包括所有Google Pixel设备,Galaxy S8 +,S9 +和S10 +。类似的支持设备包括常规S8,S9和S10e。
几个月前,我通过在清单中添加xxxhdpi和sw480dp布局和支持,将支持的设备数量从9,674增加到几乎。以下是我当前的清单和gradle详细信息:
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
/>
<compatible-screens>
<screen
android:screenDensity="ldpi"
android:screenSize="normal" />
... // also layouts mdpi, hdpi, xhdpi, xxhdpi
<screen
android:screenDensity="xxxhdpi"
android:screenSize="normal" />
<screen
android:screenDensity="ldpi"
android:screenSize="large" />
... // also layouts mdpi, hdpi, xhdpi, xxhdpi
<screen
android:screenDensity="xxxhdpi"
android:screenSize="large" />
<screen
android:screenDensity="ldpi"
android:screenSize="xlarge" />
... // also layouts mdpi, hdpi, xhdpi, xxhdpi
<screen
android:screenDensity="xxxhdpi"
android:screenSize="xlarge" />
</compatible-screens>
//Gradle
compileSdkVersion 27
defaultConfig {
minSdkVersion 15
targetSdkVersion 27
...}
我还有大量不同尺寸的布局文件夹,主要是:
布局
布局大
布局正常
layout-sw320dp-hpdi / xhdpi / xxhdpi / xxxhdpi(大多数手机似乎都在这4个文件夹中)
布局sw480dp
布局sw600dp
布局sw720dp
我可以为其他尺寸的每个密度添加文件夹,但在Android Studio中,一些不起作用的手机被列为映射到上面的一些布局。看起来我已经拥有的很多布局都没有被使用,因此添加更多并且不需要指示它们似乎效率低下。
还有什么我想念的,例如更改目标sdk?有谁知道Pixel手机和Galaxy S +手机需要什么具体布局,如果我已经应该支持它们?
你应该几乎不需要使用supports-screens
或compatible-screens
。事实上,the docs for compatible-screens
用大胆的红色字母说:
警告:通常,您不应使用此清单元素