Android开发 com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-.

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\Vincent\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.4.3\feff63199be7b8f495c2f3e2096dcb6bd5e5b0b3\jackson-databind-2.4.3.jar
    File2: C:\Users\Vincent\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.4.0\d6a66c7a5f01cf500377bd669507a08cfeba882a\jackson-annotations-2.4.0.jar
    File3: C:\Users\Vincent\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.4.3\4cb3dbb0c2f75b51aa7543c53252989785a0c609\jackson-core-2.4.3.jar

这里写图片描述

解决方案:
在app的build.gradle的android{}中添加:

     packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }

这里写图片描述

出现"duplicate class androidx.annotation.animres found in modules annotation-1.5."的错误提示,意味着在Android项目的依赖中,出现了重复的类。 这个错误通常是由于项目中引入的两个或多个库依赖中,都出现了相同的类名的冲突所引起的。 解决这个问题的方法有以下几种: 1. 通过检查项目的依赖关系,找到重复的库依赖并移除其中一个。可以在项目的build.gradle文件中查找引入的库依赖,然后逐个排查可能存在重复的库依赖。 例如,可能出现的情况是: dependencies { implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'androidx.appcompat:appcompat:1.0.0' //其他依赖项 } 由于上述两个依赖库都包含了相同的类名androidx.annotation.animres,因此会出现冲突错误。需要选择其中一个库依赖,并将其移除,以消除冲突。 2. 更新库依赖版本。有时,重复类冲突是由于库依赖版本不一致造成的。可以尝试升级或降级某个库依赖的版本,以解决冲突。 3. 使用gradle的exclude功能,排除重复的类。可以在库依赖的声明中添加exclude操作,排除重复的类。 例如: implementation('com.android.support:appcompat-v7:28.0.0') { exclude group: 'androidx.annotation' } 在这种情况下,将排除appcompat-v7库中的androidx.annotation包,以解决冲突。 总之,通过检查项目的依赖关系,移除重复的库依赖、更新库依赖版本或使用gradle的exclude功能,可以解决"duplicate class"错误导致的冲突问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值