android 中gradle依赖冲突解决
/ / 点击 /android项目开发中经常会遇到库依赖异常,大多是版本依赖的冲突问题,说明下常见的版本依赖冲突解决方式
首页看下我们项目的依赖关系1
./gradlew dependencies :app:dependencies
:app表示依赖module
mac下运行可能人别不了命令行,运行+x gradlew ```添加权限
1
2
3
4
5
6
7
可以看到依赖结构是树状结构,各库下又依赖了android的官方提供的一些库,如果依赖的库不是太多的话,可以使用transitive参数,使得依赖库所需的依赖不直接使用,在依赖库的module中同一级上做依赖关系
```
implementation 'com.android.support:appcompat-v7:26.1.0'
compile ('com.alibaba.android:vlayout:1.2.2@aar') {
transitive = false
}
transitive为false表示单独依赖,true为默认树状依赖
这种解决方式只用于当前的依赖包只是版本导致的,且版本变动不大,起码它的代码package路径一致,如果差异很大可以指定依赖关系中特定包不包含到依赖中1
2
3
4implementation 'com.android.support:appcompat-v7:26.1.0'
compile ('com.alibaba.android:vlayout:1.2.2@aar') {
exclude group: 'support-v4'
}
全文完。