溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Android Studio中Gradle依賴(lài)沖突如何解決

發(fā)布時(shí)間:2021-06-09 17:46:24 來(lái)源:億速云 閱讀:398 作者:Leah 欄目:移動(dòng)開(kāi)發(fā)

本篇文章給大家分享的是有關(guān)Android Studio中Gradle依賴(lài)沖突如何解決,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話(huà)不多說(shuō),跟著小編一起來(lái)看看吧。

1. 查看依賴(lài)樹(shù)

./gradlew dependencies

Android Studio中Gradle依賴(lài)沖突如何解決

2. 解決依賴(lài)沖突

一旦在構(gòu)建中存在依賴(lài)沖突,開(kāi)發(fā)人員需要決定哪個(gè)版本的庫(kù)最終包含在構(gòu)建中,有許多解決沖突的方法。

1. 逐個(gè)排除

compile('junit:junit:4.12'){
 exclude group : 'org.hamcrest',module:'hamcrest-core'
}
//最終,如果我們向包含1.3版本到構(gòu)建中,我們可以從“mockito"中排除他
androidTestCompile('org.mockito:mockito-core:1.10.19'){
 exclude group : 'org.hamcrest',module:'hamcrest-core'
}

2. 顯式依賴(lài)

在build.gradle中顯示定義沖突的庫(kù),這是解決沖突的一種方式,在這種情況下,我們需要明確提出我們想要包含在任何一個(gè)配置的最終構(gòu)建中的庫(kù)的版本。

compile 'junit:junit:4.12'
androidTestCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile 'org.hamcrest:hamcrest-core:1.3'

如果多個(gè)依賴(lài)具有沖突版本的依賴(lài)或傳遞依賴(lài)的話(huà),則不是從每個(gè)依賴(lài)性中排除模塊,而是可以簡(jiǎn)單的使用期望的版本號(hào)來(lái)定義沖突依賴(lài)。

這種是一種更清潔的解決沖突的方法,但缺點(diǎn)是,當(dāng)更新實(shí)際的依賴(lài)關(guān)系的時(shí)候,開(kāi)發(fā)人員需要更新沖突的庫(kù)。

3. 強(qiáng)制依賴(lài)

//在app.gradle 中的Android閉包中使用
android{
   configurations.all {
      resolutionStrategy.force 'com.android.support:appcompat-v7:28.0.0'
      resolutionStrategy.force 'com.android.support:support-v4:28.0.0'
      resolutionStrategy.force 'com.android.support:animated-vector-drawable:28.0.0'
      resolutionStrategy.force 'com.android.support:support-media-compat:28.0.0'
   }
}

//在build.gradle 中設(shè)置工程全局強(qiáng)制依賴(lài)
allprojects{
   configurations.all {
      resolutionStrategy.force 'com.android.support:appcompat-v7:28.0.0'
      resolutionStrategy.force 'com.android.support:support-v4:28.0.0'
      resolutionStrategy.force 'com.android.support:animated-vector-drawable:28.0.0'
      resolutionStrategy.force 'com.android.support:support-media-compat:28.0.0'
   }
}

以上就是Android Studio中Gradle依賴(lài)沖突如何解決,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI