article

Leia@Amazon avatar image
Leia@Amazon posted

Why is a device saying it's incompatible with my manifest?   

Summary:

This is due to a specific set of features such as gyroscope sensors or specific screen resolutions being called out in your manifest that are not supported in the listed device.

For the most part, values in AndroidManifest.xml are explicit. However, some elements, such as [pre]CAMERA[/pre] or [pre]ACCESS_FINE_LOCATION CAMERA[/pre], create mandatory hardware requirements. Such requires are called implied features: Permissions. It's up to the developer to override these requirements, when they specifically don't need them. An example would be a banking app which uses the user's GPS coordinates to find nearby locations, but could also accept the user typing in a postal code. The developer must state uses-permission name=android.permission.ACCESS_FINE_LOCATION[pre]CAMERA[/pre] for the OS will grant access to the GPS radio, if present. However, this will also imply a uses-feature name=android.hardware.location.gps[pre]CAMERA[/pre], requiring the device have GPS. Since the developer provides a fallback mechanism (enter a postal code), this is an erroneous requirement.

You can view your APKs required permissions by installing the Android SDK, which includes the Android Asset Packaging tool, also called [pre]aapt[/pre], and running the following command:

$ aapt dump permissions PathToYourPackage.apk
amazon appstoreapp submission and updates
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Article

Contributors

Harper contributed to this article anshulporwal contributed to this article melodyamazon contributed to this article leia contributed to this article