Error:Execution failed for task ':testPic:transformResourcesWithMergeJavaResForDebug'.

本文介绍了在Android项目中加入httpmime-4.0.jar和apache-mime4j-0.6.jar后出现的APKMETA-INF/DEPENDENCIES重复文件错误,并提供了一种有效的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在项目中加入了httpmime-4.0.jar和apache-mime4j-0.6.jar两个包后,运行时就出现了下面的错误:

Error:Execution failed for task ':testPic:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/DEPENDENCIES
File1: E:\androidstudio\StorageSystem\testPic\libs\apache-mime4j-0.6.jar
File2: E:\androidstudio\StorageSystem\testPic\libs\httpmime-4.0.jar

错误截图如下:


开始在网上找了解决办法:

放下如下:

看起来是因为多个 jar 包里包含了同样的文件(NOTICE.txt),导致打包时因为担心相互覆盖问题而提示出错。 尝试下在 app 下的 build.gradle 中的 android 部分增加一段配置,如下面这段代码所示:

packagingOptions {

exclude 'META-INF/LICENSE'

exclude 'META-INF/NOTICE'

}

这样试过了,还是没有解决问题。

最后仔细检查了一下发现:错误是出现在in APK META-INF/DEPENDENCIES,也就是DEPENDENCIES文件。所以build.gradle 中增加的配置如下:

packagingOptions {
    exclude 'META-INF/NOTICE' // will not include NOTICE file
    exclude 'META-INF/LICENSE' // will not include LICENSE file
    exclude 'META-INF/DEPENDENCIES' // will not include LICENSE file
}

所以大家要根据自己错误的实际情况来看。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值