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')