我正在使用firebase构建一个应用程序,但是遇到了Duplicate类错误。我检查了所有依赖项,但我无法弄清楚我在哪里有两个版本的firebase库。错误: 任务':app:transformClassesWithJarMergingForDebug'执行失败。
com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com / google / firebase / iid / zzb $ 1.class
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 25
buildToolsVersion '24.0.3'
defaultConfig {
applicationId "com.android.palmtickle"
minSdkVersion 14
targetSdkVersion 25
versionCode 1
versionName "1.0"
//Enabling multiDex support.
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories {
mavenCentral()
maven {
url 'http://dl.bintray.com/amulyakhare/maven'
}
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
compile('com.digits.sdk.android:digits:2.0.6@aar') {
transitive = true;
}
//support and app compatibility libs
compile 'com.android.support:appcompat-v7:25.3.0'
compile 'com.android.support:design:25.3.0'
compile 'com.android.support:cardview-v7:25.3.0'
compile 'com.android.support:recyclerview-v7:25.3.0'
compile 'com.android.support:support-v4:25.3.0'
compile 'com.google.code.gson:gson:2.7'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'de.hdodenhof:circleimageview:2.0.0'
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
compile 'com.wdullaer:materialdatetimepicker:2.1.1'
//entries related to firebase
compile 'com.google.firebase:firebase-auth:10.2.1'
compile 'com.google.firebase:firebase-database:10.2.1'
compile 'com.google.guava:guava-base:r03'
compile 'com.yalantis:ucrop:2.2.0-native'
}
我一直试图通过在Android Studio中搜索重复文件来解决这样的错误。当我在android studio中搜索类 zzb 时,我得到了一个jar firebase-iid-9.0.0 和所有其他10.2.1 firebase类。我无法找出注入此firebase-iid-9.0.0 jar的依赖项?有什么想法吗?
答案 0 :(得分:10)
尝试更新buildToolsVersion to 25.0.2
我今天面临同样的问题,我尝试使用
compile 'com.google.firebase:firebase-core:10.2.1'
compile 'com.google.firebase:firebase-messaging:10.2.1'
清理项目并重建项目
一切都很好
检查支持库是否在每个模块上都是版本25.3.0,并确保所有firebase模块都是10.2.1
答案 1 :(得分:7)
对我而言,与谷歌播放服务库和firebase库一起使用的版本号是依赖性问题。使用以下命令查看依赖关系树:
gradlew :app:dependencies
输出:
检查你的图书馆版本。这里的版本在左侧 - >请求版本和版本在右侧 - >是由gradle选择的版本。
所以我在应用级build.gradle文件中将我的Google Play服务库版本和firebase库版本更新为11.0.1。
compile "com.google.android.gms:play-services-location:11.0.1"
compile "com.google.android.gms:play-services-base:11.0.1"
compile "com.google.android.gms:play-services-maps:11.0.1"
compile 'com.google.firebase:firebase-crash:11.0.1'
compile 'com.google.firebase:firebase-core:11.0.1'
您可以看到Google Play服务库版本here