ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2019-09-28 20:26:28  阅读:213  来源: 互联网

标签:nexus-7 android google-play adb


我有一个应用程序,我发布到私人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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有