java - Gradle 构建失败 - APK META-INF 中复制的重复文件

标签 java android gradle android-gradle-plugin

我一进入elasticsearch依赖项就收到此错误,

编译“org.elasticsearch.client:transport:5.0.0”

详细错误日志:

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDevDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/io.netty.versions.properties
    File1: C:\Users\Dell\.gradle\caches\modules-2\files-2.1\io.netty\netty-buffer\4.1.5.Final\b5fb6bccda4d63d4a74c9faccdf32f77ab66abc1\netty-buffer-4.1.5.Final.jar
    File2: C:\Users\Dell\.gradle\caches\modules-2\files-2.1\io.netty\netty-handler\4.1.5.Final\6262900ee9487e62560030a136160df953b1cd6b\netty-handler-4.1.5.Final.jar
    File3: C:\Users\Dell\.gradle\caches\modules-2\files-2.1\io.netty\netty-transport\4.1.5.Final\37126b370722ff9631ee13c91139aacec0a71d1d\netty-transport-4.1.5.Final.jar
    File4: C:\Users\Dell\.gradle\caches\modules-2\files-2.1\io.netty\netty-codec-http\4.1.5.Final\87bda1b9ec7e3f75ca721fc87735cbedad2aa1a\netty-codec-http-4.1.5.Final.jar
    File5: C:\Users\Dell\.gradle\caches\modules-2\files-2.1\io.netty\netty-resolver\4.1.5.Final\5f367bedcdc185a727fda3296b9a18014cdc22c4\netty-resolver-4.1.5.Final.jar
    File6: C:\Users\Dell\.gradle\caches\modules-2\files-2.1\io.netty\netty-codec\4.1.5.Final\66bbf9324fa36467d041083f89328e2a24ec4f67\netty-codec-4.1.5.Final.jar
    File7: C:\Users\Dell\.gradle\caches\modules-2\files-2.1\io.netty\netty-common\4.1.5.Final\607f8433d8782445e72abe34e43a7e57e86a5e6c\netty-common-4.1.5.Final.jar

Gradle 文件:

    apply plugin: 'com.android.application'
    apply plugin: 'com.neenbedankt.android-apt'

    android {
        compileSdkVersion 25
        buildToolsVersion '25.0.3'

        defaultConfig {
            applicationId "..."
            minSdkVersion 18
            targetSdkVersion 25
            versionCode 6
            versionName "20170616.06"
            multiDexEnabled true
            ndk {
                abiFilter "armeabi-v7a"
            }

        }

        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                //    signingConfig signingConfigs.release
            }
        }
        productFlavors {
            dev {
                applicationId "..."
                minSdkVersion 21
            }
            prod {
                applicationId "..."
            }
        }
        packagingOptions {
            exclude 'META-INF/LICENSE'
            exclude 'META-INF/DEPENDENCIES'
            exclude 'META-INF/LICENSE-FIREBASE.txt'
            exclude 'META-INF/NOTICE'
            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'

        }
        lintOptions {
            abortOnError false
        }
    }
    repositories {
        jcenter()
        maven { url "https://dl.bintray.com/drummer-aidan/maven" }
        mavenCentral()
    }
    configurations {
        compile.exclude group: "org.apache.httpcomponents", module: "httpclient"
    }
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        // https://mvnrepository.com/artifact/commons-io/commons-io
        compile group: 'commons-io', name: 'commons-io', version: '2.4'

        compile 'com.android.support:appcompat-v7:' + rootProject.ext.supportLibraryVersion
        compile 'com.android.support:cardview-v7:' + rootProject.ext.supportLibraryVersion
        compile 'com.android.support:recyclerview-v7:' + rootProject.ext.supportLibraryVersion
        compile 'com.android.support:support-v4:' + rootProject.ext.supportLibraryVersion
        compile 'com.android.support:design:' + rootProject.ext.supportLibraryVersion
        compile 'com.android.support:percent:' + rootProject.ext.supportLibraryVersion
        compile 'com.android.support:animated-vector-drawable:' + rootProject.ext.supportLibraryVersion
        compile 'com.android.support:support-annotations:' + rootProject.ext.supportLibraryVersion
        compile 'com.android.support:support-compat:' + rootProject.ext.supportLibraryVersion
        compile 'com.android.support:support-core-ui:' + rootProject.ext.supportLibraryVersion
        compile 'com.android.support:support-v13:' + rootProject.ext.supportLibraryVersion
        compile 'com.android.support:support-v4:' + rootProject.ext.supportLibraryVersion'        

        compile 'com.google.firebase:firebase-storage:' + rootProject.ext.firebaseVersion
        compile 'com.google.firebase:firebase-common:' + rootProject.ext.firebaseVersion
        compile 'com.google.firebase:firebase-auth:' + rootProject.ext.firebaseVersion
        compile 'com.google.firebase:firebase-database:' + rootProject.ext.firebaseVersion
        compile 'com.google.firebase:firebase-crash:' + rootProject.ext.firebaseVersion
        compile 'com.google.firebase:firebase-core:' + rootProject.ext.firebaseVersion
        // this line must be included to integrate with Firebase
        compile 'com.google.firebase:firebase-messaging:' + rootProject.ext.firebaseVersion
        // this line must be included to use FCM
        compile 'com.google.firebase:firebase-ads:' + rootProject.ext.firebaseVersion

        compile 'com.google.android.gms:play-services-auth:' + rootProject.ext.firebaseVersion
        compile 'com.google.android.gms:play-services-plus:' + rootProject.ext.firebaseVersion
        compile 'com.google.android.gms:play-services-location:' + rootProject.ext.firebaseVersion
        compile 'com.google.android.gms:play-services-places:' + rootProject.ext.firebaseVersion


    compile "im.ene.toro2:toro-ext-exoplayer2:${toroVersion}"
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'


    compile 'com.jakewharton:butterknife:' + rootProject.ext.butterknifeVersion
    apt 'com.jakewharton:butterknife-compiler:' + rootProject.ext.butterknifeVersion

    //RxAndroid
    compile 'io.reactivex:rxandroid:' + rootProject.ext.rxandroidVersion
    compile 'io.reactivex:rxjava:' + rootProject.ext.rxjavaVersion
    compile 'com.squareup.retrofit2:adapter-rxjava:' + rootProject.ext.retroRxAdapterVersion
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.google.firebase:firebase-auth:10.0.1'
    compile 'com.firebaseui:firebase-ui-database:0.4.0'
    compile 'com.google.firebase:firebase-invites:10.2.1'
    compile 'com.firebase:firebase-client-android:2.5.2+'
    compile 'com.facebook.android:facebook-android-sdk:[4,5)'
    compile 'com.android.support:multidex:1.0.1'
    compile 'pub.devrel:easypermissions:0.1.5'
    compile 'com.github.bumptech.glide:glide:3.6.0'
    compile 'de.hdodenhof:circleimageview:2.0.0'
    compile 'com.fasterxml.jackson.core:jackson-databind:2.7.3'
    compile 'com.danikula:videocache:2.6.4'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.dinuscxj:circleprogressbar:1.1.1'
    compile 'com.afollestad.material-dialogs:core:0.9.4.5'
    compile 'com.afollestad:easyvideoplayer:0.3.0'
    compile 'com.googlecode.mp4parser:isoparser:1.1.22'
    compile 'javax.inject:javax.inject:1'
    compile 'com.google.firebase:firebase-storage:10.0.1'
    testCompile 'junit:junit:4.12'
    compile 'com.google.api-client:google-api-client:1.21.0'
    compile 'com.google.apis:google-api-services-people:v1-rev2-1.21.0'
    compile 'org.elasticsearch.client:transport:5.0.0'

    compile project(':ffmpeg4android_lib')

}


apply plugin: 'com.google.gms.google-services'

PS:SO上已经有很多类似的帖子,但没有一个对我有帮助

有人可以帮我解决这个问题吗?另外,请告诉我解决这些问题的通用方法。

最佳答案

在android部分添加下面的代码

packagingOptions {
    pickFirst  'META-INF/*'
}

关于java - Gradle 构建失败 - APK META-INF 中复制的重复文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44781477/

相关文章:

android - 功能未实现 nodejs xmpp android

java - 如何获取项目并从方法内部调用其 "compile"方法?

java - 使用 Kotlin 构建 Guava 依赖打破 Jar

java - 为 int-jdbc 指定支持 XSD 时出现 "spring-integration-2.0.xsd"错误

java - 使用 jersey 和 spring 在 REST 中服务的空指针

Java 相当于 .net 回收

java - android.app.Application 无法转换 Yamba 应用程序?

java - 我无法在 setOnClickListener() 中 Toast 变量值

java - 从 Jenkins 运行 Android 模拟器以使用 Robotium 运行 Junit 测试

android - Gradle 和 proguard : could not find method runProguard() for arguments [true]