问题
I have created an Application compatible only for Android Tabs. The Manifest.xml declaration for the App is :
<supports-screens android:smallScreens="false"
android:normalScreens="false"
android:largeScreens="true"
android:xlargeScreens="true"
android:requiresSmallestWidthDp="600" />
<uses-permission android:name="in.wptrafficanalyzer.locationingooglemapv2.permission.MAPS_RECEIVE" />
<uses-permission android:name="com.tab.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
I am able to download the App from the Google Play Store, but when I try to download from Google Nexus 7 Tab, I am getting the following error :
This App is incompatible with your Nexus 7 / The Item is not compatible with your device
Please help me on what changes required on the manifest declaration to make App compatible with Nexus 7
Note : I am also using the following Tag in the Manifest.xml file
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
回答1:
Per the Permissions that Imply Feature Requirements page, android.permission.CALL_PHONE
implies android.hardware.telephony
, which of course the Nexus 7 does not have. Make sure that telephony is not considered required by adding the following line to your Manifest:
<uses-feature android:name="android.hardware.telephony"
android:required="false" />
回答2:
Add below line in your supports-screens Tag,
android:anyDensity="true"
And add uses-feature Tag in manifest,
<uses-feature android:name="android.hardware.telephony" android:required="false"></uses-feature>
回答3:
I think perhaps the problem is that the App requesting permission to things that don't exist on Nexus 7 Tab.
This permission in your manifest implicitly declares the "android.hardware.telephony" feature. Nexus 7 Tab support this?
Refer to the document: http://developer.android.com/guide/topics/manifest/uses-feature-element.html#market-feature-filtering
<uses-permission android:name="android.permission.CALL_PHONE" />
Try this, keep the permission, but declare the "telephony" feature as false.
<uses-feature android:name="android.hardware.telephony" android:required="false"></uses-feature>
If it's not work, maybe you should change the "normalScreens" setting or "requiresSmallestWidthDp" setting and try again.
With the Open GL feature below,
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
This setting will exclude the devices not support OpenGL ES 2.0, but the GPU in Nexus 7 is ULP GeForce, which OpenGL ES Version is 2.0 .
来源:https://stackoverflow.com/questions/17267986/nexus-7-compatibility-issue