Google Play - Your device isn't compatible wit

2019-04-12 10:12发布

问题:

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?

回答1:

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-requirements

I 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!