Search code examples
androidapkmanifestgoogle-play

How to figure out why an Android device is not compatible with an APK


In the Google Play Developer Console I can check which devices are compatible/supported for my APK. How do I find out why a device is unsupported?

For example, the Google Nexus 7 "tilapia" and "grouper" are not supported. But Nexus 7, Google Nexus 7 "deb" and Google Nexus 7 "flo" are supported.

Is there a way to know which feature in the manifest is causing the problem?

Features:

  • android.hardware.CAMERA
  • android.hardware.LOCATION
  • android.hardware.location.GPS
  • android.hardware.location.NETWORK
  • android.hardware.screen.LANDSCAPE
  • android.hardware.TOUCHSCREEN

API Level 10+


Solution

  • On AndroidManifest.xml:

        <uses-permission
            android:name="android.permission.CAMERA"
            android:required="false"/>
    
        <uses-feature
            android:name="android.hardware.camera"
            android:required="false"/>
    
        <uses-feature
            android:name="android.hardware.camera.front"
            android:required="false"/>
    
        <uses-feature
            android:name="android.hardware.camera.autofocus"
            android:required="false"/>
    

    This should help. By default, declared permission are required. Nexus 7 (2012) doesn't have front camera, that's why this device isn't compatible.

    http://developer.android.com/distribute/googleplay/quality/tablet.html#hardware-requirements