Signed apk在google play store中有0个兼容性

时间:2016-01-29 03:01:30

标签: android android-gradle compatibility build.gradle google-play-developer-api

我已经在一个项目上工作了一段时间,我已经完成了,并准备将它发布到游戏商店。我能够通过调试模式将我的应用程序通过USB线部署到我的三星s4手机上。奇怪的是,当我生成签名的apk并将其发布到游戏商店时,我无法在手机上下载...这没有任何意义,因为我在测试时能够使用它...我问了我的朋友和他们经历了同样的事情。我看着我的开发者控制台,它说我的应用程序与市场上的LITERALLY 0手机兼容...所以我查了一下,我想也许我的清单搞砸了,所以这里是(我正在使用android studio btw ):

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

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_CONTACTS" />

<uses-feature android:name="android.hardware.CAMERA"/>

<application
    android:allowBackup="true"
    android:icon="@drawable/logo"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    android:name="android.support.multidex.MultiDexApplication"
    >
    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
    <activity
        android:name="XXXX"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
        android:screenOrientation="portrait"
        >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
        android:theme="@android:style/Theme.Translucent" />

    <activity android:name="com.facebook.FacebookActivity"
        android:configChanges=
            "keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"
        android:label="@string/app_name" />

    <provider android:authorities="com.facebook.app.FacebookContentProviderXXXX"
        android:name="com.facebook.FacebookContentProvider"
        android:exported="true" />
</application>

</manifest>

所以我发现清单中没有任何问题(也许有人可以纠正我),如果有人在测试应用程序时就不会在我的手机上运行。

所以我为我的应用程序使用了很多外部库,这是列表:

1)facebook api 2)twitter api 3)金鱼草 4)谷歌播放服务

我还必须使用multidex(正如你在清单中看到的那样),因为代码超过了64k行代码。以下是build.gradle的样子:

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "xxxx"
    minSdkVersion 16
    targetSdkVersion 23
    versionCode 3
    versionName "1.2"
    multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
sourceSets { main { java.srcDirs = ['src/main/java', 'libs'] } }
 }

 repositories {
     mavenCentral()
    maven { url 'https://maven.fabric.io/public' }
 }

 dependencies {
    compile 'com.android.support:multidex:1.0.0'
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.facebook.android:facebook-android-sdk:4.+'
    compile('com.twitter.sdk.android:tweet-composer:1.0.2@aar') {
        transitive = true;
    }
 }

我对gradle是全新的,所以我不确定它是否设置正确所以可能存在gradle本身或者其他问题。任何人都有任何建议我可以做什么?

1 个答案:

答案 0 :(得分:1)

我在清单中将相机功能更改为必需的假,并且这样做了。当我在开发者控制台上传apk时,它说支持8k +设备。另外清单是inccorect,当你把use-features标签放在一起时,确保照相机全部小写而不是像我一样大写。