Android发布版

时间:2016-06-08 21:40:57

标签: java android android-studio build.gradle

本周早些时候我遇到了一个问题。当我尝试进行Android发布时,它似乎显示以下错误 -

  

错误:任务':app:transformClassesWithJarMergingForRelease'执行失败。   com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com / google / android / gms / internal / zzjm.class

我想知道我是如何得到这个错误以及如何修复它的。好像问题出现在build.gradle文件中。他们在这里 -

应用级别 -

    apply plugin: 'com.android.application'



android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.unknown.app"
        minSdkVersion 13
        targetSdkVersion 23
        versionCode 20
        versionName "2.34"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':BaseGameUtils')
    testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.google.firebase:firebase-ads:9.0.2'
compile ('com.google.android.gms:play-services:9.0.2'){
    exclude group: 'com.google.android.gms.play-services-ads'
}

    compile project(path: ':BaseGameUtils')
}


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

这是顶级 -

  // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'
        classpath 'com.google.gms:google-services:3.0.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

感谢您的帮助。我一直有这个问题。我无法在任何其他堆栈溢出问题中找到答案。再次感谢。

3 个答案:

答案 0 :(得分:2)

错误解释了,这意味着它找到了两个相同的库

compile 'com.google.android.gms:play-services:9.0.2'
compile 'com.google.android.gms:play-services-ads:9.0.2'
compile 'com.google.android.gms:play-services-identity:9.0.2'
compile 'com.google.android.gms:play-services-gcm:9.0.2'

通过包含com.google.android.gms:play-services:9.0.2您实际上包含所有播放服务库,请将其删除,您应该没问题或删除其他人"在它下面"。

答案 1 :(得分:1)

你包括了 ' com.google.firebase:火力的广告:9.0.2'  和 ' com.google.android.gms:发挥服务的广告:9.0.2' 但是firebase已经包含了第二个库,所以你不必包含这个,只需使用来自firebase的广告库

答案 2 :(得分:0)

似乎BaseGameUtils模块导致了问题。我不知道为什么要重新开始,并且由于某种原因替换BaseGameUtils就可以了,并且错误不再显示了。感谢您解决问题的所有帮助。