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


当前回答

我来晚了,但加上我自己的经验,这样我以后可以再找:)

我在升级android sdk和eclipse插件后遇到了这个问题。没有升级不受惩罚!

我的问题与库项目有关,我的应用程序引用标准java项目和android库项目。我注意到Java Build Path设置在Source列表中包含了android库项目src和res文件夹(为每个在Source中提到bin的人投票,src和res也是一个问题)。

所以解决方案是:

在source列表和project列表的Java Build Path部分中删除所有引用的Android库源代码和项目引用 确保项目列表中列出了纯java依赖项,并在Order和Export选项卡中勾选,以便类包含在apk中 确保所有Android库依赖都列在项目属性的Android部分,在选中SDK版本下面的库部分。

从其他解决方案中拼凑出所有这些解决方案需要很长时间!唷!

其他回答

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

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

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

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

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

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

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

我有几个库项目,在AndroidManifest中指定了相同的包名(因此R.java不会生成重复的字段名)。我不得不从AndroidManifest.xml中删除所有库项目的任何权限和活动,以删除错误,因此Manifest.java没有多次创建。希望这能帮助到一些人。

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

我的解决方案:

备份您的代码! 导航到您的项目工作区(不是您的项目)并运行以下命令: dev1:workspace$ cd ~/Documents/workspace/.metadata/.plugins/ Dev1:workspace$ rm -rf org.eclipse.core.resources 导航到Eclipse目录并键入以下命令: Dev1:eclipse$ ./eclipse clear Eclipse将从一个空的工作空间开始—不用担心,您的项目仍然在那里。 简单地创建新的项目从现有的资源和事情应该肉汁。

我收到的确切错误是: [2012-02-07 14:15:53 - Dex Loader]无法执行Dex:多个Dex文件定义Landroid/support/v4/view/PagerAdapter; [2012-02-07 14:15:53 - ProjectCloud]转换到Dalvik格式失败:无法执行dex:多个dex文件定义landoid /support/v4/view/PagerAdapter;