Eclipse中的Android错误:"无法执行dex:无法将新索引65799合并到非巨型指令中!"

Rip*_*pul 47 eclipse android opensaml

我正在尝试使用Eclipse使用OpenSAML的Android项目.我在构建路径中添加了所有必需的jar文件.现在,当我将程序作为Android应用程序运行时,会出现以下错误:

[2012-11-18 11:52:59 - Dex Loader] Unable to execute dex: Cannot merge new index 67075 into a non-jumbo instruction!
[2012-11-18 11:52:59 - MyTestProgram] Conversion to Dalvik format failed: Unable to execute dex: Cannot merge new index 67075 into a non-jumbo instruction!
Run Code Online (Sandbox Code Playgroud)

我用Google搜索了一下,但没有出现任何问题.这个错误意味着什么?

Mal*_*chi 54

我找到一个让它适合我的解决方案是添加dex.force.jumbo=true到我的project.properties.

有人指出:https://groups.google.com/forum/?fromgroups =#!topic/sq-dev/tuLXN9GkVas

这假设您运行的是ADT 21,因为此功能在以前的版本中不可用.

  • 试过干净的重建? (2认同)

Rin*_*ino 14

同样的问题......就这么说

dex.force.jumbo=true
Run Code Online (Sandbox Code Playgroud)

在project.properties的第一行


gar*_*ary 13

如果使用gradle构建,只需将dexOptions添加到build.gradle中以启用jumbo模式:

android {
    dexOptions {
        jumboMode = true
    }
}
Run Code Online (Sandbox Code Playgroud)

记得在新建筑之前运行"gradle clean".


Seb*_*ano 6

我有同样的问题,但我的IDE是IntelliJ IDEA 13.在该版本中,文件中的dex.force.jumbo指令project.properties被忽略.

要启用它,只需转到设置| 编译器| Android DX并选择Force jumbo mode选项.

希望它有所帮助(这是我能找到的唯一与SO相关的问题).


小智 5

仅仅添加jumboMode=true对我的gradle构建不起作用。但这是可行的(引用adt-dev组中的Xavier作为对该区域中提交的错误的答复):

“尝试手动删除所有构建文件夹并重新构建,确保在项目中将dexOptions.jumboMode设置为true吗?

存在一个问题,即在干净任务中未删除根项目的构建,并且其中包含有关预删除库的一些信息。”