为什么Google Play会说我的应用与应该使用的设备不兼容?

时间:2016-10-23 20:11:29

标签: java android android-studio google-play google-play-games

我最近发布了一个我正在练习的应用程序( 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说我的应用是专为平板电脑设计的,我不希望这样,我应该担心这个吗?

1 个答案:

答案 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的兼容性。