解决:Glide版本冲突问题
百试百灵,简单介绍问题的起因,这么个事儿:
同时引用第三方依赖库:
api 'com.github.SherlockGougou:BigImageViewPager:v3_4.0.1'
api 'com.lzy.widget:imagepicker:0.6.1'
api 'org.devio.takephoto:takephoto_library:4.1.0'
由于敲代码的时候发现我没有引最新的Glide库,但是依然可以使用“Glide.with..巴拉巴拉”这个方法。当时就觉得这不是偶然,肯定是这仨依赖库里包着Glide,也就没合计太多,就直接用Glide来加载图片。
但是!但是!但是!程序运行的一瞬间,给我crash出去了,what the fu2k ?!
程序报错:No Such Method 巴拉巴拉 Glide 巴拉巴拉。
好吧,就即便是我英文不好,看不懂,最起码也知道是哪地方出了问题。没错,就是Glide 。
----------------------------这是一条无聊的分割线 -------------------------
Step 1.
Android Studio 最下面一排按钮里点【Terminal】。
Step 2.
在【Terminal】里输入:
gradlew app:dependencies
等一会儿,突突突出来一大堆支楞巴翘的玩意儿,仔细看了一会儿,也看不明白,so,我们【Ctrl + F】直接搜索“Glide”。
Step 3.
确认一定以及肯定能搜到“Glide”,然后一个一个Glide的版本号去看。then,找到最低的Glide的版本号了吧?再往上或者往下找,(就找引用这条Glide支楞巴翘的源头依赖库),是哪个熟悉的依赖库引用的?就比如:我这个,是那个BigImageViewPager的依赖库,引用Glide的版本最低,是3.8.0的版本。好了,到这儿其实就已经找到问题的所在了,看最后一步解决问题。
Step 4.
打开你添加依赖的App的build.gradle里添加依赖的地方【dependencies{巴拉巴拉}】,在这里你找到的依赖库后面添加这么一句话:
exclude group: 'com.github.bumptech.glide'
贴个加完的,长这样儿的:
//图片查看
api('com.github.SherlockGougou:BigImageViewPager:v3_4.0.1') {
exclude group: 'com.github.bumptech.glide'
}
然后就改完了,在gradle的最上面就会出现一个条子,长这样儿的:
点【Sync Now】,然后静静的等待搞定。
Ps. 还没搞定?来来来,还有一招,再不好使,换依赖库吧..
Step 5.
【请跳过Step 4】,在App的build.gradle里的【dependencies】标签里添加下面一段代码:
configurations.all {
resolutionStrategy {
force 'com.github.bumptech.glide:glide:3.8.0'
}
}
注意!注意!!注意!!!代码段里的【3.8.0】需要根据【Step1、2、3】查出来的最低版本来设置奥,别瞎设置,不然还是不好使。
这个设置完,我就大概知道是啥意思了,就是把全局的Glide统一改为3.8.0版本以防Glide版本冲突问题,那改完了就需要我们自行修改高版本Glide的方法咯,时间有限,在这儿就不介绍了,希望能解决你的问题哈~
————————————————
原文链接:https://blog.csdn.net/sinat_31490099/article/details/88059048