包重复Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

本文详细解析了Gradle项目中出现Jar冲突的原因及解决步骤,通过查看Gradle控制台输出,利用依赖树查找冲突来源,并提供直接修改第三方Jar或使用exclude排除多余包的解决方案。

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

一. gradle中jar冲突问题,从这里是看不出任何原因 


二.打开 gradle consonle, 找到如下圈圈所示位置(Run with –stacktrace),然后双击 


三.这里可以看到gradle失败的具体原因,Multiple dex files…. 显然是由于同一个文件在多个jar中出现,典型的jar冲突问题, 
那该类具体是在哪几个jar中被引用了呢? 


四. 在 android studio 中进行全局搜索,可以看到 classes.jar 中和 gson-2.7.jar 中引用了 该类,而且两个gson的版本是不一致的, classes.jar 在本地的libs可以找到,但是 gson-2.7.jar 始终找不到在哪里被显示依赖。 绝招来了 ,看下面… 


五.打开终端,然后输入 gradle app:dependencies ,可以看到 gradle 的依赖树,然后搜索 gson-2.7,原来是在 converter-gson.jar中被依赖了,终于找到了问题所在。 


解决方法: 
1. 直接修改第三方jar中,将里面的引用的gson直接删除。 
2. exclude 剔除掉多余的包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值