在Eclipse中的Android应用程序中,我得到了以下错误。

意想不到的顶级异常: java.lang.IllegalArgumentException:已添加:Lorg/xmlpull/v1/XmlPullParser; .... 转换到Dalvik格式失败,错误1

此错误仅在向项目添加特定的外部JAR文件时出现。我花了很长时间寻找可能的解决方案,但没有一个可行。

我甚至尝试将Android 1.6而不是1.5(我目前使用的版本)。


当前回答

这个错误应该最终在ADT 17/Tools r17预览版发布时得到修复!如果不是全部,至少在某些情况下是这样。

其他回答

只有>清洁项目对我有用。

没有什么能帮到我,但这里建议的解决方案非常有效:

例如,将-optimizations !code/allocation/variable添加到proguard-project.txt中

您可以通过关闭菜单>“项目”>“自动构建”来轻松解决这个问题(使用Eclipse Android开发工具,构建:v22.0.1-685705),同时导出(unsigned) Android应用程序。之后,别忘了再打开它。

这个答案基本上是很多人想说的,但很多人可能不理解。所以…

“另一个原因可能是,如果您有一个JAR文件位于 您的项目文件夹,然后将其添加为Java路径库。它 不会显示在包资源管理器下,所以你不会注意到它,但是它 会被计算两次,导致可怕的Dalvik错误。 12年1月2日6点23分拉什米。B

意义:

如果你的lib文件夹中有这两个库(.jar):

然后这两个文件夹也被添加到你的构建路径:

意味着它们被计算了两次,从而给出了错误!

解决方案:

从你的构建路径中删除这些库,并删除“Android Dependencies”: 清洁所有项目 导出您的项目 享受吧!:)

通常对我来说,清理项目并不能解决这个问题。

但是在Eclipse中关闭项目,然后重新打开它似乎可以修复这些情况……