重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
Android引入多個jar包,沖突問題解決方案(引入jar包,即本地文件) 以引用加載第三方框架中也有okhttp3? okio沖突講解
創新互聯公司成立與2013年,是專業互聯網技術服務公司,擁有項目網站制作、網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元北林做網站,已為上家服務,為北林各地企業和個人服務,聯系電話:13518219792
(PS:如果不知道是那個jar沖突可以用指令gradlew app:dependencies查看)
1.找到項目中的libs-對應沖突的第三方包.jar。
3.用解壓工具打開(不是解壓,是打開。比如windows下可用360解壓打開)。
4.刪掉重復引用的包(okhttp3 + okio)。
5.重新打開項目,等待編譯。
6.可能出現innerClass mission警告,可以忽略掉,或者clean build。
7.如果還報錯的話那么在app build.gradle加入:
packagingOptions {
exclude 'META-INF/proguard/okhttp3.pro'
}
溫馨提示:
如果你的項目是因為剛剛添加了某個網絡加載依賴導致的,那么你就查看下這個庫下的哪一個依賴沖突了,在添加這個依賴的時候把它給過濾掉。具體寫法如下。
implementation ('com.***.***:XXX:1.2.0'){ // 所加的第三方框架
? ? exclude module: 'okhttp:3.10.0'
}
//或者要把組名一起添上去
implementation ('com.***.***:XXX:1.2.0'){ // 所加的第三方框架
? ? exclude group: 'com.squareup.okhttp3'
}
Android沖突一般是com.android.support不一致和第三方庫的沖突居多,常見解決方法有以下兩種
1.統一版本號,在app的build.gradle
```
android {
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details -
def requested = details.requested
if (requested.group =='com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion'27.0.1'
? ? ? ? }
}
}
}
}
```
意思是除了multidex之外com.android.support的包版本都統一設置成27.0.1
2.一般設置統一包版本之后,一般是第三方包沖突,還有studio3.0的問題
首先在Terminal運行(提前設置一下gradle環境)
gradle -q dependencies app:dependencies --configuration compile
查看日志闡述的問題能逐個找到答案比如:
google()低版本不兼容問題,改成
maven { url''}
注意:第三方庫多的話,建議一個個查問題,不要把全部不兼容高版本的第三方庫導入進去,如果一直報奇怪的錯誤,先刪掉app里.build再同步試下,希望能幫助到大家
建議咨詢軟件提供者了解,也可進入vivo官網--我的--在線客服--輸入人工,咨詢在線客服反饋。