Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'

Error:Execution failed for task ‘:app:transformDexArchiveWithExternalLibsDexMergerForDebug’.

java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

我再貼一張圖!

在這裏插入圖片描述

被這個錯誤搞瘋了,搞了兩天!…必須寫一篇文章祭奠一下

虐心之旅開始
網上各種方式
一 在app 的build.gradle下面配置
defaultConfig {
multiDexEnabled true
}
同時需要配置
dependencies{
implementation ‘com.android.support:multidex:1.0.1’
}

不過這個方式是在代碼編譯成.dex超過65535長度限制的時候使用的,這裏行不通


二.是通過Goovy語音強制解決compile衝突問題 
先打印出來依賴衝突的版本,然後再強制指定需要的版本

configurations.all {
resolutionStrategy {
    force 'com.android.support:multidex:1.0.3'
    force 'com.android.support:support-annotations:26.1.0'
    force 'com.android.support:support-v4:26.1.0'
 
}

}
configurations.all {//打印依賴衝突版本
resolutionStrategy {
failOnVersionConflict()
}
}

三.翻牆找,老外遇到這個問題的人也不少
https://stackoverflow.com/questions/47079113/android-studio-3-0-execution-failed-for-task-unable-to-merge-dex#

以上方式,皆卒

最後…
emm…大招來了

在這裏插入圖片描述
1.在Gradle Console中 查看具體問題
2.配置打印gradle具體錯誤 如下圖
在這裏插入圖片描述
3.點擊 Run with --info(上上張圖的藍色地方)
然後會獲取具體錯誤信息
在這裏插入圖片描述
藍色部分就是具體信息…

4.然後運行 Terminal
輸入 gradle app:dependencies
獲取gradle 的依賴結構
這個有個小插曲,首先要進入你當前的項目,然後再輸入 gradle app:dependencies
如下圖所示
在這裏插入圖片描述

然後搜索之前Gradle報的錯誤信息的依賴庫
在這裏插入圖片描述
查找出在那個依賴產生的(如下圖)

在這裏插入圖片描述

最後,解決衝突在這裏插入圖片描述

我寫的比較粗糙,可以看着一篇文章…不過這一篇缺少最後解決的方式
https://blog.csdn.net/u012214003/article/details/79632675

哎~難受啊,馬飛!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章