2017-06-26 37 views
1

我已經標記我的依賴是24.2.1在應用程序/構建gradle文件,但是當我運行「gradlw應用程序:依賴關係」它顯示25.1.0解決。不知道這是如何發生,因爲我還沒有與添加任何25.1.0依賴?有沒有什麼辦法我能找到的庫中最新如何解決衝突與多個版本的相同的依賴

gradlw app:dependencies 
    -- com.android.support:appcompat-v7:24.2.1 -> 25.1.0 
     +--- com.android.support:support-annotations:25.1.0 
     +--- com.android.support:support-v4:25.1.0 

在Android Studio中enter image description here

+1

也許你正在使用一些其他的圖書館,拉動在25.1.0版本 – MatPag

+0

有沒有什麼辦法,我可以找到哪個圖書館 – Sam

+0

使用此命令:https://developer.android.com/studio/build/ dependencies.html#view_the_dependency_tree檢查你的依賴關係樹 – MatPag

回答

3

當發生這種情況是因爲您正在使用的另一個庫正在引入其他版本的相同依賴項。

你需要弄清楚你的依賴樹裏面用命令

./gradlew app:dependencies 

在Android Studio的終端執行。

然後,您需要向上滾動終端窗口,直到找到依賴關係樹,檢查來自第三方庫的一些嵌套依賴關係,如下面的示例圖所示。

enter image description here

當你已經找到了第三方的依賴,你在你的buid.gradle聲明的相同的依賴之間的版本衝突可以排除拉庫,並強制庫使用您的版本:

對於你的問題的支持庫,你可以繼續以這種方式:

compile ("com.example.libwithconfictdependency:library:1.0.0") { 
    //this to exclude specific modules 
    exclude group: 'com.android.support', module: 'support-v4' 
    //or this to exclude every modules of the same package 
    exclude group: 'com.android.support' 
} 

在這種情況下的問題是:

  1. 庫無法正常工作,因爲依賴手動overrided不與庫代碼兼容
  2. 您需要提供所有必要的依賴在你的build.gradle

那達給你決定如何繼續這個。

相關問題