Reputation: 191
I have an application that suddenly (today) became incompatible with a device it was working on just fine. The app is Dragon Lords and the device is Samsung Galaxy Tab 2. Anyone have an idea what could have happened here?
The last apk was uploaded 2 months ago and everything was working fine. Today I had a player report that in the market the app is incompatible with his device. I checked on my Galaxy Tab 2 and it's the same story. My device is not rooted so I really have no idea what happened.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:installLocation="auto"
package="mds.DragonLords"
android:versionCode="25"
android:versionName="1.2.19" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
>
<activity
android:configChanges="keyboardHidden|orientation"
android:name="com.tapjoy.TJCOffersWebView" />
<activity
android:configChanges="keyboardHidden|orientation"
android:name="com.tapjoy.TapjoyFeaturedAppWebView" />
<activity
android:configChanges="keyboardHidden|orientation"
android:name="com.tapjoy.TapjoyVideoView" />
<activity
android:configChanges="keyboardHidden|orientation"
android:label="@string/app_name"
android:name="mds.DragonLords.nowe.Splash"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".nowe.Tester" >
</activity>
<activity
android:configChanges="keyboardHidden|orientation"
android:label="@string/app_name"
android:name="mds.DragonLords.nowe.Main"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
</activity>
<service android:name="mds.DragonLords.nowe.billing.BillingService"/>
<receiver android:name="mds.DragonLords.nowe.billing.BillingReceiver">
<intent-filter >
<action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
<action android:name="com.android.vending.billing.RESPONSE_CODE" />
<action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED"/>
</intent-filter>
</receiver>
</application>
</manifest>
Upvotes: 2
Views: 1478
Reputation: 200080
Your manifest has
<uses-permission android:name="android.permission.READ_PHONE_STATE">
That permission automatically assumes you use the android.hardware.telephony
feature (as only phones have READ_PHONE_STATE
). Per the Optimizing for Android 3.0/Tablets document, your application will show as incompatible if you have the android.hardware.telephony
feature required. Add the line
<uses-feature android:name="android.hardware.telephony" android:required="false" />
To ensure devices without telephony will still show as compatible. Make sure that your application properly handles devices without telephony (as attempting to read the phone state will crash those devices).
Upvotes: 5