DexIndexOverflowException--65536

来源:互联网 发布:sql server 2008 编辑:程序博客网 时间:2024/06/17 16:23

AGPBI: {"kind":"error","text":"The number of method references in a .dex file cannot exceed64K.\nLearn how to resolve this issue at https://developer.android.com/tools/building/multidex.html","sources":[{}],"original":"UNEXPECTED TOP-LEVEL EXCEPTION:\ncom.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536\n\tat com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:495)\n\tat com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:261)\n\tat com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:504)\n\tat com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:161)\n\tat com.android.dx.merge.DexMerger.merge(DexMerger.java:188)\n\tat com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:504)\n\tat com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)\n\tat com.android.dx.command.dexer.Main.run(Main.java:277)\n\tat com.android.dx.command.dexer.Main.main(Main.java:245)\n\tat com.android.dx.command.Main.main(Main.java:106)\n","tool":"Dex"}


之前遇到过65535的问题,所以对这个数字格(以及Dex)格外外敏感。


今天code的时候加了几个依赖,编译完了就碰到了截图中的问题。


copy之后直接百度,找到了很多解决方案。

1.包冲突(存在重复的包)

2.gradle和jdk1.8不兼容。

3.分配的内存不够导致的oom

但是跟我的情况不一样。而且注意力一直集中在红框中的内容。

事实上博主被骗了,红框的内容对于解决问题一点用都没有。

上面提到的解决方案都试过之后,发现一点用都没有。有点烦躁(这个时候一定要冷静,离答案已经很近了)。

博主发现GradleConsole里面有一行长的“离谱”的输出信息(蓝色框)

滑动条一边移动一边看(其实也没太自信看),突然看到了65536。哇Surprising!!!!!

再往前看一点DexIndexOverflowException,看到这里已经知道问题出哪了。


这么多信息(最上面的)一行全部打印出来也是日了狗了。

吐槽归吐槽,毕竟给你打印出来了。

出了问题一定要仔细的看提示信息,一般都是有提示的。

下面是解决方法:

defaultConfig {    applicationId "com.shtoone.shtw.jiaojian"    minSdkVersion 17    targetSdkVersion 23    versionCode 1    versionName "1.0"    multiDexEnabled true//设置为支持多dex输出模式}
导入multiDex包

compile 'com.android.support:multidex:1.0.0'
Application继承android.support.multidex.MultiDexApplication

如果已经继承了其它的类

可以用下面方法

@Overrideprotected void attachBaseContext(Context base) {    super.attachBaseContext(base);    MultiDex.install(this);}
重新编译项目就不会出现65535的问题了。

阅读全文
0 0
原创粉丝点击