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

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

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

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


当前回答

在我的案例中,问题在于OpenFeint API项目。我添加了OpenFeint作为库项目:

.

它也被添加到构建路径中,ADT tools 16在此场景中给出错误。

右键单击你的项目,单击构建路径,配置构建路径,然后看到图像,并从这里删除你的项目OpenFeint,一切都完成了:)

其他回答

我知道这个问题已经有答案了,但这是我的解决方案:

我的Android项目来自一个Subversion存储库,我刚刚做了Checkout as a New project。我必须手动将我的库(Android和Java)添加到构建路径,否则它不会让我编译。然后我就会得到上面的错误。

我必须创建一个新的Android项目,然后手动复制更改。

我也犯了同样的错误,我尝试了上面所有的方法,但都无济于事。

我的项目是挂在GIT源码管理系统上的,在导出到android应用的过程中,我发现有一些GIT相关的任务。然后我将所有更改提交到GIT存储库,错误消失了。

因此,如果您正在使用GIT进行源代码控制,而上述方法对您没有任何帮助,请尝试将所有更改提交到GIT存储库(并最终推到上游),然后再次尝试导出。

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

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

每次出现这种错误时,简单地清理项目对我来说都很有效。

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