美文网首页
transformResourcesWithMergeJavaR

transformResourcesWithMergeJavaR

作者: geaosu | 来源:发表于2019-08-22 15:05 被阅读0次

项目报错: 截图


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'
    }
}

相关文章

网友评论

      本文标题:transformResourcesWithMergeJavaR

      本文链接:https://www.haomeiwen.com/subject/oumnsctx.html