前言
在做开发的时候,我们经常会导入一些库,库里面又会依赖其他的一些库,这就会导致有时候库版本冲突了,导致编译不能过!昨天刚好群里有个哥们问了一个这个错误,怎么解决,这里记录一下!(You should manually set the same version via DependenyResolution)
错误表现课前知识
在进行解决这个之前,我们先了解一下,依赖时候填写的那一段长长的字符串是什么意思,类似以下的导入
api'com.github.donkingliang:ConsecutiveScroller:4.4.0'
com.github.donkingliang 是分组,也就是group
ConsecutiveScroller是module
4.4.0 是版本号
图片记忆法有了上面知识,我们继续
1.依赖树
当发生了错误,我们需要知道是哪些库引入导致的冲突,这时候就需要依赖树了,gradle给我们提供了对应的查看命令,在我们Android Studio软件窗口的右边,分别点击 Gradle--(对应的module)--Tasks--help--dependencies (需要哪个module就选择哪个)
点击生成依赖树点击后会在build生成依赖树,这时候查找哪些库会额外导入冲突的库
生成的依赖树2.剔除依赖
通过依赖树找到哪些库导致的版本不一致,这时候字需要修改导入,就能解决问题
比如还有A库引入了livedata,那你这样修改,mudule和group请看顶部的知识点
implementation('A') {
//以下选择一个就好
exclude module: 'lifecycle-livedata' //解决办法一
exclude group: 'androidx.lifecycle' //解决办法二
exclude group: 'androidx.lifecycle' ,module: 'lifecycle-livedata' //解决办法三
}
网友评论