[英]App not compatible with Nexus7 running Marshmallow
My app is in BETA TESTING. 我的应用程序是在BETA测试中。 It's compatible with iBall tablet (tablet has sim card capability) and with Nexus5 running Marshmallow, but isn't compatible with Nexus7 running Marshmallow (and also with Nexus10. I didn't check it yet). 它兼容iBall平板电脑(平板电脑具有SIM卡功能)和运行Marshmallow的Nexus5,但与运行Marshmallow的Nexus7(以及Nexus10)不兼容。我还没有检查它。 I am not sure which permission is causing this. 我不确定是哪个权限造成这种情况。 Or is it because of targetSdkVersion? 或者是因为targetSdkVersion? (I dont think targetSdkVersion causes this. Please correct me if I am wrong) (我不认为targetSdkVersion导致这个。如果我错了请纠正我)
Manifest : 清单 :
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-feature android:name="android.permission.RECEIVE_SMS" android:required="false" />
<uses-feature android:name="android.permission.READ_SMS" android:required="false" />
<uses-feature android:name="android.permission.READ_PHONE_STATE" android:required="false" />
<permission
android:name="in.company.company.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="in.company.company.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<supports-screens
android:anyDensity="true"
android:xlargeScreens="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true" />
build.gradle : build.gradle :
compileSdkVersion 23
buildToolsVersion '23.0.1'
defaultConfig {
applicationId "in.company.company"
minSdkVersion 16
targetSdkVersion 21
versionCode 8
versionName "1.7"
multiDexEnabled true
}
Also, I didn't upload any Tablet screenshots on developer console. 此外,我没有在开发者控制台上上传任何Tablet屏幕截图。 For now, the app is designed for phone, but I want to make it available for all android devices out there. 目前,该应用程序专为手机设计,但我想让它可用于所有Android设备。 What I need to look into? 我需要研究什么?
Thanks in advance. 提前致谢。
just add this requiresSmallestWidthDp
in supports-screens
element. 只需在supports-screens
元素中添加this requiresSmallestWidthDp
。
For example, a typical handset screen has a smallestWidth of 320dp, a 7" tablet has a smallestWidth of 600dp, and a 10" tablet has a smallestWidth of 720dp. 例如,典型的手机屏幕具有320dp的最小宽度,7“平板电脑具有600dp的最小宽度,而10”平板电脑具有720dp的最小宽度。 These values are generally the smallestWidth because they are the shortest dimension of the screen's available space. 这些值通常是最小宽度,因为它们是屏幕可用空间的最短尺寸。
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:requiresSmallestWidthDp="720"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="true" />
read more about support-screen 阅读有关支持屏幕的更多信息
one more thing if you are compile your code with API 23 then why use targetSdkVersion 21 change it to 23.(don't forgot to implement permission model for your app when target 23 API) 如果您使用API 23编译代码,还有一件事就是为什么使用targetSdkVersion 21将其更改为23.(当目标23 API时,不要忘记为您的应用实现权限模型)
Notes: if you are going to make app available for all android devices then you must have to use this supports-screens
elements else Google play show you "app is not compatible with this device" or similar message . 注意:如果您要为所有Android设备提供应用程序,那么您必须使用此supports-screens
元素,否则Google Play会向您显示“应用程序与此设备不兼容”或类似消息 。 check some old answer which is related to tablets screen 检查一些与平板电脑屏幕相关的旧答案
May be your Tablet doesn't support some features like phone. 可能是你的平板电脑不支持手机等功能。 That's why its conflicting with permissions. 这就是它与权限冲突的原因。 Its done like 它完成了
<!-- features -->
<uses-feature android:name="android.hardware.telephony" android:required="false" />
Other possible features are : 其他可能的功能是:
android.hardware.camera android.hardware.camera
android.hardware.camera.autofocus android.hardware.camera.autofocus
android.hardware.location.gps android.hardware.location.gps
android.hardware.location android.hardware.location
android.hardware.location.network android.hardware.location.network
You can check all the Features Required in your application. 您可以检查应用程序中的所有必需功能 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.