Android 依赖包名重复问题

一、前言:

在我们导入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'
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容