解决: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的方法咯,时间有限,在这儿就不介绍了,希望能解决你的问题哈~

你可能感兴趣的:(BUG)