Android问题:com.android.builder.packaging.DuplicateFileException

今天在写Android关于RxJava引用的时候,出了一个问题:

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: C:\Users\Admin.gradle\caches\modules-2\files-2.1\io.reactivex\rxjava\1.2.7\138872ff3173fb7bee8b1d6303d6edb57d76599\rxjava-1.2.7.jar
File2: C:\Users\Admin.gradle\caches\modules-2\files-2.1\io.reactivex.rxjava2\rxjava\2.0.0\5151c737c01616c372c3d00ab145868ede10e826\rxjava-2.0.0.jar

大致知道是jar包引用的问题,由于之前引用过 RxJava1.x的jar和 RxJava2.x的jar,于是初步猜测是后来Rxjava2.x的jar没有删除干净,于是查看app依赖:
这里写图片描述
这里写图片描述
里面并没有RxJava2.x的引用,于是就各种查找,最后终于找到解决方案
只需要在 app的gradle中加一下配置:

packagingOptions{
exclude 'META-INF/rxjava.properties'
}

具体添加的位置是:

android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
//...
}
buildTypes {
release {
//...
}
}
packagingOptions{
exclude 'META-INF/rxjava.properties'
}
}

ok,希望给遇到相同问题的同学一个指引,谢谢诶!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值