Search code examples
androidandroid-manifestgoogle-playandroid-market-filtering

Android app compatibility issue on Nook HD+ and Asus TF300T


I have a weird App compatibility issue. As per the Developer console, my app seems to be compatible and available on the Nook HD+ and Asus TF300T. It shows a "Green" checkmark against these two.

However, two users have gotten back saying that the Play Store shows my app as incompatible with their device.

This is what I have:

<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.RECORD_AUDIO" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<uses-feature
    android:name="android.hardware.microphone"
    android:required="false" />
<uses-feature android:name="android.hardware.touchscreen" android:required="true" />

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

<application android:name="{application_class}"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity...

Any idea what could be wrong?


Solution

  • Think I figured out the reason:

    aapt dump badging <myapk>
    supports-screens: 'small' 'normal' 'large'
    

    I was surprised that xlarge is missing from the above supports-screens. And of course, Nook HD+ and Asus TF300T are >9in devices! So this may be the reason.

    Now I have explicitly added the following in my manifest and aapt shows xlarge:

    <supports-screens android:smallScreens="true"
     android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" />
    

    xlargeScreens was introduced in API 9 and MAYBE this is why xlarge was false by default? Weirdly, the dev console shows it as supported.

    Now off to test it against the user's device.