【问题标题】:App not compatible with device on Google Play Store应用程序与 Google Play 商店中的设备不兼容
【发布时间】:2015-10-08 00:42:40
【问题描述】:

我的应用仅适用于手机,不适用于平板电脑。但是,使用以下清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.xxx.app" >

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <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.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

    <!--
      IMPORTANT: Change "com.parse.starter.permission.C2D_MESSAGE" in the lines below
      to match your app's package name + ".permission.C2D_MESSAGE".
    -->
    <permission android:protectionLevel="signature"
                android:name="com.xxx.app.permission.C2D_MESSAGE" />
    <uses-permission android:name="com.xxx.app.permission.C2D_MESSAGE" />

    <compatible-screens>
        <!-- all small size screens -->
        <screen android:screenSize="small" android:screenDensity="ldpi" />
        <screen android:screenSize="small" android:screenDensity="mdpi" />
        <screen android:screenSize="small" android:screenDensity="hdpi" />
        <screen android:screenSize="small" android:screenDensity="xhdpi" />
        <!-- 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" />
    </compatible-screens>

    <application

...
...
...
        <activity
            android:name=".ParseLogInUI.ParseLoginActivity"
            android:label="@string/app_name"
            android:launchMode="singleTop">
            <!-- For more options, see https://www.parse.com/docs/android_guide#ui-login -->
            <meta-data
                android:name="com.parse.ui.ParseLoginActivity.PARSE_LOGIN_ENABLED"
                android:value="true"/>
            <meta-data
                android:name="com.parse.ui.ParseLoginActivity.PARSE_LOGIN_EMAIL_AS_USERNAME"
                android:value="true"/>
        </activity>

        <service android:name=".DealsFromOurSponsors.AlarmService">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </service>
        <service android:name=".Geofences.UserTracker">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </service>
        <receiver android:name=".Geofences.LocalDealsBroadcastReceiver"/>
        <receiver android:process=":remote" android:name=".DealsFromOurSponsors.Alarm"/>



        <service android:name="com.parse.PushService" />
        <receiver android:name="com.parse.ParseBroadcastReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>
        <receiver android:name="com.parse.ParsePushBroadcastReceiver"
                  android:exported="false">
            <intent-filter>
                <action android:name="com.parse.push.intent.RECEIVE" />
                <action android:name="com.parse.push.intent.DELETE" />
                <action android:name="com.parse.push.intent.OPEN" />
            </intent-filter>
        </receiver>
        <receiver android:name="com.parse.GcmBroadcastReceiver"
                  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" />

                <!--
                  IMPORTANT: Change "com.parse.starter" to match your app's package name.
                -->
                <category android:name="com.xxx.app" />
            </intent-filter>
        </receiver>
        <meta-data android:name="com.parse.push.notification_icon" android:resource="@mipmap/ic_launcher"/>
    </application>

</manifest>

几乎我所有的 android 用户都告诉我它与他们的设备不兼容,或者他们在 google play 商店中找不到它。然而,在我的开发者控制台中的“合格设备”下,它说这些设备是受支持的(我有 7611 个受支持的设备)。

究竟出了什么问题?

【问题讨论】:

  • 您是否将列表仅限于某些国家/地区?
  • minsdk or sth like that in build gradle?
  • 不,所有国家。并且 build gradle 中的 minsdk 是 15,目标是 22。
  • 您找到问题了吗?如果有,可以分享一下吗?

标签: android google-play android-manifest screen-size


【解决方案1】:

请指定您的最低 sdk 版本和目标 sdk 版本,Google Play 商店直接引用清单文件中的这两个值,然后确定应用程序是否支持特定设备...

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="22" /

这里你的应用只能支持14个以上的API版本,如果14个以下的API版本的设备尝试在playstore上搜索那么你的应用就会显示在play store..只对14个以上的onwords API级别可见

【讨论】:

    【解决方案2】:

    这可能是因为您没有所有的密度。只需添加以下几行:

    <compatible-screens>
        <!-- small size screens -->
        <screen android:screenSize="small" android:screenDensity="ldpi" />
        <screen android:screenSize="small" android:screenDensity="mdpi" />
        <screen android:screenSize="small" android:screenDensity="hdpi" />
        <screen android:screenSize="small" android:screenDensity="xhdpi" />
        <screen android:screenSize="small" android:screenDensity="280" />
        <screen android:screenSize="small" android:screenDensity="360" />
        <screen android:screenSize="small" android:screenDensity="420" />
        <screen android:screenSize="small" android:screenDensity="480" />
        <screen android:screenSize="small" android:screenDensity="560" />
        <screen android:screenSize="small" android:screenDensity="640" />
        <!-- 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" />
        <screen android:screenSize="normal" android:screenDensity="280" />
        <screen android:screenSize="normal" android:screenDensity="360" />
        <screen android:screenSize="normal" android:screenDensity="420" />
        <screen android:screenSize="normal" android:screenDensity="560" />
        <screen android:screenSize="normal" android:screenDensity="640" />
    </compatible-screens>
    

    来源http://developer.android.com/guide/topics/manifest/compatible-screens-element.html

    【讨论】:

    • 什么是默认兼容屏幕尺寸列表?
    猜你喜欢
    • 2019-06-01
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    相关资源
    最近更新 更多