Application is incompatible with tablets

时间秒杀一切 提交于 2019-12-20 04:20:12

问题


I have a project created in Xamarin Studio that seems to have some problems when I publish in Google Play:

When the application is published, I can install in phones normally, but when I try to access the application in Google Play through a tablet it says the application is incompatible with the device.

I'm new to android development, so I have some questions about this... I tried to had the compatible screens in the application manifest:

<?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="my.package.name" android:versionName="1.0.0" android:versionCode="42">
    <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="21" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <permission android:protectionLevel="signature" android:name="my.package.name.permission.C2D_MESSAGE" />
    <uses-permission android:name="my.package.name.permission.C2D_MESSAGE" />
    <application android:label="MyApplication" android:icon="@drawable/Icon" android:theme="@android:style/Theme.NoTitleBar">
    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/FacebookAppID" />
    <activity android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="@string/ApplicationName" />
    <service android:name="parse.ParsePushService" />
    <receiver android:name="parse.ParsePushBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
            <category android:name="my.package.name" />
        </intent-filter>
    </receiver>
    </application>
    <compatible-screens>
        <!--all normal size screens -->
        <screen android:screenSize="normal" android:screenDensity="ldpi" />
        <screen android:screenSize="normal" android:screenDensity="mdpi" />
        <screen android:screenSize="normal" android:screenDensity="hdpi" />
        <screen android:screenSize="normal" android:screenDensity="xhdpi" />
        <!-- all large size screens -->
        <screen android:screenSize="large" android:screenDensity="ldpi" />
        <screen android:screenSize="large" android:screenDensity="mdpi" />
        <screen android:screenSize="large" android:screenDensity="hdpi" />
        <screen android:screenSize="large" android:screenDensity="xhdpi" />
        <!-- all xlarge size screens -->
        <screen android:screenSize="xlarge" android:screenDensity="ldpi" />
        <screen android:screenSize="xlarge" android:screenDensity="mdpi" />
        <screen android:screenSize="xlarge" android:screenDensity="hdpi" />
        <screen android:screenSize="xlarge" android:screenDensity="xhdpi" />
        <!-- Special case for Nexus 7 -->
        <screen android:screenSize="large" android:screenDensity="213" />
     </compatible-screens>
</manifest>

I received some email's that the tablets weren't compatible, so I tried 1 physical tablet and 2 virtual tablets and they really weren't compatible.

Do I need to had something else? Or the problem is in Google Play Developer Console?


回答1:


I am just going to post everything I said as an answer. The order I put these in does not correlate with importance.

You should not need to use the <compatible-screens> unless your app should only run on certain screens.

In my manifest, I have added the following, though this may not be required for you:

<uses-feature android:name="android.hardware.screen.portrait" android:required="false" />
<uses-feature android:name="android.hardware.screen.landscape" android:required="false" />

I would look in the Google Dev Console and make sure you are not excluding devices and maybe look to see if any Tablets are in the supported devices list. I have 80 if I search 'Tablet'.

Finally, make sure you are at least checking the following architectures: armeabi-v7a and x86. armeabi is deprecated and you could do the other two but we do not since we use LLVM compiling in release mode, which is not compatible with the 64 bit architectures. The good thing about that is that all of the 64 bit architectures can still use 32 bit builds so they all still get covered if you check those 3.



来源:https://stackoverflow.com/questions/36155309/application-is-incompatible-with-tablets

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!