生成签名APK错误:将字节码转换为dex和另外1个错误

时间:2016-07-16 14:01:11

标签: android android-studio android-gradle

当我清理/重建我的项目甚至运行应用程序时,它不会返回任何错误。但是当我生成签名APK时,它会返回两个错误。

Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzox;

这一个

    Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/internal/zzd.class

以下是build.gradle文件中的代码。

apply plugin: 'com.android.application'


android {
    compileSdkVersion 24
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.wildlife.dbd"
        minSdkVersion 16
        targetSdkVersion 24
        versionCode 10
        versionName "2.2.2"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

apply plugin: 'com.google.gms.google-services'

dependencies
{
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:24.0.0'
    compile 'com.android.support:design:24.0.0'

    // FB Ads
    compile 'com.facebook.android:audience-network-sdk:4.10.0'

    // Analytics
    compile 'com.google.android.gms:play-services-analytics:9.0.0'
}

1 个答案:

答案 0 :(得分:3)

Facebook观众网络也将提供播放服务,因此您必须将其排除在外:

我不记得Facebook的依赖是什么,因此您的“分析”行可能不够完整,观众网络无法正常运行。您可能希望添加如下所示的整个播放服务:compile 'com.google.android.gms:play-services:9.2.1',并删除分析。

或者如果你能确切地看到Facebook需要哪些依赖关系,你可以抓住正确的here

compile ('com.facebook.android:audience-network-sdk:4.10.0') {
    exclude group: 'com.google.android.gms'
}