android - Google Play 商店“不支持所需的屏幕密度和尺寸”尽管允许所有
问题描述
在 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 是什么意思,但我在其他一些设备上也收到了相同的消息,它们现在与我的清单的上述更改兼容。有谁知道可能是什么问题?
解决方案
您的 APK 是否有可能在您不知情的情况下从您包含在应用程序中的第三方库中继承了兼容屏幕部分?
要检查这一点,您可以尝试以下命令:
~/Android/Sdk/build-tools/$version/aapt dump xmltree your.apk AndroidManifest.xml
这会打印出为您的应用生成的清单。寻找任何可疑的“屏幕”行。
推荐阅读
- javascript - 单击按钮时如何更改JavaScript函数
- r - 带有宏的早期函数返回
- c# - 使用 PublishSingleFile 选项集配置 NLOG
- python - 如何修改odoo中的取消链接方法?
- world-of-warcraft - mod-solo-lfg azerothcore - 错误:没有成员命名
- javascript - 如何用JS的includes方法重写链式条件或逻辑
- flutter - How do I save data after closing the Flutter app?
- r - 如何根据字典更改或替换行名
- scala - 如果至少存在一个,Scala 不会这样做
- sql - SQL 查询:如何检查特定记录的字母是否多于数字并返回