我正在尝试构建我的项目的签名Apk,我收到以下错误:
Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/common/internal/zzv$zza$zza.class
当我选择调试版本类型时,我没有错误,一切正常。我搜索了一段时间来解决这个问题,但我没有发现任何有用的东西。
我的build.gradle:
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "com.danielsous.demos"
minSdkVersion 14
targetSdkVersion 24
multiDexEnabled true
}
buildTypes {
release {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
}
}
dependencies {
compile files('libs/scanditsdk-android-4.7.5.jar')
compile 'com.android.support:support-v4:24.2.1'
compile 'com.github.attenzione:android-ColorPickerPreference:e3aa301016'
compile 'com.google.firebase:firebase-messaging:9.4.0'
compile 'com.google.code.gson:gson:2.7'
}
另一个build.gradle:
// 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.3'
classpath 'com.google.gms:google-services:3.0.0'
}
}
allprojects {
repositories {
jcenter()
maven {
url "https://jitpack.io"
}
}
}
答案 0 :(得分:1)
"您似乎至少有一个已与GMS捆绑的图书馆" 每次遇到重复输入错误时都会运行./gradlew app:dependencies并确保没有相同模块的重复版本。例如:在我的情况下,我有:
compile 'com.google.android.gms:play-services-gcm:9.0.0'
When I tried to use firebase in my project I add it like:
compile 'com.google.firebase:firebase-core:9.+'
compile 'com.google.firebase:firebase-messaging:9.+'
当我导航到:app&gt;时,这会导致我的应用崩溃构建&gt; <中间体>爆炸的aar&gt; com.google.android.gms其中一个文件夹(play-services-basement)提取版本9.4.0而不是9.0.0所以我所做的是通过添加firebase来解析版本,如:
compile 'com.google.firebase:firebase-core:9.0.0'
compile 'com.google.firebase:firebase-messaging:9.0.0'
理论上你可以通过将firebase推到9.4.0来解决这个问题。
答案 1 :(得分:0)
我有一个库和一个由aar文件制作的第二个库,其中包含多个具有相同名称的资源(具有相同名称的pngs文件,具有相同ID的字符串,具有相同文件的布局)。删除aar库修复了我的问题