自从更新到ADT 14,我不能再构建我的项目。它在更新之前构建得很好。

错误:

[2011-10-23 16:23:29 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
[2011-10-23 16:23:29 - myProj] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;

类似的问题也有报道,我尝试了其中的建议,包括

重新启动Eclipse。 清理项目和重建-禁用“项目->自动生成”选项,然后“清理”和“生成”项目,然后尝试运行。将“自动构建”选项重置为开启 重新安装Android开发者工具 重新安装Eclipse(更新到最新版本3.7.1) 创建一个从文件系统导入的新项目 从subversion创建一个新项目。


当前回答

[为我解决]

通过删除重复的库“JAR文件”,然后删除BuildConfig.java文件,Clean项目及其工作。

其他回答

在项目资源管理器中选择项目,右键单击并选择属性-> Java构建路径-> Source ->选中源文件夹的“允许输出文件夹”复选框

我在我的项目中通过删除一个库来解决这个问题:

原因:我在我的项目中包含了一个库项目,错误地没有从我的项目中删除之前的库,所以当我运行项目时,相同的库dex文件生成了两次,当我从项目的lib文件夹中删除相同的库时,错误消失了,构建成功创建,我希望其他人可能会面临同样的问题。

正如其他人所提到的,当您的构建路径中有同一个类的多个副本时,就会发生这种情况——在类路径中包含bin/是保证这个问题的一种方法。

对我来说,这发生在我将android-support-v4.jar添加到我的libs/文件夹时,eclipse不知怎么地在bin/classes/android-support-v4.jar中添加了第二个副本。

删除bin/classes中的额外副本解决了问题-不确定Eclipse为什么要在那里复制。

你可以用

grep jar -r yourroffendingclassname YourApp | grep jar

我将一个非库项目转换为库项目,但它在libs文件夹中有一个先前构建的jar文件。删除此jar文件将导致此错误消失。

在阅读terry关于删除bin目录的回复和Larrys关于ANT目录位置的回复后:

我将位于我的项目BIN目录的文件移动到BIN/CLASSES和im启动和运行。

编辑1 然后第二轮就失败了

编辑2 所以关闭Eclipse移动文件回到原来的位置,它所有的工作…嗯什么? 我不想假装知道为什么会这样。如果有任何变化将更新。

编辑3 我从备份中注意到BIN目录和BIN/CLASSES中确实有重复的文件。

所以答案是:不要在两个位置都有文件。至少对我来说,这是有效的。