项目报错: 截图
image.png
报错信息:
* What went wrong:
Execution failed for task ':elonEngine:transformResourcesWithMergeJavaResForRelease'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE
File1: E:\ade\studio\NewBaiDriver\elonEngine\libs\log4j-1.2.15.jar
File2: E:\ade\studio\NewBaiDriver\elonEngine\libs\log4j-core-2.0-beta9.jar
注意: elonEngine 项目是我们项目中的依赖项目;
这里先贴一下项目中用到的依赖项目的lib中的jar:
依赖项目的lib中的jar
解析一下报错的意思:
报错处是两个jar包: log4j-1.2.15.jar 和 log4j-core-2.0-beta9.jar;
elonEngine 项目的 transformResourcesWithMergeJavaResForRelease 这条 task 执行报错了;
错误是 TransformException (转换异常);
发生转换异常的原因是 Duplicate File Exception: Duplicate files copied in APK META-INF/LICENSE;
既文件重复异常, 到这里我们就知道了, elonEngine项目里出现了重复的文件;
这里studio直接给出了重复的文件是META-INF/LICENSE, 我们过滤重复即可;
在报错的依赖项目 elonEngine 的 build.gradle 中的 android 节点下添加如下代码:
//为了解决部分第三方库重复打包了META-INF的问题
android {
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/LICENSE'
}
}
网友评论