1. 程式人生 > >Android進階之AS如何處理不同引用庫(module)裡jar的重複引起問題

Android進階之AS如何處理不同引用庫(module)裡jar的重複引起問題

1.問題

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

2.原因

根據stackoverflow上面的回答,這個錯誤原因是因為包引用重複 build.gradle(app)的dependencies和使用File>Project Structure中的引用重複,或者和本地的jar包(可以在專案的libs資料夾裡面檢視本地的jar包)重複; 或者build.gradle裡面出現了相同的包引用;或者不同的包有包含關係。

  1. 解決方法
    (1)檢查一下自己的lib資料夾下有沒有和build.gradle裡面的repos重複的。如果有重複的,那麼刪掉其中一個就行了。
    (2)可能是build.gradle裡面的repos有重複或者包含關係,需要刪掉重複部分。可以自己刪掉一些denpendencies試試看能不能試出來哪個包有問題;
    (3)另一個解決方法是:
android {
    defaultConfig {
       multiDexEnabled true
    }
}
  1. 如何查出重複了哪個jar包
    (1)File>Settings>Compiler
    在這裡插入圖片描述
    (2)繼續執行,檢視具體是哪一個jar包出現了重複
    (3)刪除build 重新 clean build