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


当前回答

修改您的eclipse.ini文件并将最大内存参数设置为

-Xmx1024m

然后重新启动计算机。

这对我很管用。

其他回答

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

如果您有两个包含相同类名的jar,则会发生此错误,例如,我有两个库:jsr311-api-1.1.1.jar和jersey-core-1.17.1.jar,它们都包含类javax.ws.rs.ApplicationPath。我删除了jsr311-api-1.1.1.jar,它工作得很好。

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

在清理了之前版本工具遗留的一些目录和文件后,我的问题得到了解决。ADT Rev 14更改二进制文件的存储位置。我删除了整个bin目录,重新启动Eclipse,清理构建并强制重新构建。起初,这似乎奏效了,但在下一次运行后,问题又出现了。

我最终发现我的bin目录包含在项目构建路径中。我将bin从构建路径中排除,并重复上述步骤。这解决了我的问题。

ADT R14更新更改了类进入bin/classes目录的位置(参见http://tools.android.com/recent/buildchangesinrevision14)。如果使用ANT,则应该将类的路径从bin更改为bin/classes。这对我很管用。