在Google Play控制台设备目录中,有许多较新的设备(例如Galaxy S9 +)被列为不受支持,并带有以下说明:
Doesn't support required screen densities & sizes <compatible-screens>
- 640, SMALL
- 640, NORMAL
- 640, LARGE
- 640, XLARGE
但是,我认为我已通过在AndroidManifest.xml
中添加以下内容来解决此问题:
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"
android:resizeable="true" />
似乎我明确允许所有屏幕密度和尺寸,但某些设备仍然表示它们不兼容。
对于它的价值,我不会在清单中的任何地方使用<compatible-screens>
元素(因为这本质上是一个白名单,并且Google建议您不要正常使用它)。
我不确定重复640是什么意思,但是我在其他一些设备上也有相同的消息,并且它们现在与我对清单的上述更改兼容。有人知道这可能是什么问题吗?
答案 0 :(得分:1)
APK是否有可能在您不知道的情况下从您包含在应用程序中的第三方库继承了兼容屏幕部分?
要对此进行检查,您可以尝试以下命令:
~/Android/Sdk/build-tools/$version/aapt dump xmltree your.apk AndroidManifest.xml
这会打印出为您的应用程序生成的清单。寻找任何可疑的“屏幕”行。