如何在运行项目Firebase电话身份验证时修复此错误



我使用此依赖项

compile 'com.google.firebase:firebase-auth:11.4.2'
Error:

错误:任务":app:transformResourcesWithMergeJavaResForDebug"的执行失败。

com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: 在 APK META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.properties 中复制的重复文件 文件1: C:\Users\Usman.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.2.2\d20be6a5ddd6f8cfd36ebf6dea329873a1c41f1b\jackson-core-2.2.2.jar File2: D:\eRozgaar\app\build\intermediates\exploded-aar\com.google.android.gms\play-services-basement\11.4.2\jars\classes.jar

我的build.gradil是:

 apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"

defaultConfig {
    applicationId "com.example.usman.erozgaar"
    minSdkVersion 21
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'),  
        'proguard-rules.pro'
    }
}
packagingOptions
        {
    exclude 'META-INF/DEPENDENCIES.txt'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/notice.txt'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/dependencies.txt'
    exclude 'META-INF/LGPL2.1'
      }
    }
dependencies {
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.firebase:firebase-client-android:2.5.2+'
compile 'com.google.firebase:firebase-core:11.4.2'
compile 'com.android.volley:volley:1.0.0'
//    compile 'com.google.firebase:firebase-core:10.0.1'
//    compile 'com.firebase:firebase-ui-storage:0.6.0'
compile 'com.google.firebase:firebase-auth:11.4.2'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.google.firebase:firebase-database:11.0.1'
compile 'com.google.firebase:firebase-storage:11.0.1'
}
您可以

尝试将以下行添加到应用build.gradle的底部、android {}内和dependencies {}下方。

packagingOptions {
    exclude 'META-INF/maven'
}

这将在构建过程中删除不必要的文件,这应该可以防止由合并依赖项引起的重复文件异常。

参见: com.android.builder.packaging.DuplicateFileException: 复制在 APK META-INF/maven/com.fasterxml.jackson.core/jackson-databind/pom 中的重复文件.xml

我的问题的解决方案是

packagingOptions 
{
exclude 'META-INF/maven/com.fasterxml.jackson.core/jackson-
core/pom.properties'
exclude 'META-INF/services/com.fasterxml.jackson.core.JsonFactory'
exclude 'META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.xml'
}

从错误消息复制重复文件链接并过去

packagingOptions 
{ 
 exclude 'past here copied file link'
}