自从更新到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文件。并重新构建库和应用程序项目。

这次成功了!

其他回答

[为我解决]

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

取消勾选Android私有库。

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

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

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

我从构建路径中删除了Android依赖项,它起作用了。

编辑:忽略它。我在maven依赖项和libs文件夹中有相同的jar。我移除了lib文件夹里的那个。

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

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