as引入第三方包版本不一致 Android dependency has different version.You should manually set the same version via

有时候导入一些module时,会出现以下问题

Android dependency 'com.android.support:support-v4' has different version for the compile (23.3.0) and runtime (25.4.0) classpath. You should manually set the same version via DependencyResolution

这是因为module中可能依赖了不同的支持库,版本不一样。

解决办法
在项目根目录的build.gradle中加入以下代码
将details.useVersion后的值替换为统一的版本.

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                //统一版本号
                details.useVersion "25.4.0"
            }
        }
    }
}


推荐方式
版本号使用非硬编码。
版本号由根build.gradle中ext定义的变量引用版本号。

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

你可能感兴趣的:(android)