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

我正在尝试使用Eclipse的OpenSAML的Android项目。 我已经在构buildpath中添加了所有必需的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! 

我GOOGLE了一下,但没有出现。 这个错误是什么意思?

我find的一个解决scheme是为我的project.properties添加dex.force.jumbo=true

这是在https://groups.google.com/forum/?fromgroups=#!topic/adt-dev/tuLXN9GkVas

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

同样的问题…只是放

 dex.force.jumbo=true 

在project.properties的第一行

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

 android { dexOptions { jumboMode = true } } 

记得在你的新build筑物之前运行“gradle clean”。

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

要启用它,只需转到设置| 编译器| Android DX并select“ 强制超大模式”选项。

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

只是添加jumboMode=true不适用于我的gradle构build。 然而,这工作(援引Xavier在adt开发小组作为对这个区域提交的一个错误的答复):

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

有一个问题,在干净的任务中,根项目的构build不会被删除,并且包含一些关于预先指定好的库的信息。

添加一些解释:

当Eclipse尝试增量构build时,会发生这种情况,当更改增加应用程序中string常量的数量时。 原来的dex有非巨大的指示,而新的dex被合并到它有巨大的指示。 做一个干净的将表明,它的工作原理,当你从头开始build立。

只要应用程序中的string数量单调递增,增量构build将继续前进。

我有同样的问题,但在我的情况下,“dex.force.jumbo = true”命令不能解决问题。 我尝试更新JDK和JRE,并解决问题。

希望这个答案有帮助