本周早些时候我遇到了一个问题。当我尝试进行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
}
感谢您的帮助。我一直有这个问题。我无法在任何其他堆栈溢出问题中找到答案。再次感谢。
答案 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)
答案 2 :(得分:0)
似乎BaseGameUtils模块导致了问题。我不知道为什么要重新开始,并且由于某种原因替换BaseGameUtils就可以了,并且错误不再显示了。感谢您解决问题的所有帮助。