自从更新到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时才会发生这种情况(但Ant没有问题)。 我是这样解决的:

右键单击项目名称 选择“构建路径”->配置构建路径 在Java Build Path中,转到Order和Export选项卡 取消选中.jar库

只是有时: 在Order和Export选项卡中,我没有任何jar库,所以我没有选中Android私有库项。现在我的项目正在运行。

其他回答

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

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

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

尝试删除R.java并让eclipse重新生成它。

以上这些都没用。 这最终是个简单的问题。

我有一个使用FacebookSDK和ViewPagerIndicator作为图书馆项目的项目。 所有这些都是基于Android API 16构建的,这两个项目使用了Android支持库vX (X不是16!)

我添加了一个外部JAR到这两个项目,并指向\extras\android\v4… 并且还删除了v4 jar我在他们的libs文件夹。

清理所有项目并重建。

用黄油!

我收到的确切错误:无法执行dex:多个dex文件定义Landroid/support/v4/view/PagerAdapter;转换为Dalvik格式失败:无法执行dex:多个dex文件定义landoid /support/v4/view/PagerAdapter;

拆分谷歌播放服务可以帮助您: 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'

在将facebooksdk.jar添加到已经依赖于android-support-v4.jar的项目后,我得到了这个错误。由于facebooksdk.jar已经包含了自己的android-support-v4.jar,因此存在冲突。从项目属性/ Java Build Path / Libraries中删除早期的android-support-v4.jar为我解决了这个问题。