随着项目越来越大,使用的第三方库也越来越多,难免有时候会库之间的依赖冲突问题,如何解决呢?
查看依赖关系
很简单,在项目根目录执行下面的命令。
|
|
|
|
- 版本:唯一的依赖。
- 版本(*):还存在该库其他版本的依赖或者间接依赖,并且默认选择()所标注的版本。
- 版本1->版本2(*):还存在该库其他版本的依赖或者间接依赖,并且选择 版本2。
排除版本冲突
|
|
你可以看到 io.reactivex:rxjava
这个项目其实是有依赖冲突的,但是 gradle
很强大自动帮我们解决了,但是开发中往往经常 gradle
自动解决的依赖关系会出错。
这里我们可以把 com.squareup.retrofit2:adapter-rxjava
中的 rxjava:1.1.5
直接排除掉。
我们使用 exclude
来指定排除项。
|
|
再次执行
|
|
就变成了
|
|
举一反三
exclude 的语法其实很简单
我们知道依赖的完整语法还以是这样的:
|
|
一般简写成:1compile 'foo:foo:0.1'
那么 exclude 完整版:
|
|
如果单独指定 group,就是把这个 group 的都排除掉。