app:transformClassesWithJarMergingForRelease

本文记录了解决项目接入友盟统计时出现的jar包冲突问题的过程。冲突源于两个库中存在相同的AESUtils类。文章强调了仔细阅读异常信息的重要性,并给出了具体的解决方案。

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

项目接入友盟统计时,导入了两个jar包,一个是umeng-analytics-6.0.1,一个是utdid4all-1.04.jar,项目能正常运行,但是当Generate Signed APK时,发现了以下问题:


Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/ta/utdid2/android/utils/AESUtils.class


百度了以下发现app:transformClassesWithJarMergingForRelease这种异常信息是因为导入的jar包佑冲突,准确的来说是因为有两个库中存在相同的类,这个相同的类是AESUtils.class。在遇到这种问题时注意要仔细看异常信息,重点在黑体字部分,非常明确的说明了问题,即是因为utdid2这个jar包的存在而冲突的,先删掉这个jar包,就可以打包成功了。

UDID是设备唯一标识符,用来识别用户玩家的。

友盟官方文档中有这样一句话:




推送SDK为了提高设备标识的唯一性,用到了TaoBao提供的一个设备标识生成库(UTDID.jar),这个jar包已经广泛应用在阿里系的App中了,项目在此之前集成了支付宝支付,因此会存在jar包冲突的问题。所以在测试的时候,如果项目中没有集成支付宝支付,需要单独导入UTDIDde1jar包,如果已经集成了支付宝,就不需要导入,否则就会出现jar包冲突的问题。


写这篇博客最主要的目的是为了记录一下解决问题的思路:最重要的是仔细看异常信息,找到问题的原因,不能盲目的去百度。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值