解决Android遇到的65536问题
错误:com.android.dex.DexIndexOverflowException:method IDnotin[0,0xffff]:65536
解决:首先需要在moudle的gradle文件中添加multidex支持:
1: dependencies{...compile'com.android.support:multidex:'...}
2: defaultConfig{...multiDexEnabledtrue...}
添加这两句到gradle语句中,sync一下
然后分三种情况解决:
①.如果你好没有创建自己的Application class,那么只需要在AndroidManifest.xml中的<Application>中添加
android:name="android.support.multidex.MultiDexApplication"
②.如果你已经创建了,并且已经在使用了,那么
找到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的时候内存不够,添加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