Cause: com.android.dex.DexException: Multiple dex files define類問題解決

學習筆記,還有很多地方都不明白,歡迎指正。

、本文旨在解決Cause: com.android.dex.DexException: Multiple dex files define xxx類問題解決

問題場景: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 Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;

以上就是我遇到的項目中引用了多個不同版本的v4包導致的報錯,解決步驟如下:

1、找出是什么原因導致了不同版本的v4包引入。

原因有很多,有可能是依賴的項目下面有和你當前項目不同版本的v4包,這個解決方法就是統一v4,或者刪除多余的v4包,這類可以參見這兒

我所遇到的v4沖突是由于build.gradle中引入的依賴包中的v4版本不同!

在你的項目所在的module文件下運行gradle -q dependencies,執行該命令后有以下三種結果:

(1)提示gradle不是可執行命令,請先配置gradle環境變量

(2)報下圖所示錯誤

解決辦法是將project下面的gradle.properties文件中的org.gradle.jvmargs=-Xmx1536m改為

org.gradle.jvmargs=-Xmx1024m,保存,再次運行gradle -q dependencies

(3)這是我們想要的結果如下所示

從上圖中我們可以看出我們項目中有1與2兩次引入了v4包,我們兩個不同版本的v4包分別來自

com.android.support:appcompat-v7:23.4.0和'com.jakewharton:butterknife:8.5.1'這兩個依賴(com.android.support:support-compat:25.1.0中有v4包

2、解決方法

從'com.jakewharton:butterknife:8.5.1'中移除support-compat,通過如下方法:

將app里面build.gradle 中的compile'com.jakewharton:butterknife:8.5.1'改為

compile('com.jakewharton:butterknife:8.5.1'){

exclude module: 'support-v4'

}

再次gradle -q dependencies,你會發現

圖中1處已com.jakewharton:butterknife:8.5.1下面已經沒有com.android.support:support-compat:25.1.0這個包

再次運行,項目完美編譯!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,489評論 2 45
  • 請允許我借鑒前輩們的東西~~~~ 感激不盡~~~~~ 以下為Android 框架排行榜 么么噠~ Android...
    嗯_新閱讀 2,110評論 3 32
  • 靠鳥是一個網絡版的查令十字街84號,每個人都可以給靠鳥寫信,當然也會收到來自其他人寫的回信,郵件所想內容,發到t@...
    amplex閱讀 416評論 0 1
  • 小學畢業后,我來到離村莊十余里外的鄉鎮讀中學。三年寒窗歲月,帶菜是腦海揮之不去的一抹云彩。 由于學校離家遠,許多和...
    向往森林閱讀 393評論 25 8
  • 本周何帆老師講了 如何提高演講水平,首先從寫作與口語表達的區別入手,分析了四種不同的口才。之后以演講為例介紹了演講...
    微風知意閱讀 244評論 2 2