Android依赖库版本冲突的一个解决方法

来源:互联网 发布:截取串口数据代码 编辑:程序博客网 时间:2024/05/02 20:00

问题简介

讲真对Gradle了解不是很深,在网上看了很多解决依赖冲突的文章还是很懵逼,重要是问题依然无法解决。病急乱投医,在StackOverflow上找到个答案问题解决了,虽然不是很懂。这里相当于记录一下,希望也对别人有用。

问题描述

我在添加上online.osslab:CircleProgress:1.0.0这个开源库之后就提示了依赖冲突:

这里写图片描述

原因在于这个库其内部依赖了com.android.support:cardview-v7:25.2.0,而当前的support库的版本都是26.0.0-alpha1,故产生了依赖冲突。

解决方法

在build.gradle文件中添加:

configurations.all {  resolutionStrategy.eachDependency { DependencyResolveDetails details ->      def requested = details.requested      if (requested.group == 'com.android.support') {          if (!requested.name.startsWith("multidex")) {              //这里指定需要统一的依赖版本,这里统一为26.0.0-alpha1              details.useVersion '26.0.0-alpha1'          }      }  }}

这里为Groovy的语法,大意就是将所有com.andriod.support的支持库版本强制为所制定的版本。所以依赖冲突问题解决。