1. 程式人生 > >Android專案gradle依賴以及新增的jar包過多出現的問題解決方案

Android專案gradle依賴以及新增的jar包過多出現的問題解決方案

隨著專案引用的庫以及jar包越來越多,今天需要給客戶發apk時,出現了一個問題。執行沒問題,但是打包就出現問題。
這裡寫圖片描述
於是各種百度,發現說引用衝突,感覺是即時通訊的v4包跟自己的v4包衝突了,於是就把app的v4引用刪了,結果還是報錯。
於是我仔細看了看錯誤日誌,就是Message裡面的錯誤日誌,發現這樣一句話。
這裡寫圖片描述
錯誤找到了,64K。
什麼原因呢?當依賴包太多,dex突破64K了。解決方案如下

一.app的gradle新增依賴
compile ‘com.android.support:multidex:1.0.1’

二. 在app的gradle中defaultConfig{ }中新增 multiDexEnabled true
這裡寫圖片描述

三.在 自定義的全域性app繼承 MultiDexApplication或重寫attachBaseContext
這裡寫圖片描述
這裡寫圖片描述

最後一步:
app的gradle中新增

dexOptions {
javaMaxHeapSize “4g”
}
記得跟buildToolsVersion 同級

這樣子重新打包就好了