1. 程式人生 > >Android依賴庫版本衝突的一個解決方法

Android依賴庫版本衝突的一個解決方法

問題簡介

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