jar包冲突的解决方法

1.当自己项目引用的jar(aar) 重复的时候,直接删除期中一个jar包就行

2.当自己项目引用的jar(aar) 和某个三方lib项目冲突的时候。这时候也可以去掉自己项目中jar(aar) 从三方项目中直接使用jar(aar)包的功能

3.当自己项目引用的jar(aar) 是通过maven仓库管理引入并且冲突的三方lib也是通过maven仓库管理引入的时候。可利用exclude语法进行剔除。

详情:

引入的第三方为test 冲突的jar(aar)库是chongtutest

    implementation 'com.xxx.xxx.xxx:chongtutest:1.0.1'

    implementation ('com.bocai.android.sdk:test:1.0.24'){
        exclude group: 'com.xxx.xxx.xxx', module: 'chongtutest'
    }

注意:exclude 只能用于剔除maven仓库引入的第三方 无法剔除三方项目中libs方式直接引入jar(aar)包

4.当自己项目引用的jar(aar) 和多个三方lib项目冲突的时候。并且冲突的jar都是采用libs目录直接引用的。这时候只去掉本地的jar(aar)引用就没有意义了。这个时候又分为两种情况:

1)当对应的第三方lib项目是自己封装的,可以进行修改的情况下:通过complieOnly避免编译时打包进去。具体如下:


    compileOnly files('libs/chongtutest.jar')

2)当对应的第三方lib项目无法进行修改的情况下:可以采用对jar包解压重新打包来去除掉冲突的包 另外推荐一个三方工具:ExcludeAar


 Current
jar包冲突的解决方法 jar包冲突的解决方法
1.当自己项目引用的jar(aar) 重复的时候,直接删除期中一个jar包就行2.当自己项目引用的jar(aar) 和某个三方lib项目冲突的时候。这时候也可以去掉自己项目中jar(aar) 从三方项目中直接使用jar(aar)包的功能3.
2019-05-29
Next 
总结ios传值的方法 总结ios传值的方法
Block传值
2019-05-17
  TOC