我最近发布了一个我正在练习的应用程序( https://play.google.com/store/apps/details?id=ali.ColorMatch2)我问我的朋友在运行Android 6.0.1的Nexus 5上为我测试一下。我在开发应用程序时也使用了Nexus 5来运行apk。出于某种原因,他收到一条消息“此设备不兼容”
这是一个非常简单的应用程序,不使用任何应该限制兼容性的功能。我唯一要限制兼容性的是一小段代码,声明它只与手机兼容,但我直接从https://developer.android.com/guide/practices/screens-distribution.html复制了它。
这是我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.ali.ColorMatch2">
<compatible-screens>
<!-- all small size screens -->
<screen android:screenSize="small" android:screenDensity="ldpi" />
<screen android:screenSize="small" android:screenDensity="mdpi" />
<screen android:screenSize="small" android:screenDensity="hdpi" />
<screen android:screenSize="small" android:screenDensity="xhdpi" />
<!-- all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
</compatible-screens>
...
</manifest>
在您上传另一个apk后Google播放需要几个小时才能更新,所以我很难尝试一些东西并查看它是否有效。我已经看过其他时候发布了类似的问题,但这些解决方案都没有奏效。我的apk甚至不是2 MB,所以我知道这不是因为它太大了,它只使用了两个功能 - android.hardware.FAKETOUCH和android.hardware.screen.PORTRAIT
以下是我在apk上运行的Google Play开发者控制台:http://imgur.com/a/st0Aj
谢谢
*编辑*
添加xxhdpi定义后:
<screen android:screenSize="small" android:screenDensity="xxhdpi" />
<screen android:screenSize="normal" android:screenDensity="xxhdpi" />
在compatible-screens
部分的,我现在得到一个warning on the Play Store说我的应用是专为平板电脑设计的,我不希望这样,我应该担心这个吗?
答案 0 :(得分:0)
您的列表中不支持xxhdpi屏幕,因此我的猜测是,这两款手机的屏幕配置不同。删除该部分或添加xxhdpi和更大屏幕的定义:
<compatible-screens>
<!-- all small size screens -->
<screen android:screenSize="small" android:screenDensity="ldpi" />
<screen android:screenSize="small" android:screenDensity="mdpi" />
<screen android:screenSize="small" android:screenDensity="hdpi" />
<screen android:screenSize="small" android:screenDensity="xhdpi" />
<screen android:screenSize="small" android:screenDensity="xxhdpi" />
<!-- all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
<screen android:screenSize="normal" android:screenDensity="xxhdpi" />
<!-- all large size screens -->
<screen android:screenSize="large" android:screenDensity="ldpi" />
<screen android:screenSize="large" android:screenDensity="mdpi" />
<screen android:screenSize="large" android:screenDensity="hdpi" />
<screen android:screenSize="large" android:screenDensity="xhdpi" />
<screen android:screenSize="large" android:screenDensity="xxhdpi" />
</compatible-screens>
有关详细信息,请参阅here。
我认为警告是预期的,因为您正在定义大屏幕和dpi的兼容性。