自从更新到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文件被加载了两次,因此有多个dex错误。只要去你的项目属性-> Java构建路径,并尝试取消选中jar,它被加载了两次。

其他回答

转到\bin\dexedLibs,删除已经删除的库的所有jar,然后清理

我也遇到了同样的问题,然后我看到在推动我的应用程序时,一些jar文件被加载了两次,因此有多个dex错误。只要去你的项目属性-> Java构建路径,并尝试取消选中jar,它被加载了两次。

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

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

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

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

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

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

[为我解决]

Eclipse项目属性->Java构建路径->订单和导出

取消勾选Android私有库。

问题是,“Android依赖”保留了对旧AdMob SDK的引用,甚至在:

从构建路径中移除旧的admob SDK 蚂蚁清洁 eclipse清洁 手动删除bin和gen文件夹 关闭/打开eclipse 更新SDK工具 更新adt

解决方案是将AdMob SDK JAR从你的计算机中删除,而不仅仅是从项目中删除。