2016-10-23 23 views
1

我最近发布了一个应用程序,我正在练习( https://play.google.com/store/apps/details?id=ali.ColorMatch2),我问我的朋友在他的Nexus 5上运行Android 6.0.1测试了它。当我开发应用程序时,我还使用Nexus 5来运行apk。出于某种原因,他收到了一条消息:“此设备不兼容”为什么Google Play会说我的应用与它应该使用的设备不兼容?

这是一个非常简单的应用程序,它不使用任何应该限制兼容性的功能。我必须限制兼容性的一小部分代码声明它只与手机兼容,但我直接从​​复制该代码。

这里是我的清单:

<?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后,所以很难让我尝试的东西,看看它是否工作。我在其他时候看过类似的问题,但这些解决方案并没有奏效。我的apk甚至不是2 MB,所以我知道这不是因为它太大,而只是使用了两个功能 - android.hardware.FAKETOUCH和android.hardware.screen.PORTRAIT

这是Google Play开发者控制台运行对我的APK: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

您的列表中没有支持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的兼容性,因此我认为该警告是预期的。

+0

我需要保持这一点,以确保它不能在平板电脑上下载。我只是查了一下,Nexus 5的屏幕密度是445ppi,而xxhdpi是480ppi,所以你可能是对的。我将添加xxhdpi的定义,谢谢 – Johnny

+0

很高兴我能帮上忙。如果您的问题对您有帮助,请花时间做出贡献并加注/标出我的答案。 – Chisko

+0

嘿所以我很匆忙地做出了改变,并重新上传我的apk,现在谷歌告诉我我的应用程序是专为平板电脑?什么? http://imgur.com/a/FqtrA – Johnny

相关问题