其他分享
首页 > 其他分享> > android – 播放商店报告“您的设备与此版本不兼容”,但它可以通过adb安装在Nexus7上

android – 播放商店报告“您的设备与此版本不兼容”,但它可以通过adb安装在Nexus7上

作者:互联网

我有一个应用程序,我发布到私人Google Play测试版.我可以安装这个完全相同的APK到我的Nexus 7就好了

adb pm安装

但是通过Google Play商店,它标记为与此完全相同的Nexus7

您的设备与此版本不兼容.

这是相同的apk.我无法弄清楚如何获得有关游戏商店认为它不兼容的原因的任何信息.

我的清单看起来像这样:

<uses-sdk android:minSdkVersion="10" />

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.CAMERA"></uses-permission>
<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_TASKS" />

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".foobar"
              android:label="@string/app_name"
              android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <service android:name=".fooservice" android:exported="false" android:enabled="true" android:label="@string/app_name" android:icon="@drawable/icon">
    </service>

</application>

 

有关确定Google Play认为不兼容的原因的任何帮助吗?

解决方法:

这种行为完全正确:请参阅此处的官方文档http://developer.android.com/guide/topics/manifest/uses-feature-element.html.

这是相关部分:

声明< uses-feature>元素仅供参考,这意味着Android系统本身在安装应用程序之前不会检查设备上的匹配功能支持.但是,其他服务(例如Google Play)或应用程序可能会检查您的应用程序的< uses-feature>声明作为处理或与您的应用程序交互的一部分.因此,声明应用程序使用的所有功能(从下面的列表中)非常重要.

因此,您可以通过adb安装apk的事实并不能证明特定设备是否被过滤掉.

另请查看:http://developer.android.com/guide/topics/manifest/uses-permission-element.html

在某些情况下,您请求的权限可能会影响Google Play过滤您的应用程序的方式.

如果您请求与硬件相关的权限(例如,CAMERA),Google Play会假定您的应用程序需要基础硬件功能,并从不提供该应用程序的设备中过滤应用程序.

更新:您已确认使用的是Nexus 7 2012,请参阅此官方博文:http://android-developers.blogspot.ch/2012/07/getting-your-app-ready-for-jelly-bean.html.

谷歌声称“需要android.hardware.camera功能的应用程序将无法在Nexus 7上使用”.

如果您因为在应用程序中使用相机而需要该权限,则可以按照http://developer.android.com/guide/topics/media/camera.html#detect-camera中的说明以编程方式执行此操作.

标签:nexus-7,android,google-play,adb
来源: https://codeday.me/bug/20190928/1828834.html