1. 程式人生 > >有關Android Studio中多個依賴具有同一引用

有關Android Studio中多個依賴具有同一引用

前兩天在做一個比賽作品的時候,遇到了一個問題,就是我在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後面接上圖中第二個紅線劃記的部分。