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

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

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

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


当前回答

在我的例子中,把我的手机从USB上拔下来就可以修复这个错误。

其他回答

此错误是由于

拥有多个JAR文件。 如果JAR文件具有类似的类文件,则不能解析.dx格式。

解决方案:

制作并选择适当的JAR文件。 买最新的。

对于NewRelic用户:

如果你在你的应用程序中集成了newrelic jar,当newrelic版本过期时就会发生这种情况。

解决方案:

更新newrelic jar到最新版本。在eclipse上,只需右键单击项目并更新newrelic。或者你可以直接下载新版本。

对我来说

项目->属性->java build path -> in order and export TAB ->取消选中android-support-v4.jar

对我来说,问题在于我设置了错误的编译器遵从级别(1.8而不是1.7)。

这个答案解决了问题:

在Project SDK部分,当你添加Android SDK时,你应该 提供Java SDK和所有我的Android SDK使用Java 8作为SDK,所以它 创建版本错误的类文件,即使项目 等级是1.7(我不知道为什么,我以为一切都被选中了 按项目级别划分)。现在我改变了SDK (java版本“1.x.0”) 部分)。

如果你想解决这个问题,那么你必须把Android SDK1.6换成Android 2.2。之后,清理项目,然后构建并运行。然后您将看到您的应用程序正在运行。