問題簡介
講真對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的支援庫版本強制為所制定的版本。是以依賴沖突問題解決。