公司項目在打包時遇到了傳說中的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`
并且依賴multidex:
compile 'com.android.support:multidex:1.0.1'
第二步:修改Application的繼承關系:
讓我們的application繼承MultiDexApplication就好,或者重寫attachBaseContext()方法,在該方法中調用
MultiDex.install(this);
效果是一樣的,因為繼承的這個類中就是這麼做的.
如果你本身并沒有寫application,還要記得在manifest中注冊下application,如果找不到MultiDexApplication這個類,請看看你是否有添加這個依賴!
本篇内容參考了達哥的文章: http://blog.csdn.net/yanzhenjie1003/article/details/51818269