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

我知道这个问题之前已经被问过几次了。 但是我还没有看到任何可能的解决scheme。 在我做项目'运行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伽利略你有什么想法吗? 谢谢你的回复!

这是一个构buildpath问题。

  • 确保您的bin文件夹不包含在您的构buildpath中。

  • 右键单击你的项目 – >去属性 – >生成path。

  • 确保Honeycomb库位于libs/文件夹中,而不在源文件夹中。

  • 将库包含在libs/个别构buildpath中。

    顺便说一句,你可能想引入android-support-v4库来获得冰淇淋三明治的支持,而不是蜂窝支持库。

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

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

  • FaceBookSDK 3.0 – >引用了android-support-v4
  • ActionBarSherlock – >它引用了android-support-v4,但支持地图的修改版本。

为了解决这个问题,我必须使FaceBookSDK库直接取决于ABS库而不是支持库。

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

我有同样的错误发生,每当我修复它,它会回来后,我重新启动Eclipse。

首先,正如其他人所说,确保您的项目周围没有多个相同的.jar文件副本。

在我的情况下,我有一个使用ActionBarSherlock(在其他库项目之间)的主项目。 我使用的技巧是进入ActionBarSherlock --> Properties --> Java Build path --> Order of Export和取消selectAndroid Private Libraries 。 然后进入Project -> Clean ,现在你应该能够正确地build立项目。

现在,由于某种原因,每次我重新启动Eclipse,它都会自动启用该checkbox,所以我不得不重复这个过程。

希望这有助于一些失落的灵魂在那里:)

转到项目/属性和Java构buildpath,并取消选中Android私有库

对我来说,只需转到项目属性>> Java构buildpath>>订单和导出。 取消所有的外部库,如下图所示。 它为我工作。 希望这个帮助。

项目属性

我的项目也面临这个问题。 AVD无法重新加载assets,lib,res和etc文件夹上下文。 问题:Dex Loader]无法执行dex:多个dex文件定义Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl

然后,我创build了新的项目并复制了MainActivity.javaactivity_main.xml ,drawable上下文。 然后从包浏览器中删除旧的项目,重新启动您的Eclipse和AVD。 我的项目现在正常工作…. :)我希望这一步将有助于你的一点点伙计..!

我有同样的问题,我试过的是:

  1. 列表项目
  2. 打开项目构buildpath,
  3. select“库”选项卡,
  4. 删除Android库以外的所有库
  5. 添加所有必需的JAR文件,
  6. 并做了!

它适合我,谢谢。

如果你面对这个问题与facebook-connent-plugin for phonegap的一些问题

尝试删除bin / class / com / facebook / android目录中的文件! – >和重build

正如其他人所提到的,当您在构buildpath或设置中的其他地方有多个相同类的副本时,就会发生这种情况。

我已经将android-support-v4.jar添加到我的libs /文件夹中,并且不知何故eclipse又添加了第二个副本到bin / classes / android-support-v4.jar。

你可以用这个来testing

grep -r YourOffendingClassName YourApp | grep jar

删除bin / classes中的额外副本解决了这个问题 – 不确定为什么Eclipse在那里做了一个副本。

我得到这个错误的另一个原因。 我错误地添加了v4和v13支持库。 因为我的minSdkVersion是15,所以这对我没有必要。

我通过包括v13支持库来解决它。 此外,请确保在eclipse中的导出库构buildpath中选中标记库。 我也把它移到顶端。

对我来说,解决scheme只是做以下的事情:

  1. – > lib目录,并删除任何多个元素。
  2. 项目 – >属性 – > Java构buildpath和删除任何依赖库被自动添加,而不是由你! – >应用
  3. 重新启动Eclipse IDE
  4. 现在清理项目。
  5. 在设备/模拟器上运行/debugging项目…祝你好运

即使经过多个答案,没有解决scheme为我工作。

我从构buildpath中删除了“Android Dependencies”。 再次将所有的jar文件添加到构buildpath,错误消失了。 不知何故日食似乎caching的东西。

我有这个问题,这并不意味着,同一个库被加载了很多次,但系统正试图加载一个类具有相同的名称和可能相同的包名称同时,即

  • com.pack1.decom.pack1.de Class Geometry

和另一个

  • com.pack1.decom.pack1.de Class Geometry library2.jar.

你应该怎么办? 您应该分析正在使用的方法,即library1.jar或library2的方法。

有2个解决scheme,

  1. 重命名一个包名,然后dalvik解释它们是不同的类
  2. 或者如果你想冒风险,请清除这个不包含我们真正使用的方法的类。

我希望已经澄清了这个经常被问到的问题。

我将这个答案留给这个场景的人,就像我一样。

我偶然发现我错误地将Support Library JAR文件拖放到我的src文件夹中,并且它躺在那里。 由于我不知道它是如何发生的,或者当我把它放在那里,我无法想象那里有什么错。

我得到了同样的错误,我发现问题后,删除它。 项目现在工作正常。

起初我的问题是:

无法执行dex:java.nio.BufferOverflowException。 检查Eclipse日志中的堆栈跟踪。

1)我右键我的项目 – > Android的工具 – >添加支持库 (运行我的应用程序…没有工作,所以我继续下去…)2)再次右键点击我的项目 – > 属性 – > Android – >检查项目生成目标Android 4.1.2(16) (再次运行应用程序…并得到这个:

无法执行dex:多个dex文件定义Landroid / support / v4 / app / BackStackState;

3)所以我去了我的项目“lib”文件夹 ,并删除 “旧”Android.support.library.jar (运行应用程序和十字手指…)

有用!

希望它可以帮助别人…谢谢你!

我从构buildpath中删除Android依赖关系,它的工作。

这个错误发生在我的应用程序的项目中时,我在Eclipse工作区(在我的情况下是Facebook SDK)中引用了一个库项目, 同时在libs文件夹中包含了Facebook SDK。 删除库引用,但保留在libs文件夹中的jar删除了错误。

我有同样的问题。 我不得不删除.apk文件,然后它的工作。

对我来说,我从lib文件夹中删除了android-support-v4.jar,并从构buildpath中删除。

  • 右键单击项目,然后build Path>configuration build path
  • select库选项卡,然后单击support-v4 library ,然后单击删除
  • 点击确定

然后清理你的项目并运行它将工作:-)

如果有人像我刚才那样在这个问题上摇头摆头:

我的情况涉及一系列图书馆项目。 简单地做一个项目干净的所有库固定的一切

我发现下面的解决scheme在Eclipse …希望它适合你:)

 Right click on the Project Name Select Java Build Path, go to the tab Order and Export Unchecked your .jar library's 

将同一个库多次添加到项目中时,会发生此问题。 如果您没有多次故意添加库,请查看已添加到项目中的库的依赖项/私有库,很可能它们已经包含导致此冲突的库。

我也在努力寻找这个问题。 在我的情况下发生了什么事是复制apk到电子邮件(拖放) – 错误的apk被粘贴在src文件夹中的一个包。 从源文件夹中删除apk后,它工作正常。

我在Intellij中遇到了这个问题,这是因为我添加到我的项目中的ActionBarSherlock库将android-support-v4.jar定义为编译依赖项,并且这个jar已经包含在我的项目中,所以DEX有多个拷贝/版本编译时间。

解决的办法是把这个jar的ActionBarSherlock模块依赖项改为Runtime而不是compile,因为我的项目已经提供了它。

对我来说,问题在于,我之前已经添加了一个lib项目(autobahn lib),后来又将其更改为同一个库的Jar文件。虽然我删除了旧库项目的引用,但我得到了这个错误。 以下所有的答案我检查了构buildpath等,但我没有添加这些库手动build立path。 所以我什么也没有删除。 终于遇到这个文件夹。

斌/ dexedLibs

我注意到有两个相同的名称相应的高速公路Android的jar文件导致冲突。 所以我删除了dexedLibs文件夹中的所有jar文件并重build项目。 这解决了这个问题。

要添加无数的其他潜在的来源…我更新了我的项目的lib文件夹中的所有库,然后Eclipse“帮助”重新安装所有原始库。 Eclipse内部不再有任何引用这些库,但是外部的dex-maker程序只抓取了lib目录中的所有文件,从而得到了几个库.jar文件的两个版本。

git status确定了新文件和git clean -f为我删除了它们(尽pipe我有时不得不在Windows上等待或重新启动Eclipse,因为它仍然有从副本打开的文件)。

超简单的解决scheme和最好的:

删除右键单击主项目的文件夹 – >属性 – >除Android XY之外的Java构buildpath(其中XY是Android中的版本)中的所有内容。 清洁和build设。 完成!

确保之前有一个单一的android-support-v4.jar。

修改eclipse.ini中的maximun内存参数

 -Xmx1024m 

并重新启动您的电脑。

它为我工作:)