自从更新到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创建一个新项目。


当前回答

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

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

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

你可以用

grep jar -r yourroffendingclassname YourApp | grep jar

其他回答

我也面临着同样的问题。问题我发现我有一个库项目,在该项目的清单文件中,没有targetSdkVersion属性。我已经在(uses-sdk)标签下添加了该属性。然后清理我的项目。现在我的应用程序正常运行。

我遇到了这个问题,通过改变路径来解决。Jar用于更改目录,但是。罐子拉了另一边,改变了路径,我毫无问题地进入

进入项目/属性和Java构建路径,取消选中Android私有库。

Done

尝试删除R.java并让eclipse重新生成它。

在我的例子中,我删除了“src/com/..”目录中的“。apk”文件,清理项目并运行。

我已经尝试了之前所有的建议,但对我不起作用!