When viewing my app in Google Play on my ASUS Transformer tablet I see the following message
Your device isn't compatible with this version
Here is my manifest file.
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true"
android:versionCode="3"
android:versionName="1.0.2"
android:windowSoftInputMode="adjustPan"
package="com.sheffieldlentinepc.sentenceestimator"
xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<!-- Required permission to check licensing. -->
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="18" />
<application
android:hardwareAccelerated="true"
android:icon="@drawable/icon"
android:label="@string/app_name">
<activity
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
android:label="@string/app_name"
android:name="SentenceEstimator"
android:theme="@android:style/Theme.Black.NoTitleBar"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Is there anything in my manifest that would cause this device to be incompatible?
OK I got it! My situation:
Originally a phone only app
re-designed for tablet optimization
I thought marking this permission to
required="false"
was all I needed since tablets don't have phones.<uses-permission android:name="android.permission.CALL_PHONE" **android:required="false"** />
My confusion was the
<uses-permission/>
and<uses-feature/>
after reading this over for the 10th time I finally caught it. http://developer.android.com/distribute/googleplay/quality/tablet.html#hardware-requirementsI needed to explicitly add
<uses-feature android:name="android.hardware.telephony" android:required="false" />
to my manifest.upload to to developer console and you should see the number of "supported devices" jump, 541 devices in my case.
Of course if you have features that require phone use you need to handle it appropriately at run-time for devices that don't have phone.
Adding
<uses-feature android:name="android.hardware.telephony" android:required="false" />
to the manifest added support for your AsusTransformer TF101G too!I hope this helps someone else!