Android – Google Play issue: “your device isn’t compatible with this version”

At some point in the last few months changes were made to either or both the ADT plugin for Eclipse and Google Play that rendered my most recent Android application updates “incompatible” with tablets.
After doing a bit of research, I was able to locate 3 items that after adjusting in my applications resolved the new “compatibility” issue with my applications distributed through Google Play on tablets.

1) I added the below lines to the AndroidManifest.xml file. The lines explicitly declare support for all screen sizes, especially the xlargeScreens for tablets.

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

2) Adjusted the section of the AndroidManifest.xml file from:

<uses-sdk android:minSdkVersion="4" targetSdkVersion="8"/>

to

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

3) Ensured that there was a drawable-xhdpi folder under the res directory that at least had the Android application icon.

After making these three changes, Google Play restored “compatible” for my applications with tablets.

The most frustrating part of the experience is that Google Play gives no indication during the application upload and publishing process that it will prevent tablets from using the application.Due to this lack of transparency, the issue can’t be identified until the application update has already been published and made public for users on tablets.

Update on June 3rd 2013: For the next update to the applications, I might try adding back in the targetSdkVersion to see whether or not that impacts tablet support in Google Play. As mentioned in the comment below, and I do agree, that removing/adding targetSdkVersion shouldn’t impact tablet support.

3 Comments on “Android – Google Play issue: “your device isn’t compatible with this version”

  1. Why would you need to remove targetSdkVersion=”8″ ? Android is supposed to apply compatibility code to handle the higher OS versions on devices. If this changes the devices on which an app is available, isn’t that an error on Google Play?

    Also, if an app’s code depends upon having a menu button, that change will cause the three-vertical-dot menu button (supplied by compatibility code to apps having a targetSdkVersion less than 11) to disappear from your app, and if the app does not have code to detect the version (or detect the absence of related API methods through reflection) and replace that menu’s functionality, then the user could be deprived of the functionality implemented by the app’s menus.

  2. Haven’t had a chance to review and test all the questions raised, but the compatibility menu is still present after removing targetSdkVersion=8 from the AndroidManifest.xml.

  3. The compatibility menu would be present, because if targetSdkVersion isn’t set, it defaults to the minSdkVersion, which is currently 4.

    If the targetSdkVersion (or the minSdkVersion if not using targetSdkVersion) is above 10, then some devices will not show the compatibility menu. Above 13 and I think ALL devices will not show the compatibility menu. This is mostly a problem for devices which have software menu buttons rather than built-in menu buttons, since I think the built-in ones still work fine.

Leave a Reply

Your email address will not be published. Required fields are marked *

*