Duplicate files copied in APK META-INF/services/javax.annotation.processing.Processor

在编译时报了以下错误:


> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/services/javax.annotation.processing.Processor
File1: C:\Users\admin\.gradle\caches\modules-2\files-2.1\com.google.auto.service\auto-service\1.0-rc2\51033a5b8fcf7039159e35b6878f106ccd5fb35f\auto-service-1.0-rc2.jar
File2: C:\Users\admin\.gradle\caches\modules-2\files-2.1\com.jakewharton\butterknife-compiler\8.4.0\22f40cd3f01849c6deeab0a755d2082b2624581\butterknife-compiler-8.4.0.jar


重复的文件异常

出现这个问题是因为butterknife 与gradle 同时引用了annotation。


我的依赖关系是这样的:


dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
    // ButterKnife
    compile 'com.jakewharton:butterknife:8.4.0'
    compile 'com.jakewharton:butterknife-compiler:8.4.0'
    // Glide
    compile 'com.github.bumptech.glide:glide:3.7.0'
}


解决办法:

在build.gradle中做以下处理:

android{

packagingOptions {  

        exclude 'META-INF/services/javax.annotation.processing.Processor'  

    }

}

即从gradle中排除该文件,仅保留butterknife中的对应文件。





©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页