当我使用Firebase时,我总是面临这个错误!
Error:FAILURE: Build failed with an exception.
出了什么问题:
任务执行失败':app:transformResourcesWithMergeJavaResForDebug'。 com.android.build.api.transform.TransformException:com.android.builder.packaging.DuplicateFileException:在APK META-INF / LICENSE中复制的重复文件 File1:C:\ Users \ e171x.gradle \ caches \ modules-2 \ files-2.1 \ com.fasterxml.jackson.core \ jackson-core \ 2.2.2 \ d20be6a5ddd6f8cfd36ebf6dea329873a1c41f1b \ jackson-core-2.2.2.jar File2:C:\ Users \ e171x.gradle \ _caches \ modules-2 \ files-2.1 \ com.fasterxml.jackson.core \ jackson-databind \ 2.2.2 \ 3c8f6018eaa72d43b261181e801e6f8676c16ef6 \ jackson-databind-2.2.2.jar File3:C:\ Users \ e171x.gradle \ caches \ modules-2 \ files-2.1 \ com.fasterxml.jackson.core \ jackson-annotations \ 2.2.2 \ 285cb9c666f0f0f3dd8a1be04e1f457eb7b15113 \ jackson-annotations-2.2.2.jar
尝试:
使用--stacktrace
选项运行以获取堆栈跟踪。使用--debug
选项运行以获得更多日志输出。
不允许模拟器运行
我的应用程序gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "com.example.e171x.testingonline"
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.google.firebase:firebase-crash:9.8.0'
compile 'com.google.firebase:firebase-database:9.8.0'
compile 'com.google.firebase:firebase-auth:9.8.0'
compile 'com.firebase:firebase-client-android:2.3.1'
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
答案 0 :(得分:2)
看起来您正在添加一个JAR,即来自多个模块的jackson-core-2.2.2.jar
。如果您使用的是Android Studio,请检查每个模块的build.gradle
个文件,以检查复制的位置。您可以根据依赖关系链将其保留在可从所有模块访问的位置。
替换:
compile 'com.firebase:firebase-client-android:2.3.1'
使用:
compile('com.firebase:firebase-client-android:2.3.1', {
exclude group: 'com.fasterxml.jackson.core', module: 'jackson-bind'
exclude group: 'com.fasterxml.jackson.core', module: 'jackson-annotations'
exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core'
})
答案 1 :(得分:1)
您不应在同一个应用中同时使用旧版Firebase SDK com.firebase:firebase-client-android:2.3.1
和新9.x.x SDK的库。它们不兼容并且会相互干扰。移除com.firebase:firebase-client-android:2.3.1
并阅读Firebase Upgrade Guide以获取有关代码更改的提示。