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

时间:2012-11-18 11:57:26

标签: android eclipse 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!
我用谷歌搜索了一下,但没有出现。这个错误意味着什么?

7 个答案:

答案 0 :(得分:54)

我发现一个让我感到满意的解决方案是将dex.force.jumbo=true添加到我的project.properties

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

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

答案 1 :(得分:14)

同样的问题......只是把

dex.force.jumbo=true

在project.properties的第一行

答案 2 :(得分:13)

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

android {
    dexOptions {
        jumboMode = true
    }
}

记得跑步" gradle clean"在你的新建筑之前。

答案 3 :(得分:6)

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

要启用它,只需转到设置|编译器| Android DX 并选择强制巨型模式选项。

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

答案 4 :(得分:4)

只是添加jumboMode=true对我的gradle版本没有用。然而,这有效(引自adt-dev小组的Xavier作为对该领域提交的错误的回复):

  

"尝试手动删除所有构建文件夹并再次构建,制作   确定dexOptions.jumboMode在项目中设置为true?

     

存在未删除根项目构建的问题   清理任务,这包含有关预定义的一些信息   库"

答案 5 :(得分:2)

添加一些解释:

当Eclipse尝试逐步构建时,当更改增加应用程序中字符串常量的数量时,就会发生这种情况。原始dex有非jumbo指令,并且合并到它的新dex有jumbo指令。干净将表明它是从头开始构建的。

只要应用程序中的字符串数量单调递增,增量构建就可以继续。

答案 6 :(得分:0)

我有同样的问题,但在我的情况下," dex.force.jumbo = true"命令没有解决问题。 我尝试更新JDK和JRE,并解决了这个问题。

希望这个答案有所帮助