在使用 Android Studio 開發(fā)時,使用 Gradle 腳本構建項目, 同 Maven 一樣,所引用的包之間也存在著相互依賴的關系, 當你使用某個包之后,發(fā)現(xiàn)有包版本沖突, 那么解決方案就來了.
先說點不正經(jīng)的:
- 你可以把你自己引入的包去掉,使用依賴包
- 放棄治療
哈哈,言歸正傳:
當我們引入的包之間存在沖突(不是同一個)的關系時, 也就是說,我們需要保留一個項目依賴包使用,那么我們需要在 build.gradle
中將我們不需要的包刪除掉.
舉個栗子:
當我使用 com.squareup.retrofit2:adapter-rxjava:2.1.0
時, 它默認依賴使用 RxJava 1.5.0
版本. 當我使用 io.reactivex.rxjava2:rxjava:2.0.6
時, 就會引起包沖突.
解決方案:
build.gradle
...
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile ('com.squareup.retrofit2:adapter-rxjava:2.1.0'){
exclude group: 'io.reactivex'
}
compile 'io.reactivex.rxjava2:rxjava:2.0.6'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
}