Search code examples
androidandroid-manifestandroid-market-filtering

App won't install on Tablet in market


I'm having trouble getting my app to install on a tablet through the market. Note I'm not using Honeycomb as the app is primarily for a phone. Previousdly I was using level 7 but now changed it to level 10 (2.3.3) to support xlargeScreens. The app installs on my tablet via adb and works great but its not possible to install through the market.

I've read several posts on SO and thought my manifest is correct after adding the supports-screen property.

Here are the most important parts of my manifest:

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

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

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Any idea where I'm going wrong?

Thanks in advance.


Solution

  • it's probably your android.permission.MODIFY_PHONE_STATE.

    check this official issue that is specific to 2.3+

    http://code.google.com/p/android/issues/detail?id=15031

    The MODIFY_PHONE_STATE permission was marked as "for system use only" in Android 2.3.
    
    While this was never intended for developers and publicly endorsed by Google, there are hundreds of apps in the marketplace using it. Unfortunately, a seemingly innocent checking by the Android folks has now crippled many popular apps for Android 2.3+. 
    
    This is an ENHANCEMENT request that you:
    
     1. Restore the MODIFY_PHONE_STATE permission for Android 2.3.x 
     2. Create a proper Telephony API for Android 2.3+ (at which time you can remove the MODIFY_PHONE_STATE permission)