TransformException为common.annotations.Beta重复条目

我开始添加google-api-services-calendar 。 试图构build时遇到此错误:

 Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. com.android.build.transform.api.TransformException: java.util.zip.ZipException: duplicate entry: com/google/common/annotations/Beta.class 

这是运行./gradlew app:dependencies时输出的一部分./gradlew app:dependencies

 compile - Classpath for compiling the main sources. +--- com.google.android.gms:play-services-measurement:8.1.0 | +--- com.google.android.gms:play-services-base:8.1.0 | | \--- com.google.android.gms:play-services-basement:8.1.0 | | \--- com.android.support:support-v4:22.2.0 -> 23.0.1 | | \--- com.android.support:support-annotations:23.0.1 | \--- com.google.android.gms:play-services-analytics:8.1.0 | +--- com.google.android.gms:play-services-basement:8.1.0 (*) | \--- com.google.android.gms:play-services-ads:8.1.0 | +--- com.google.android.gms:play-services-basement:8.1.0 (*) | \--- com.google.android.gms:play-services-appindexing:8.1.0 | \--- com.google.android.gms:play-services-basement:8.1.0 (*) +--- com.google.dagger:dagger:2.0 | \--- javax.inject:javax.inject:1 +--- com.google.android.gms:play-services-identity:8.1.0 | \--- com.google.android.gms:play-services-base:8.1.0 (*) +--- com.google.android.gms:play-services-plus:8.1.0 | \--- com.google.android.gms:play-services-base:8.1.0 (*) +--- com.google.android.gms:play-services:8.1.0 | +--- com.google.android.gms:play-services-ads:8.1.0 (*) | +--- com.google.android.gms:play-services-analytics:8.1.0 (*) | +--- com.google.android.gms:play-services-appindexing:8.1.0 (*) | +--- com.google.android.gms:play-services-appinvite:8.1.0 | | \--- com.google.android.gms:play-services-base:8.1.0 (*) | +--- com.google.android.gms:play-services-appstate:8.1.0 | | \--- com.google.android.gms:play-services-base:8.1.0 (*) | +--- com.google.android.gms:play-services-base:8.1.0 (*) | +--- com.google.android.gms:play-services-basement:8.1.0 (*) | +--- com.google.android.gms:play-services-cast:8.1.0 | | +--- com.google.android.gms:play-services-base:8.1.0 (*) | | \--- com.android.support:mediarouter-v7:22.2.0 | | \--- com.android.support:appcompat-v7:22.2.0 -> 23.0.1 | | \--- com.android.support:support-v4:23.0.1 (*) | +--- com.google.android.gms:play-services-drive:8.1.0 | | \--- com.google.android.gms:play-services-base:8.1.0 (*) | +--- com.google.android.gms:play-services-fitness:8.1.0 | | +--- com.google.android.gms:play-services-base:8.1.0 (*) | | \--- com.google.android.gms:play-services-location:8.1.0 | | +--- com.google.android.gms:play-services-base:8.1.0 (*) | | \--- com.google.android.gms:play-services-maps:8.1.0 | | \--- com.google.android.gms:play-services-base:8.1.0 (*) | +--- com.google.android.gms:play-services-games:8.1.0 | | +--- com.google.android.gms:play-services-base:8.1.0 (*) | | \--- com.google.android.gms:play-services-drive:8.1.0 (*) | +--- com.google.android.gms:play-services-gcm:8.1.0 | | \--- com.google.android.gms:play-services-base:8.1.0 (*) | +--- com.google.android.gms:play-services-identity:8.1.0 (*) | +--- com.google.android.gms:play-services-location:8.1.0 (*) | +--- com.google.android.gms:play-services-maps:8.1.0 (*) | +--- com.google.android.gms:play-services-measurement:8.1.0 (*) | +--- com.google.android.gms:play-services-nearby:8.1.0 | | \--- com.google.android.gms:play-services-base:8.1.0 (*) | +--- com.google.android.gms:play-services-panorama:8.1.0 | | \--- com.google.android.gms:play-services-base:8.1.0 (*) | +--- com.google.android.gms:play-services-plus:8.1.0 (*) | +--- com.google.android.gms:play-services-safetynet:8.1.0 | | \--- com.google.android.gms:play-services-base:8.1.0 (*) | +--- com.google.android.gms:play-services-vision:8.1.0 | | \--- com.google.android.gms:play-services-base:8.1.0 (*) | +--- com.google.android.gms:play-services-wallet:8.1.0 | | +--- com.google.android.gms:play-services-base:8.1.0 (*) | | +--- com.google.android.gms:play-services-identity:8.1.0 (*) | | \--- com.google.android.gms:play-services-maps:8.1.0 (*) | \--- com.google.android.gms:play-services-wearable:8.1.0 | \--- com.google.android.gms:play-services-base:8.1.0 (*) +--- com.google.guava:guava:18.0 +--- com.google.maps.android:android-maps-utils:0.4 +--- com.google.apis:google-api-services-calendar:v3-rev125-1.20.0 | \--- com.google.api-client:google-api-client:1.20.0 | +--- com.google.oauth-client:google-oauth-client:1.20.0 | | +--- com.google.http-client:google-http-client:1.20.0 | | | \--- com.google.code.findbugs:jsr305:1.3.9 | | \--- com.google.code.findbugs:jsr305:1.3.9 | +--- com.google.http-client:google-http-client-jackson2:1.20.0 | | +--- com.google.http-client:google-http-client:1.20.0 (*) | | \--- com.fasterxml.jackson.core:jackson-core:2.1.3 -> 2.2.2 | \--- com.google.guava:guava-jdk5:13.0 +--- com.android.support:design:23.0.1 | +--- com.android.support:support-v4:23.0.1 (*) | \--- com.android.support:appcompat-v7:23.0.1 (*) +--- com.android.support:recyclerview-v7:23.0.1 | +--- com.android.support:support-v4:23.0.1 (*) | \--- com.android.support:support-annotations:23.0.1 +--- com.android.support:cardview-v7:23.0.1 +--- com.android.support:palette-v7:23.0.1 | \--- com.android.support:support-v4:23.0.1 (*) +--- com.android.support:appcompat-v7:22.2.0 -> 23.0.1 (*) +--- com.android.support:support-v4:22.2.0 -> 23.0.1 (*) +--- com.firebase:firebase-client-android:2.3.1 | \--- com.firebase:firebase-client-jvm:2.3.1 | +--- com.fasterxml.jackson.core:jackson-databind:2.2.2 | | +--- com.fasterxml.jackson.core:jackson-annotations:2.2.2 | | \--- com.fasterxml.jackson.core:jackson-core:2.2.2 | \--- com.firebase:tubesock:0.0.11 +--- com.firebase:firebase-client-jvm:2.3.0 -> 2.3.1 (*) +--- net.danlew:android.joda:2.8.0 | \--- joda-time:joda-time:2.8 +--- org.joda:joda-convert:1.2 +--- com.squareup:otto:1.3.5 +--- com.jakewharton:butterknife:7.0.1 +--- org.apache.commons:commons-lang3:3.4 +--- org.apache.commons:commons-collections4:4.0 \--- com.bignerdranch.android:expandablerecyclerview:1.0.3 \--- com.android.support:recyclerview-v7:22.2.0 -> 23.0.1 (*) 

我已经尝试添加到我所有的依赖项:

 compile (some.dependencie.that.may.or.may.not.have.the.duplicate){ exclude group: 'com.google.common', module: 'annotations' } 

我试着把这个添加到我的android块:

 configurations { all*.exclude group: 'com.google.common', module: 'annotations' } 

与这些变化:

  all*.exclude module: 'annotations` all*.exclude group: 'com.google.common' all*.exclude group: 'com.google.common.annotations' 

修复错误之前,这是build.gradle

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) // Google compile 'com.google.dagger:dagger:2.0' apt 'com.google.dagger:dagger-compiler:2.0' compile 'com.google.android.gms:play-services-identity:8.1.0' compile 'com.google.android.gms:play-services-plus:8.1.0' compile 'com.google.android.gms:play-services:8.1.0' compile 'com.google.guava:guava:18.0' compile 'com.google.maps.android:android-maps-utils:0.4' compile('com.google.apis:google-api-services-calendar:v3-rev125-1.20.0') { exclude group: 'org.apache.httpcomponents', module: 'httpclient' } // Android Design compile 'com.android.support:design:23.0.1' compile 'com.android.support:recyclerview-v7:23.0.1' compile 'com.android.support:cardview-v7:23.0.1' compile 'com.android.support:palette-v7:23.0.1' // Android Support compile('com.android.support:appcompat-v7:22.2.0') { exclude group: 'org.apache.httpcomponents', module: 'httpclient' } compile('com.android.support:support-v4:22.2.0') { exclude group: 'org.apache.httpcomponents', module: 'httpclient' } // Firebase compile('com.firebase:firebase-client-android:2.3.1') { exclude group: 'org.apache.httpcomponents', module: 'httpclient' } compile('com.firebase:firebase-client-jvm:2.3.0') { exclude group: 'org.apache.httpcomponents', module: 'httpclient' } // Joda Time compile 'net.danlew:android.joda:2.8.0' compile 'org.joda:joda-convert:1.2' // Square compile 'com.squareup:otto:1.3.5' compile 'com.jakewharton:butterknife:7.0.1' provided 'javax.annotation:jsr250-api:1.0' // Common compile 'org.apache.commons:commons-lang3:3.4' compile 'org.apache.commons:commons-collections4:4.0' compile 'com.bignerdranch.android:expandablerecyclerview:1.0.3' } 

我已经在我的项目中search了Beta.class ,发现它只被用在一些jar子里; com.google.common.annotationscom.google.api.client.utildagger.internal 。 我试图将exclude group添加到这些相关的依赖关系,仍然看到相同的错误。

我被困在这里太久了。 有什么build议么?

从播放服务相关的依赖关系中排除group: 'com.google.guava'

例如:

 compile ('com.google.android.gms:play-services:8.1.0'){ exclude group: 'com.google.guava' } 

PS在得到你的错误之前,我遇到了很多不同的问题,所以我的最终依赖列表是:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) // Google compile 'com.google.dagger:dagger:2.0' apt 'com.google.dagger:dagger-compiler:2.0' compile ('com.google.android.gms:play-services-identity:8.1.0'){ exclude group: 'com.google.guava' } compile ('com.google.android.gms:play-services-plus:8.1.0'){ exclude group: 'com.google.guava' } compile ('com.google.android.gms:play-services:8.1.0'){ exclude group: 'com.google.guava' } compile 'com.google.guava:guava:18.0' compile 'com.google.maps.android:android-maps-utils:0.4' compile('com.google.apis:google-api-services-calendar:v3-rev125-1.20.0') { exclude group: 'org.apache.httpcomponents' exclude group: 'com.android.support' exclude module: 'support-annotations' exclude group: 'com.google.guava' } // Android Design compile ('com.android.support:design:23.0.1'){ exclude group: 'com.android.support' } compile ('com.android.support:recyclerview-v7:23.0.1') { exclude group: 'com.android.support' } compile 'com.android.support:cardview-v7:23.0.1' compile ('com.android.support:palette-v7:23.0.1'){ exclude group: 'com.android.support' } // Android Support compile('com.android.support:appcompat-v7:22.2.0') { exclude group: 'org.apache.httpcomponents', module: 'httpclient' exclude group: 'com.android.support' } compile 'com.android.support:support-annotations:23.0.1' compile('com.android.support:support-v4:22.2.0') { exclude group: 'org.apache.httpcomponents', module: 'httpclient' exclude module: 'support-annotations' } // Firebase compile('com.firebase:firebase-client-android:2.3.1') { exclude group: 'org.apache.httpcomponents', module: 'httpclient' } compile('com.firebase:firebase-client-jvm:2.3.0') { exclude group: 'org.apache.httpcomponents', module: 'httpclient' } // Joda Time compile 'net.danlew:android.joda:2.8.0' compile 'org.joda:joda-convert:1.2' // Square compile 'com.squareup:otto:1.3.5' compile 'com.jakewharton:butterknife:7.0.1' provided 'javax.annotation:jsr250-api:1.0' // Common compile 'org.apache.commons:commons-lang3:3.4' compile 'org.apache.commons:commons-collections4:4.0' compile ('com.bignerdranch.android:expandablerecyclerview:1.0.3'){ exclude group: 'com.android.support' } } 

当我的应用程序模块和库模块中有不同版本的播放服务库时,出现此错误。

我发现原因是configuration不正确的dagger-compiler

 compile 'com.google.dagger:dagger-compiler:2.1' 

我所做的是修改项目“build.gradle:

 buildscript { dependencies { classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' } } 

后来的应用程序build.gradle:

首先,添加插件:

 apply plugin: 'com.neenbedankt.android-apt' 

稍后将依赖关系修改为:

 apt "com.google.dagger:dagger-compiler:2.1"