Android 使用ant或Eclipse编译时出现多个dex文件错误
我无法生成我的应用程序 我正在运行今天下载的最新构建工具,这是在更新之后开始的Android 使用ant或Eclipse编译时出现多个dex文件错误,android,ant,dex,Android,Ant,Dex,我无法生成我的应用程序 我正在运行今天下载的最新构建工具,这是在更新之后开始的 -dex: [dex] Converting compiled files and external libraries into /Users/rob/Repos/my_app/bin/classes.dex... [dx] [dx] UNEXPECTED TOP-LEVEL EXCEPTION: [dx] com.android.dx.util.DexExcep
-dex:
[dex] Converting compiled files and external libraries into
/Users/rob/Repos/my_app/bin/classes.dex...
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] com.android.dx.util.DexException: Multiple dex files define
Lcom/robaldred/myapp/About$1;
我尝试过清理和重建,我也尝试过Eclipse,但它给出了相同的错误。
有人有什么想法吗?我现在遇到了麻烦。昨天我的系统(和另一个正在工作的系统)发生了一些事情,SDK想推动平台工具更新,但后来我根本无法使用它,等等
最后我把我的SDK移到一边,重新安装了它,然后一切都像以前一样工作了。我没有你的dex的具体问题,但我怀疑昨天的更新推送破坏了很多东西。祝你好运。我想bin中的目录从
com/XXX/XXX
到
您可以清理项目并解决它。我花了数小时清理、创建新项目、卸载和重新安装sdk。。。什么都没用。我也没有任何库项目(我只是在lib下有一些jar文件)。然而,最终我修复了它,我的步骤是:
- 搜索并清理所有.apk文件(我在.svn文件夹中有一些…grr..一些开发人员在svn下添加了一些与构建相关的文件夹)
- 删除bin和gen
- 从eclipse项目属性中删除对库JAR的引用,按ok。然后再把它们加回去。我有一些java编译的jar库。我不知道为什么我必须删除它并将其添加回去,但这确实是必要的
- 删除文件夹
,
,
,以及文件
,
和 - 在Eclipse中删除项目(右键,
),而不删除源文件 - 创建一个新的Android项目,并从以前的源代码中选择
- 如果需要,在生成路径中导入外部LIB
它应该可以解决这个恼人的问题。我也看到了同样的问题。如果您使用的是Android Studio,您需要确保在编译时任何项目中都没有包含“bin”或“gen”文件夹
删除此项后,我能够成功编译请非常小心附加到项目中的所有源文件。 我在两种情况下发现了这个问题:
src
放进我的src目录,而不是作为一个库[2013-08-02 20:22:03 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/facebook/android/AsyncFacebookRunner$1;
[2013-08-02 20:22:03 - Activity] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/facebook/android/AsyncFacebookRunner$1;
您应该在项目/库中查找相同的JAR(在大多数情况下,这应该由Android Eclipse环境创建),或者查看附加到项目的所有源代码,以查找的多次出现(如上面的示例代码所示)如果由于多个DEX文件而出现问题,则属于
com.facebook.android.AsyncFacebookRunner
删除整个目标文件夹并重新生成项目。这不会影响您的项目,因为目标文件夹中的所有内容都已重新生成 将实现文件树(包括:['.jar'],目录:“libs”)更改为 在应用程序gradle.build>dependencies中提供了文件树(包括:['.jar'],dir:'libs')
确保它在模块设置>依赖项{include=[*jar]dir=libs}中也已更改。它旁边必须有一个提供的范围,而不是实现。嘿,是的,这似乎是可能的。我已经重新安装了所有的sdk和工具,似乎已经解决了这个问题。似乎更新到r14会导致现有工作区出现问题。不过,我希望有更多的帖子,也许是一些具体的、怪异的东西。新的r14安装是好的。感谢您的inputcleaning并没有解决这个特定问题,正如在最初的问题中提到的,在没有移除JAR的情况下为我工作。在我的例子中,有两个外部JAR都定义了一些相同的类。从我的
libs
目录中删除一个JAR修复了我的错误。
[2013-08-02 20:22:03 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/facebook/android/AsyncFacebookRunner$1;
[2013-08-02 20:22:03 - Activity] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/facebook/android/AsyncFacebookRunner$1;