1

I have an app on the Amazon App Store, and it has recently come to my attention that users with the Kindle Fire HD are not seeing it on their store. It is available for the 1st-gen Kindle Fire, so I assume this is some kind of filtering on the part of the App Store. I'm guessing that something in my manifest is marking it as incompatible with the Fire HD, but I have no idea what that could be. Here is all of the relevant hardware configuration info from my manifest:

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

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

    <uses-feature android:name="android.hardware.touchscreen" >
    </uses-feature>

    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
    <uses-permission android:name="android.permission.READ_SYNC_STATS" />
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />

Can anyone see any problems there that might make Amazon think it is incompatible with the Fire HD?

Russell Stewart
  • 1,960
  • 4
  • 24
  • 31

2 Answers2

2

According to this Kindle Fire guide, you aren't supposed to use the READ_PHONE_STATE permission. Maybe your app got in before they started doing this check, but they apply it now to the new devices?

But if I were you'd I'd contact them and see if you can get the reason directly.

Carl Anderson
  • 3,446
  • 1
  • 25
  • 45
  • Yeah, we probably will be contacting them to get more information. But thank you for the links, and the suggestion. I have a feeling you're right about READ_PHONE_STATE. – Russell Stewart Nov 15 '13 at 02:25
2

Some permissions implicitly add specific <uses-feature> entries to your manifest. While READ_PHONE_STATE is not listed in the Google docs, MODIFY_PHONE_STATE is listed as one of the permissions that implicitly triggers the android.hardware.telephony feature, so I wouldn't be surprised if READ_PHONE_STATE also does the same. I would assume this is the reason why your app is filtered for the Kindle Fire HD. (And it should be filtered for the Kindle Fire as well, but I'd assume it used to not be and they don't want to change it for legacy reasons).

You can try resubmitting with either that permission removed, or adding an explicit line to mark the telephony feature as optional:

<uses-feature android:name="android.hardware.telephony" android:required="false" />
Franci Penov
  • 74,861
  • 18
  • 132
  • 169