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


当前回答

我的解决方案:

备份您的代码! 导航到您的项目工作区(不是您的项目)并运行以下命令: 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;

其他回答

对我来说,我只是右键单击项目->构建路径->配置构建路径->库->删除依赖项

在它起作用之后。

我遇到了这个问题,通过改变路径来解决。Jar用于更改目录,但是。罐子拉了另一边,改变了路径,我毫无问题地进入

正如其他人所提到的,当您的构建路径中有同一个类的多个副本时,就会发生这种情况——在类路径中包含bin/是保证这个问题的一种方法。

对我来说,这发生在我将android-support-v4.jar添加到我的libs/文件夹时,eclipse不知怎么地在bin/classes/android-support-v4.jar中添加了第二个副本。

删除bin/classes中的额外副本解决了问题-不确定Eclipse为什么要在那里复制。

你可以用

grep jar -r yourroffendingclassname YourApp | grep jar

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

我有一个使用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;

发现了另一个发生此问题的场景: 问题是libs文件夹在项目首选项中被用作Source,因此导出了两次。 解决方法:右键单击libs文件夹->构建路径->从构建路径删除