Search code examples
androidnexus-7

Nexus 7 incompatible because of manifest settings


my app doesn't show up on the Nexus 7. the play store console shows for the Nexus 7 in the devices list:

Unsupported devices due to your manifest settings:

Nexus 7(grouper)"

my manifest looks like this:

...

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="14">
</uses-sdk>

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.android.vending.BILLING" />

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<compatible-screens>
    <screen android:screenSize="normal" android:screenDensity="mdpi"/>
    <screen android:screenSize="normal" android:screenDensity="hdpi"/>
    <screen android:screenSize="normal" android:screenDensity="xhdpi"/>

    <screen android:screenSize="large" android:screenDensity="ldpi"/>
    <screen android:screenSize="large" android:screenDensity="mdpi"/>
    <screen android:screenSize="large" android:screenDensity="hdpi"/>
    <screen android:screenSize="large" android:screenDensity="xhdpi"/>

    <screen android:screenSize="xlarge" android:screenDensity="ldpi"/>
    <screen android:screenSize="xlarge" android:screenDensity="mdpi"/>
    <screen android:screenSize="xlarge" android:screenDensity="hdpi"/>
    <screen android:screenSize="xlarge" android:screenDensity="xhdpi"/>
</compatible-screens>

...

I do not require a camera which seems to be the case for the usual incompatibility issues. I am not using the supports-screens entry ( I want to exclude all small screen devices, as well as ldpi normal devices and this is not possible using the supports-screens entry AFAIK).

any idea what could be thr problem?

one interesting detail might be that the nexus 7 reports having DENSITY_TV (213dpi). However, "tv" is not a possible value for the android:screenDensity tag.

EDIT: developer console reports the following required permissions:

Permissions: 
android.permission.INTERNET, 
android.permission.ACCESS_NETWORK_STATE, 
android.permission.WAKE_LOCK, 
android.permission.READ_PHONE_STATE, 
android.permission.WRITE_EXTERNAL_STORAGE, 
com.android.vending.BILLING, 
android.permission.ACCESS_WIFI_STATE

Features: 
android.hardware.screen.landscape, 
android.hardware.touchscreen, 
android.hardware.wifi

Solution

  • This is indeed true, you cannot add "tvdpi" to the manifest. There is a workaround though, if you enter "213" instead, which as you have pointed out is the dpi value of the density, eclipse will be happy with it and you will also have your application showing up on nexus 7 devices.