Java common.annotations.Beta 的 TransformException 重复条目
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/32878676/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
TransformException duplicate entry for common.annotations.Beta
提问by Chad Bingham
This started when I added google-api-services-calendar
. I am getting this error when trying to build:
当我添加google-api-services-calendar
. 尝试构建时出现此错误:
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
This is part of the output when running ./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-Hymanson2:1.20.0
| | +--- com.google.http-client:google-http-client:1.20.0 (*)
| | \--- com.fasterxml.Hymanson.core:Hymanson-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.Hymanson.core:Hymanson-databind:2.2.2
| | +--- com.fasterxml.Hymanson.core:Hymanson-annotations:2.2.2
| | \--- com.fasterxml.Hymanson.core:Hymanson-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 (*)
I have tried adding this to allmy dependencies:
我尝试将其添加到我的所有依赖项中:
compile (some.dependencie.that.may.or.may.not.have.the.duplicate){
exclude group: 'com.google.common', module: 'annotations'
}
I tried adding this to my android
block:
我尝试将其添加到我的android
块中:
configurations {
all*.exclude group: 'com.google.common', module: 'annotations'
}
with these variations:
有这些变化:
all*.exclude module: 'annotations`
all*.exclude group: 'com.google.common'
all*.exclude group: 'com.google.common.annotations'
This is the build.gradle
beforeany attempts to fix error:
这是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'
}
I have searched my project for Beta.class
and found that it is only being used in some jars; com.google.common.annotations
, com.google.api.client.util
and dagger.internal
. I tried to add the exclude group
to those related dependencies and still see the same error.
我搜索了我的项目Beta.class
,发现它只在一些 jars 中使用;com.google.common.annotations
,com.google.api.client.util
和dagger.internal
。我试图将exclude group
这些添加到那些相关的依赖项中,但仍然看到相同的错误。
I have been stuck here for way too long. Any suggestions?
我被困在这里太久了。有什么建议?
采纳答案by Oleksandr
Exclude group: 'com.google.guava'
from play services related dependencies.
group: 'com.google.guava'
从播放服务相关的依赖项中排除。
For example:
例如:
compile ('com.google.android.gms:play-services:8.1.0'){
exclude group: 'com.google.guava'
}
P.S. Before getting your error I've faced with a lot of different, so my final dependencies list is:
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'
}
}
回答by Pawe? Szczur
I found the reason to be the incorrectly configured dagger-compiler
:
我发现原因是配置不正确dagger-compiler
:
compile 'com.google.dagger:dagger-compiler:2.1'
What I had done is to modify project' build.gradle:
我所做的是修改项目'build.gradle:
buildscript {
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
And later the application build.gradle:
然后是应用程序 build.gradle:
First, add plugin:
首先,添加插件:
apply plugin: 'com.neenbedankt.android-apt'
And later modify the dependency to:
稍后将依赖项修改为:
apt "com.google.dagger:dagger-compiler:2.1"
回答by Vasudev
I got this error when I had different versions of play services libs in my app module and a library module.
当我的应用程序模块和库模块中有不同版本的播放服务库时,我收到此错误。