Eclipse,Android:意外的无法执行dex:多个dex文件定义

6
问题: 我无法构建我的项目。当我尝试时,控制台会显示以下符号:
[2014-09-28 23:49:30 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/annotation/AnimRes;
[2014-09-28 23:49:30 - Shop] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/annotation/AnimRes;

我为这个问题搜索了数个小时,但没有任何结果。我尝试清理项目,删除bin文件夹等,但仍然无效。

请帮帮我,我不知道该怎么办。


尝试所有在这个SO问题中提到的解决方案:https://dev59.com/mGsz5IYBdhLWcg3wNE5q - ashoke
6个回答

8
从libs文件夹中删除android-support-annotations.jar。因为这些注释已经包含在最新版本的android-support-v4.jar文件中。

5

我无法修复它,于是最终在不同的工作空间创建了一个新项目,并将所有代码复制到新项目中。这可能不是最明智的做法,但我还能怎么办呢...


2
我在这个问题上也浪费了几个小时,但我认为我找到了一个解决方案,至少对于我的情况是这样。 Andoid Studio告诉我有“Multiple dex files define Landroid/support/annotation/AnimRes;”,但他还说有一个名为inputList.txt的文件有一个错误。 好吧,我在目录树中找到了这个文件,并在app/build/intermediates/tmp/dex/debug文件夹中找到了它。该文件是一个简单的文本文件,每个依赖项(如support-annotations或androidplot-core)都有一个绝对路径的一行。
我看到有几行重复出现,我认为如果我移除它们就可以解决问题,但这并没有起作用。
然后我搜索了这条路线,所有的.jar文件都在同一个地方:app/build/intermediates/pre-dexed/debug/文件夹中,我看到了重复的.jar文件,我删除了它们,之后我去文件中也删除了重复的行。
然后我运行我的项目,问题消失了,问题得到了解决。
问题在于:.jar文件在那个文件夹中重复了。
很容易!

1
我有同样的问题。我认为这是因为当我用Tortoise SVN更新项目仓库时,bin文件夹内容发生了修改。我已经删除了bin文件夹,Eclipse生成了新的文件夹,但问题仍然存在。但我通过删除Android依赖库来解决问题。以下是步骤:
选择项目->右键单击->选择构建路径->配置构建路径->在库选项卡中删除Android依赖项->确定。然后清理项目并重新运行。 :)

3
抱歉,我删除了我的评论。在我的情况下,android-support-v4是问题所在。我的项目同时使用了android-support-v4和AppCompat。因此,我移除了support-v4并进行了清理。错误已经消失了。 :) - cmcromance

0

正如控制台输出所说的“Multiple dex files define”。

在bin/dexedLibs下,有许多具有相同名称但版本不同的jar包。

我通过删除所有lib文件夹下重复的support v4 jar包,并使我的主项目引用库项目中的单个jar包,然后清理项目以重新构建来解决这个问题。现在它完美地工作了。


0

移除包含android-support-v4.jar的库,然后直接将android-support-v4.jar添加到构建路径中。顺便说一下,我使用Eclipse作为IDE。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接