錯(cuò)誤:com.android.dex.DexIndexOverflowException:method IDnotin[0,0xffff]:65536
解決:首先需要在moudle的gradle文件中添加multidex支持:
1: ? ?dependencies{...compile'com.android.support:multidex:'...}
2: ? ?defaultConfig{...multiDexEnabledtrue...}
添加這兩句到gradle語(yǔ)句中,sync一下
然后分三種情況解決:
①.如果你好沒(méi)有創(chuàng)建自己的Application class,那么只需要在AndroidManifest.xml中的<Application>中添加
android:name="android.support.multidex.MultiDexApplication"
②.如果你已經(jīng)創(chuàng)建了,并且已經(jīng)在使用了,那么
找到MyApplication(Application class),修改繼承自android.app.Application,修改為android.support.multidex.MultiDexApplication
③.如果你的Application繼承了其他類,而且你不想去修改他的繼承,那么,只需要修改他的attachBaseContext()方法即可.
例:
public class MyApplication extends FooApplication{//FooApplication指其他類
@Override
protected void attachBaseContext(Contextbase){
super.attachBaseContext(base);
MultiDex.install(this);
? ? }
}
Tips:
如果在compilation的時(shí)候內(nèi)存不夠,添加dexOptions{incrementaltruejavaMaxHeapSize"4g"}
//改成2g也行,4g需要64位jdk支持
原文出自:
After update of AS to 1.0, getting “method ID not in [0, 0xffff]: 65536” error in project