Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. > com.android.bui

在开发项目中导入jar包后编译报错:

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE
File1: C:\Users\Administrator\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.8.5\60d059f5d2930ccd1ef03535b713fd9f933d1ba7\jackson-core-2.8.5.jar
File2: C:\Users\Administrator\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.8.0\45b426f7796b741035581a176744d91090e2e6fb\jackson-annotations-2.8.0.jar

File3: C:\Users\Administrator\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.8.5\b3035f37e674c04dafe36a660c3815cc59f764e2\jackson-databind-2.8.5.jar


观察错误提示后得到错误原因:

因为多个 jar 包里包含了同样的文件(LICENSE.txt),导致打包时因为担心相互覆盖问题而提示出错。

尝试下在 app 下的 build.gradle 中的 android 部分增加一段配置,如下面这段代码所示:

packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'  //这里找到你自己错的那行,把Duplicate files copied in APK后面的复制上来
    }

代码的具体位置上图已有,重新编译就ok了


猜你喜欢

转载自blog.csdn.net/shenggaofei/article/details/80350547
今日推荐