Android APK在PlayStore中提交3000+设备不兼容

时间:2014-10-29 18:22:30

标签: android google-play

当我将我的apk发布到Play商店时,该应用程序与4400+设备兼容,但与3000 + 不兼容,包括一些众所周知的设备,如三星Galaxy S4。 我在这里读到:https://support.google.com/googleplay/android-developer/answer/1727131?hl=fr Google Play商店基于清单文件(主要是)的兼容性测试。

所以我在可用时添加了一些属性,如required="false",但apk兼容性没有改变。

这是Android Manifest:

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

    <uses-permission android:name="android.permission.INTERNET"                 android:required="true"/>
    <uses-permission android:name="android.permission.ACCES_INTERNET"           android:required="true"/>
    <uses-permission android:name="android.permission.ACCESS_LOCATION"          android:required="false"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"   android:required="false" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"     android:required="false"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"     />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"   android:required="false"/>

    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>


    <application
        android:name="MidipileApplication"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:logo="@drawable/ab_logo"
        android:label="@string/app_name"
        android:theme="@style/MidipileTheme" >

        <uses-library android:name="com.google.android.maps" ></uses-library>

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>

        <meta-data
            android:name="com.facebook.sdk.ApplicationId"
            android:value="@string/app_id"/>


        <!--android:screenOrientation="portrait"-->
        <activity
            android:name=".activities.HomeActivity"
            android:windowSoftInputMode="adjustPan"
            android:screenOrientation="portrait"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name="com.facebook.LoginActivity"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:label="@string/app_name" >
        </activity>


        <receiver android:name=".broadcastreceiver.ParticipateNotificationBroadcastReceiver" >

        </receiver>

    </application>

</manifest>

显然Play商店没有说明为什么设备不兼容(或者我是盲人)

更新:添加build.gradle示例 更新2:31/10/2014:更新build.gradle示例

android {
    compileSdkVersion 19
    buildToolsVersion '19.1.0'
    defaultConfig {
        applicationId 'fr.creads.midipile'
        minSdkVersion 11
        targetSdkVersion 20
        versionCode 1
        versionName '1.04'
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            debuggable true
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:20.0.0'
    compile 'com.google.code.gson:gson:2.3'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.2'
    compile 'com.squareup.retrofit:retrofit:1.6.1'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
    compile 'com.squareup.okhttp:okhttp:2.0.0'
    compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'
    compile 'com.google.android.gms:play-services:6.1.71'
    compile 'com.google.guava:guava:18.0'
    compile 'com.github.johnpersano:supertoasts:1.3.4@aar'
    compile project(':facebook')
    compile project(':simple.facebook-2.1')
}

顺便说一句,我搜索了OPENGL ES VERSION 2是否是问题,但显然不是:

  

截至2013/12/20,Android Dashboard显示大约100%   设备现在支持OpenGL 2.0+,所以这个答案已不复存在   相关。您可能只需要清单中的OpenGL ES 2.0+。

来源:Android Maps API requires openGL es 2

更新2:在APK上播放商店信息:

功能:

  • android.hardware.LOCATION
  • android.hardware.location.GPS
  • android.hardware.location.NETWORK
  • android.hardware.screen.PORTRAIT
  • android.hardware.TOUCHSCREEN

授权:

  • android.permission.ACCES_INTERNET
  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_LOCATION
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.INTERNET对
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE
  • com.google.android.providers.gsf.permission.READ_GSERVICES

我已更新播放服务以使用6.1但风格4500设备兼容。三星和其他公司(如Galaxy S4&amp; s5)的许多产品不兼容..

更新3 :删除<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:required="false"/> 我已将兼容设备增加到5100

3 个答案:

答案 0 :(得分:0)

如果您使用Android Studio,请查看app文件夹中的build.gradle文件。有minSdkVersion,它决定兼容。

答案 1 :(得分:0)

Hey Buddy你错过了最低SDK版本目标sdk和max sdk。将以下内容添加到清单中以定位更多设备。

 <uses-sdk android:minSdkVersion="integer"
              android:targetSdkVersion="integer"
              android:maxSdkVersion="integer" />

答案 2 :(得分:0)

由于您的android:glEsVersion="0x00020000"

中有属性:AndroidManifest.xml
  

OpenGL ES 2.0 - Android 2.2支持此API规范   (API级别8)及更高级别。 OpenGL ES 2.0 API类   android.opengl.GLES20 - 这个包提供了OpenGL的接口   ES 2.0,从Android 2.2(API级别8)开始提供。

android_Muncher一样指出,不要忘记将android:minSdkVersionandroid:targetSdkVersion设置为AndroidManifest.xml