解決Gradle中jar衝突

2021-09-02 18:12:18 字數 459 閱讀 2934

如果有兩個依賴引用了相同jar包的不同版本時,預設情況下gradle會採用最新版本的jar包,此時可以通過排除選項來排除。

首先,看一下依賴乙個庫時的格式,name也就是module

dependencies

4.強制使用某個統一版本的依賴,我們也可以全域性配置

configurations.all

}5.講到這裡,不得不說一下transitive,它是管理以來的傳遞性的,比如com.common:lib:1.0中使用了okhttp,如果可以傳遞,則使用時他會自動為我們加入okhttp,如果不可以傳遞,則需要額外配置okhttp

關閉依賴傳遞

compile('com.common:lib:1.0')

也可以採用新增@jar的方式忽略該依賴的所有傳遞性依賴

compile `com.common:lib:1.0@jar`

當然也可以全域性配置關閉依賴傳遞

解決Gradle中jar衝突

plain view plain copy 1.直接在configuration中排除 plain view plain copy configurations plain view plain copy dependencies 排除多個jar可以使用多個exclude 3.當然,我們也可以強制使...

Gradle解決依賴衝突

問題描述 有時候專案依賴的com.android.support support v4的版本會遇到和其他依賴庫中com.android.support support v4的版本發生衝突的情況。例如我專案中使用的22.2.1版本,但是引入的最新的fresco中依賴的是23的版本,由於fragment...

Jar 包衝突的解決

1.導致jar包衝突的原因 我們在發布應用的時候,有時能正常啟動,有時卻報nosuchmehodexception nosuchfieldexception classnotfoundexception或者nosuchmehoderror noclassdeffounderror,而發布用的war包...