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


当前回答

我的libs文件夹中有两个不同版本的Cordova .jar文件,我删除了我甚至不使用的那个,它马上就工作了。 很奇怪,因为我之前没有注意到,之前还能用,然后突然就不用了……

其他回答

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

Done

发现了另一个发生此问题的场景: 问题是libs文件夹在项目首选项中被用作Source,因此导出了两次。 解决方法:右键单击libs文件夹->构建路径->从构建路径删除

当我在项目中添加ActionBarSherlock作为库时,我也遇到了类似的问题。Eclipse ADT v21.0预创建的dex文件据说是为了更快地构建项目。这些dex文件与lib文件夹中的一些jar文件相同。所以只保留一个,删除另一个。我删除了lib文件夹中的那些,因为dexed文件是自动生成的。

当我从adt 14升级到15时,我遇到了这个问题,为了让它工作,我最终只是删除了。eclipse文件夹(连同我的设置),并重新安装adt 15。

在将facebooksdk.jar添加到已经依赖于android-support-v4.jar的项目后,我得到了这个错误。由于facebooksdk.jar已经包含了自己的android-support-v4.jar,因此存在冲突。从项目属性/ Java Build Path / Libraries中删除早期的android-support-v4.jar为我解决了这个问题。