AndroidStudio進行Build時出現DexArchiveMergerException異常的解決辦法
今天在AndroidStudio中匯入了一個專案,編譯的時候沒有什麼問題,但是在執行Rebuild Project 和 Build APK(s)時報錯了,提示:
Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> java.lang.RuntimeException: java.lang.RuntimeException:
com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex。
為了避免以後遇到時忘記了,所以把解決方法寫出來儲存一下,希望也能對各位同學提供點幫助。如果有些的不對的地方,也歡迎大家批評指正,在此表示感謝!
解決辦法一:
在專案的build.gradle檔案中檢視自己匯入的依賴,看看是否有重複的,如果有的話刪除掉,重新進行編譯。
解決方法二:
倘若在上一種解決方法沒有效果,再檢查一下build.gradle中是否有類似
這樣的程式碼,如果有的話,可以修改為下面這種寫法:compile(name: 'class', ext: 'jar')
compile files('libs/class.jar')
解決方法三:
如果上述兩種都沒有解決問題,可以使用這種方法, 在build.gradle檔案中匯入這個依賴:
compile 'com.android.support:multidex:1.0.1'
然後在 build.gradle 檔案中的 defaultConfig 配置中新增配置:
multiDexEnabled true
截圖如下:
我就是使用這種方法解決了這個問題,上面的依賴記得要新增到build.gradle檔案中去。
解決方法四:
我看到還有另外的解決方法,就是先將專案的.gradle資料夾給刪除掉,然後 Clean Project 即可。
這個方案我也嘗試了一下,並沒有解決我遇到的這種情況,不過大家也可以嘗試一下,
可能產生問題的原因不一樣,也許能夠解決別的情況。
該方案可以參考部落格:http://blog.csdn.net/chw12341/article/details/78646720。
好了,就先寫到這裡,希望也能夠對大家提供些幫助,如果有更好的解決方案,希望大家也能及時評論,共同進步,謝謝!