我们发布了一个Android应用,但是该应用仅支持目录中总共12560个设备中的10976个。
其中一些是比minSdkVersion 15还低的旧设备。但是,尽管我已经在Android Studio调试器和内部版本中对S10进行了物理测试,但还是有一些更新且更流行的不受支持的设备,例如Samsung Galaxy 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个文件夹中)
layout-sw480dp
layout-sw600dp
layout-sw720dp
我可以为每个其他密度的文件夹添加其他尺寸的文件夹,但是在Android Studio中,一些无法正常使用的手机被列出为映射到上述某些布局。似乎我已经使用的许多布局都没有使用,因此添加更多的布局似乎没有效率,而没有表明它们是必需的。
还有其他我想念的东西吗,例如更改目标sdk?有谁知道Pixel手机和Galaxy S +手机需要什么特定布局,如果我已经支持的话?
答案 0 :(得分:1)
您几乎永远不需要使用supports-screens
或compatible-screens
。实际上,the docs for compatible-screens
用大胆的红色字母说:
警告:通常,您不应使用此清单元素