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

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

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

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


当前回答

对于仍然有这个问题的其他人,他们尝试了上面的答案但仍然得到错误(这是我的情况),那么我的解决方案是从Eclipse中删除项目并重新导入它。

这使得Android库再次添加到我的引用库中,所以现在我有两个Android JAR文件引用,因此我删除了其中一个,现在它编译良好。

解决方案:从Eclipse IDE中删除项目,然后重新导入,然后检查上述解决方案。

其他回答

对于我来说,在我的构建路径中出现了一个额外的JAR引用。我把这个删了,现在可以用了。

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

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

最好将所有*.jar文件包含在项目文件夹树的“lib”目录中。这样,您就不需要通过转到项目的属性来定义构建路径。"lib"已经是一个构建路径

我在这里没有工作,我不得不改变我的proguard文件添加这一行:

-keep class !mycode.** { *; }

它保留了任何不是我的包的代码。

这里的答案对我也没用。

但是,我可以通过从除主应用程序外的所有附加库中删除Android类路径容器(在我的情况下是Android 4.4)来修复这个错误,然后导出APK。 库项目将不再编译,但jar文件仍然存在,APK正在部署。我不知道这种行为的原因是什么。