自从更新到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文件,我删除了我甚至不使用的那个,它马上就工作了。 很奇怪,因为我之前没有注意到,之前还能用,然后突然就不用了……

其他回答

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

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

拆分谷歌播放服务可以帮助您: https://developers.google.com/android/guides/setup#split

所以除了添加游戏服务之外:

compile 'com.google.android.gms:play-services:7.5.0'

你只需要添加你需要的:

// Google Maps only
compile 'com.google.android.gms:play-services-maps:7.5.0'

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

[为我解决]

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

取消勾选Android私有库。

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

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