问题集锦——(一)Android Studio的Gradle添加重复依赖的问题

当Module和app.build.gradle中存在重复依赖时,运行Android Studio项目会报错。解决方案是通过exclude group来移除特定库,例如针对'nineoldandroids2.4.0.jar'的冲突,排除'com.nineoldandroids'库,但此方法无法排除libs文件夹中的jar包。

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

报错:

Multiple dex files define Lcom/nineoldandroids/animation/Animator$AnimatorListener;

在Android Studio里build项目时不会报错,但是run项目的时候就会报上面的那个错误

当Module里 添加的依赖和app.build.guild里添加的依赖重复时就会报错

一、解决方案

compile('com.mxn.soul:flowingdrawer-core:1.2.0')
compile('com.rengwuxian.materialedittext:library:2.1.4') {
        exclude group: 'com.nineoldandroids'
}

flowingdrawer-core这个依赖里的libs文件夹下有nineoldandroids2.4.0.jar这个jar包。
materialedittext这个依赖里的gradle里compile ‘com.nineoldandroids.library:2.4.0’
所以会导致重复引用了jar包。在materialedittext的依赖里添加语句 exclude group: ‘com.nineoldandroids’,意思是编译的时候将group为com.nineoldandroids的所有library都去除在外,这样materialedittext就会自动去引用flowingdrawer-core项目里的nineoldandroids2.4.0.jar包了。

不过,我又进行了其他的尝试,我改成如下配置

compile('com.mxn.soul:flowingdrawer-core:1.2.0'){
       exclude group: 'com.nineoldandroids'
}
compile('com.rengwuxian.materialedittext:library:2.1.4') 

这样还是会出问题。想了想,应该是exclude语句只能在编译时将gradle文件里的依赖去除掉,而不能去掉libs文件里的jar包引用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值