无法执行dex:多个dex文件定义

问题

我知道这个问题曾经在这里问过几次。但我还没有看到任何可能的解决方案。在我将项目"作为Android应用程序运行"之前,如果我不清理它,我会收到以下错误并且必须重新启动Eclipse ...并再次清理。

Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define
     Lcom/jstun/core/attribute/MessageAttributeInterface;

com.jstun.core ...是我的src文件夹的一部分,当然我无法删除它。即使我删除该包,另一个包将显示为错误,如:

Unable to execute dex: Multiple dex files define
     Landroid/support/v4/app/ActivityCompatHoneycomb;

自从更新到ADT 15后我看到了这个错误,我在Ubuntu上使用Eclipse Galileo你有什么想法吗?谢谢你的回复!


#1 热门回答(136 赞)

这是构建路径问题。-确保你的bin文件夹未包含在构建路径中。

  • 右键单击​​你的项目 - >转到属性 - >构建路径。
  • 确保Honeycomb库位于libs /文件夹中,而不是源文件夹中。
  • 在库中单独包含库/构建路径中的库。顺便说一下,你可能需要引入android-support-v4库以获得Ice Cream Sandwich支持而不是Honeycomb支持库。

#2 热门回答(59 赞)

我今天遇到了类似的错误,原因是支持库被我的应用程序项目使用但具有不同版本的两个库项目引用。

更多细节:我的应用程序取决于2个库项目

  • FaceBookSDK 3.0 - >引用android-support-v4
  • ActionBarSherlock - >引用android-support-v4但带有修改版本以支持 Map 。

为了解决这个问题,我不得不让FaceBookSDK库直接依赖于ABS库而不是支持库。


#3 热门回答(47 赞)

好吧,对我来说,我删除了名为android support v4.jar的libs文件夹中的文件,一切顺利。祝你好运 :)