天天看點

Android 解決打包時提示65536問題

公司項目在打包時遇到了傳說中的65536問題,如以下提示:

Conversion to Dalvik format failed:
Unable to execute dex: method ID not in [0, 0xffff]: 
           

在Android中,一個Dex中存儲方法id用的是short類型資料,是以我們的方法總數不能超過64K

解決方法:

第一步:修改主module中的build.gradle檔案:

在android{}中的defaultConfig{}中加入這句:`multiDexEnabled true`
           
Android 解決打包時提示65536問題

并且依賴multidex:

compile 'com.android.support:multidex:1.0.1'

第二步:修改Application的繼承關系:

讓我們的application繼承MultiDexApplication就好,或者重寫attachBaseContext()方法,在該方法中調用

MultiDex.install(this);

效果是一樣的,因為繼承的這個類中就是這麼做的.

Android 解決打包時提示65536問題

如果你本身并沒有寫application,還要記得在manifest中注冊下application,如果找不到MultiDexApplication這個類,請看看你是否有添加這個依賴!

本篇内容參考了達哥的文章: http://blog.csdn.net/yanzhenjie1003/article/details/51818269