解决GooglePlayStore提示您的设备与此版本不兼容(Your device isn't compatible with this version)
2016-10-03 16:48
916 查看
既然查到这个问题了,相信看这篇博客的人可能正在做一个比较复杂的企业级APP,想和国际接轨,但是在play store上却遇到了这个问题。这个问题出现在某些Android pad上。比如小米平板。下面我将带你解决这个看似麻烦,实际上很简单的问题。
首先,看一下出问题的截图,都是在play store上,都是国际大APP,
一个是统治印尼餐饮市场的Qraved
另一款是大名鼎鼎的Instagram
先说一下为什么会出现这个问题。在手机上是好用的,一到pad上就出现了问题。很容易想到,手机上有的功能,但是pad上没有,比如telephone。我们知道一些权限必须在manifest.xml中声明,所以问题就出现在这。
看一下,原来出问题的manifest.xml
这里面声明了很多很多的权限。就是因为这里面有些权限pad上面可能不支持,所以google就筛选了,可以去上传apk哪里看一下支持的设备,没有pad。这改怎么办呢?
是时候祭出google官方文档(自备梯子)
这里面主要介绍了一下这个标签在manifest.xml中的作用。具体自己看。
有个表格很重要:
上面的官方文档blabla一堆,玄机就在这最后的表格里面,你需要做的就是如果你的uses-permission中用到了任何的一个表格中 This Permission…中的权限就要相应的加入标签,并且指定name就是 Implies This Feature Requirement 中的相应值,并加入android:required=”false”。这句话的意思就是没有这个权限也可以。然后就成功地解决了。
下面是我修改了manifest.xml文件中权限部分的代码:
ok,到这里就结束了。看看自己的APP是不是成功的可以在pad上下载了。(友情提示,我当时测试这个问题是在beta上测试的,每个公司流程都不一样,最好不要在live上测试,毕竟是国际大APP,这点严谨性还是要有的)。
郑重承诺:本片博客是作者辛辛苦苦一字一句写的,请尊重做的的劳动成果,转载请说明出处,欢迎转载。有问题请在下面留言,或者加我的QQ:402892393.我们深入讨论。
首先,看一下出问题的截图,都是在play store上,都是国际大APP,
一个是统治印尼餐饮市场的Qraved
另一款是大名鼎鼎的Instagram
先说一下为什么会出现这个问题。在手机上是好用的,一到pad上就出现了问题。很容易想到,手机上有的功能,但是pad上没有,比如telephone。我们知道一些权限必须在manifest.xml中声明,所以问题就出现在这。
看一下,原来出问题的manifest.xml
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_UPDATES" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_CALENDAR" /> <uses-permission android:name="android.permission.WRITE_CALENDAR" /> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="com.imaginato.qravedconsumer.permission.MAPS_RECEIVE" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.READ_LOGS" /> <uses-permission android:name="com.android.vending.CHECK_LICENSE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
这里面声明了很多很多的权限。就是因为这里面有些权限pad上面可能不支持,所以google就筛选了,可以去上传apk哪里看一下支持的设备,没有pad。这改怎么办呢?
是时候祭出google官方文档(自备梯子)
这里面主要介绍了一下这个标签在manifest.xml中的作用。具体自己看。
有个表格很重要:
上面的官方文档blabla一堆,玄机就在这最后的表格里面,你需要做的就是如果你的uses-permission中用到了任何的一个表格中 This Permission…中的权限就要相应的加入标签,并且指定name就是 Implies This Feature Requirement 中的相应值,并加入android:required=”false”。这句话的意思就是没有这个权限也可以。然后就成功地解决了。
下面是我修改了manifest.xml文件中权限部分的代码:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_UPDATES" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_CALENDAR" /> <uses-permission android:name="android.permission.WRITE_CALENDAR" /> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="com.imaginato.qravedconsumer.permission.MAPS_RECEIVE" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.READ_LOGS" /> <uses-permission android:name="com.android.vending.CHECK_LICENSE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-feature android:name="android.hardware.location.gps" android:required="false"/>
<uses-feature android:name="android.hardware.location" android:required="false"/>
<uses-feature android:name="android.hardware.location.network" android:required="false"/>
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.wifi" android:required="false"/>
<uses-feature android:name="android.hardware.bluetooth" android:required="false"/>
ok,到这里就结束了。看看自己的APP是不是成功的可以在pad上下载了。(友情提示,我当时测试这个问题是在beta上测试的,每个公司流程都不一样,最好不要在live上测试,毕竟是国际大APP,这点严谨性还是要有的)。
郑重承诺:本片博客是作者辛辛苦苦一字一句写的,请尊重做的的劳动成果,转载请说明出处,欢迎转载。有问题请在下面留言,或者加我的QQ:402892393.我们深入讨论。
相关文章推荐
- Android – Google Play issue: “your device isn’t compatible with this version”
- "Your device isn't compatible with this version" 部分设备无法从google play下载
- iOS中项目运行到真机上提示设备被锁定解决方法Development cannot be enabled while your device is locked.
- iOS中项目运行到真机上提示设备被锁定解决方法Development cannot be enabled while your device is locked.
- Google Chrome Your browser is not compatible with FlexPaper问题解决
- mvn install Geoserver under ubuntu10.04 时遇到的错误:the API of the mojo scanner is not compatible with this plugin version. 的解决方法
- 解决qt版本不匹配问题:Can’t find the Qt version that’s associated with this project
- The provider is not compatible with the version of Oracle client sometimes (提供程序与此版本的 Oracle 客户机不兼容)
- 安装oracle提示版本不兼容解决
- This Android SDK requires Android Developer Toolkit version 17.0!!(SDk版本一致)解决办法:
- 升级iOS7遇到问题This device isn't eligible for the requested build的解决方法
- Ubuntu Error: the system network service is not compatible with this version
- Optimize Your Google Play Store App Details Page
- In-App Purch - Your first In-App Purchase(s) must be submitted with a new app version...问题解决方案
- eclipse svn 插件 版本升级 解决 downgrading your Subversion client to use this working copy 的错误
- 解决VS2010打开项目时“This project is incompatible with the current version of Visual Studio”
- 提交时提示错误This Bundle is invalid.New apps and app updates submitted to the App Store must be built with
- Choose a destination with a supported architecture in order to run on this device. 模拟器设备问题
- 解决IDEA This version of the rendering library is more recent than your version of IntelliJ IDEA. Plea