有關Android Studio中多個依賴具有同一引用
阿新 • • 發佈:2019-02-17
前兩天在做一個比賽作品的時候,遇到了一個問題,就是我在module中遠端添加了兩個第三方依賴,但是這兩個依賴中具有一個相同的引用,因此在安裝的時候(Clean Project和Rebuild Project時不會報錯,也不會清楚該錯誤)會出現如下錯誤:
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException : java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lokhttp3/Address;
大概意思就是有至少兩個依賴具有對okhttp3中的Address具有相同的引用,因此出現了重複的引用,在編譯的時候導致出現重複的dex檔案,從而導致報錯。
對於上述錯誤,解決方法如下:
android {
...
}
configurations {
all*.exclude group: 'com.squareup.okhttp3' , module: 'okhttp'
}
}
即在module的build.gradle檔案中新增如上程式碼即可。
上述程式碼的格式為:其中group後面接上圖中第一個紅線劃記的部分,module後面接上圖中第二個紅線劃記的部分。