一、前言:
在我们导入APP的过程中,经常遇到,两个不同的jar包,可能会出现包名重复的问题,错误如下:
Execution failed for task ':checkReleaseDuplicateClasses'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
> Duplicate class com.huawei.hms.ads.identifier.AdvertisingIdClient found in modules jetified-hms-ads-identifier-3.4.26.303 (com.huawei.hms:hms-ads-identifier:3.4.26.303) and jetified-miit_mdid-1.0.25-runtime (com.taurusx.ads:miit_mdid:1.0.25)
Duplicate class com.huawei.hms.ads.identifier.AdvertisingIdClient$Info found in modules jetified-hms-ads-identifier-3.4.26.303 (com.huawei.hms:hms-ads-identifier:3.4.26.303) and jetified-miit_mdid-1.0.25-runtime (com.taurusx.ads:miit_mdid:1.0.25)
二、解析:
1、通过以上错误可以分析出:
- 1、com.huawei.hms:hms-ads-identifier:3.4.26.303
- 2、com.taurusx.ads:miit_mdid:1.0.25
思路:包1和包2这两个依赖的AdvertisingIdClient 重复了,所以我们要去掉一个;
由于我们也不知道是哪两个包,把1和2引入的,最后是一个个注释掉才发现的。
图片.png
2、解决:
在发现的其中一个包的下面配置如下:
//原始的,会冲突的
// implementation 'com.dotc.sdk:analytics-lite-cn:1.3.5'
//不会冲突的
implementation ('com.dotc.sdk:analytics-lite-cn:1.3.5'){
exclude group: 'com.huawei.hms'
}
group 后面的名字就是冲突的名字;
//仅供参考
//如果utdid和你工程项目里面发生冲突了,请修改成这个依赖
compile ('com.peng.library:one-push-umeng:lastVersion' ){
exclude group: 'com.peng.library',module:'one-push-umeng-utdid4all'
}
//如果还是不行,去掉module的后面XXX
implementation ('com.github.li-xiaojun:XPopup:2.10.0') {
exclude group: 'com.davemorrissey.labs'
}