重复引入Duplicate files copied in APK META-INF

本文介绍了解决Android项目中因重复引入RxJava而导致的Duplicatefiles异常的方法。通过分析错误日志,发现两个不同版本的RxJava被包含在APK的META-INF目录下。文章提供了具体的解决方案,即在build.gradle文件中使用packagingOptions来排除冲突的文件。

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

项目问题:重复引入第三方jar包,导致Duplicate files copied in APK META-INF

Paste_Image.png

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/rxjava.properties
    File1: /Users/chenshouyin/.gradle/caches/modules-2/files-2.1/io.reactivex.rxjava2/rxjava/2.0.1/57f850a6b317e5582f1dbaff10a9e7d7e1fcdcfb/rxjava-2.0.1.jar
    File2: /Users/chenshouyin/.gradle/caches/modules-2/files-2.1/io.reactivex/rxjava/1.2.1/4e4cfa4adc74521d5966799fa5ab70b733552f68/rxjava-1.2.1.jar
   
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

很明显,这里是引入了二次rxjava,但是笔者配置文件里面引用了一个啊?!

compile 'io.reactivex.rxjava2:rxjava:2.0.1'
   
  • 1
  • 1

分享原因是引入了第三方库,第三方库里面又引入了

rxjava-1.2.1.jar
   
  • 1
  • 1

解决办法是添加

packagingOptions { 
exclude ‘META-INF/替换为有冲突的依赖’ 
}

Paste_Image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值