Reputation: 21254
I can't install my app from Google Play on Nexus 7. It tells me that the device is not supported and in the unsupported devices I see a lot of tablets, even though I can install directly the .apk on the device and it works at native size.
The minSdkVersion is 7, I've tried with targetSdkVersion 8 and 17 and the result is the same.
What I'm doing wrong?
Is it because of any uses-permission?
UPDATE:The least of all permissions:
<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="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Upvotes: 0
Views: 1238
Reputation: 21254
I had to add some <uses-feature>
IMPORTANT: everything must be lower case. Initially I've tried with upper case, as in class declaration, but it doesn't work
<uses-feature android:name="android.hardware.telephony" 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.location.gps" android:required="false" />
android.hardware.telephony
is enough to make it work on Nexus 7/10 and all those tablets.
Upvotes: 0
Reputation: 3453
It is typically due to use permissions in the manifest that aren't declared as not required. (i.e. android:required="false"). In my personal experience, permissions involving cameras are normally the culprit
More information straight from the developer page:
If you request a hardware-related permission — CAMERA, for example — Google Play assumes that your application requires the underlying hardware feature and filters the application from devices that do not offer it.
To control filtering, always explicitly declare hardware features in elements, rather than relying on Google Play to "discover" the requirements in elements. Then, if you want to disable filtering for a particular feature, you can add a android:required="false" attribute to the declaration.
Upvotes: 3