Android

解决Android遇到的65536问题

2016-07-12  本文已影响2962人  Easyrealjs

错误: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

上一篇下一篇

猜你喜欢

热点阅读