Gradle 添加 google-api-client 时构建失败并出现重复项
Gradle build fails with duplicates when adding google-api-client
我正在向需要 google-api-client 的项目添加代码,当我通过 gradle 依赖项添加它时,出现重复错误。
这里是gradle依赖列表
dependencies {
compile 'com.adobe.creativesdk:image:4.0.0'
// compile project(':showcaseView')
compile project(':facebook')
compile project(':SwipeMenuListView')
compile 'com.android.support:multidex:1.0.0'
compile 'com.android.support:design:22.2.0'
compile 'com.google.code.gson:gson:2.3.1'
compile 'com.google.android.gms:play-services:7.5.+'
compile 'com.google.android.gms:play-services-appinvite:7.5.0'
compile 'org.apache.httpcomponents:httpmime:4.3.6'
compile 'org.apache.httpcomponents:httpcore:4.3.3'
compile 'commons-codec:commons-codec:1.9'
compile 'commons-io:commons-io:2.4'
compile 'com.google.gdata:core:1.47.1'
compile files('libs/tape-1.1.0.jar')
compile files('libs/gdata-photos-meta-2.0.jar')
compile 'com.google.api-client:google-api-client:1.20.0'
// compile 'com.google.http-client:google-http-client:1.20.0'
// compile files('libs/android-oauth-client-0.4.5.jar')
}
这是我收到的错误
Execution failed for task ':FloomIt:packageAllDebugClassesForMultiDex'.
> java.util.zip.ZipException: duplicate entry: com/google/common/collect/package-info.class
如果我从依赖项列表中删除 google-api-client 行,错误就会消失。
对如何进行有什么建议吗?
那是因为com.google.api-client:google-api-client
依赖于com.google.guava:guava-jdk5
,而com.google.gdata:core
依赖于com.google.guava:guava
。 JDK5分裂是不幸的。
Gradle 允许您覆盖依赖项。尝试用类似的东西替换 gdata 依赖项:
compile('com.google.gdata:core:1.47.1') {
exclude group: 'com.google.guava', module: 'guava'
}
我正在向需要 google-api-client 的项目添加代码,当我通过 gradle 依赖项添加它时,出现重复错误。
这里是gradle依赖列表
dependencies {
compile 'com.adobe.creativesdk:image:4.0.0'
// compile project(':showcaseView')
compile project(':facebook')
compile project(':SwipeMenuListView')
compile 'com.android.support:multidex:1.0.0'
compile 'com.android.support:design:22.2.0'
compile 'com.google.code.gson:gson:2.3.1'
compile 'com.google.android.gms:play-services:7.5.+'
compile 'com.google.android.gms:play-services-appinvite:7.5.0'
compile 'org.apache.httpcomponents:httpmime:4.3.6'
compile 'org.apache.httpcomponents:httpcore:4.3.3'
compile 'commons-codec:commons-codec:1.9'
compile 'commons-io:commons-io:2.4'
compile 'com.google.gdata:core:1.47.1'
compile files('libs/tape-1.1.0.jar')
compile files('libs/gdata-photos-meta-2.0.jar')
compile 'com.google.api-client:google-api-client:1.20.0'
// compile 'com.google.http-client:google-http-client:1.20.0'
// compile files('libs/android-oauth-client-0.4.5.jar')
}
这是我收到的错误
Execution failed for task ':FloomIt:packageAllDebugClassesForMultiDex'.
> java.util.zip.ZipException: duplicate entry: com/google/common/collect/package-info.class
如果我从依赖项列表中删除 google-api-client 行,错误就会消失。
对如何进行有什么建议吗?
那是因为com.google.api-client:google-api-client
依赖于com.google.guava:guava-jdk5
,而com.google.gdata:core
依赖于com.google.guava:guava
。 JDK5分裂是不幸的。
Gradle 允许您覆盖依赖项。尝试用类似的东西替换 gdata 依赖项:
compile('com.google.gdata:core:1.47.1') {
exclude group: 'com.google.guava', module: 'guava'
}