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

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

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

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


当前回答

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

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

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

其他回答

通常,当构建路径中存在不必要的JAR文件时,似乎就会出现这个问题。

我在开发IntelliJ IDEA时遇到了这个问题。对我来说,这是因为我添加了JUnit和Mockito库,它们在运行时被编译。这需要在模块属性中设置为“testing”。

我也遇到过同样的问题,但这些方法都不起作用。 最后,我在控制台中看到错误是由于重复的类(一个在现有项目中,一个在添加的jar文件中):

java.lang.IllegalArgumentException: already added: package/MyClassclass;
[2011-01-19 14:54:05 - ...]: Dx1 error; aborting
[2011-01-19 14:54:05 - ...] Conversion to Dalvik format failed with error 1

因此,请检查您是否在项目中添加了带有重复类的jar。 如果是,请尝试移除其中一个。

这对我很管用。

编辑(新解决方案):

看起来之前的解决方案只是一个旁路。我最终设法永久性地解决了这个问题: 在我的案例中,在我的项目中的android-support-v4文件和在我的项目中引用的Facebook项目中存在不匹配。

我通过执行Lint检查发现了这个错误(Android工具/运行Lint:检查常见错误)

我之前的解决方案:

我在这个网站上尝试了任何可能的解决方案-没有任何帮助!!

最后我在这里找到了答案: https://groups.google.com/forum/ !主题/ actionbarsherlock / drzI7pEvKd4

简单的步骤:

转到项目->取消勾选自动生成 进入项目->清洁…,清洁图书馆项目和你的 应用项目 导出您的应用作为一个签名APK,而自动构建仍然是 禁用

以前提出的解决方案对我都不起作用。以我为例,当我从引用库源代码文件夹切换到使用库JAR文件时,问题发生了。 最初,在Android应用程序项目属性\ Android页面\ library部分下列出了一个Android库项目,该库也在项目资源管理器树中作为库源目录的链接进行比较。

首先,我只是从项目树中删除了目录链接,并将JAR库添加到构建路径中,但这导致了异常。

正确的过程是(在更改回构建路径并将引用放回库源代码之后):

通过移除应用程序项目属性\ Android页面中的引用,正确地删除库源目录链接 像往常一样将库JAR添加到应用程序项目构建路径。

以前我有Android SDK构建工具18.1.1和Windows XP。然后我的应用程序就正常运行了。

但是我把我的系统更新到Windows 7,还把Android SDK构建工具更新到19,以拥有最新的配置。

但是我的项目有xercesImpl-2.9.1.jar文件,所以当我开始运行我的应用程序与新的/更新的配置,我得到

Conversion to Dalvik format failed with error 1 while parsing org/apache/xerces/impl/xpath/regex/ParserForXMLSchema.class

所以我遍历了所有提到的这个问题的答案,但无法解决。我想了4天,然后我发现了这个链接,救了我的命,读了这篇文章后,我才知道这个问题是由于xercesimpll -2.9.1.jar与Android SDK构建工具到19。

所以我把它降级为Android SDK Build tools到18.1.1。我解决了这个问题。

我把我的答案贴在这里,这样如果有人遇到这个问题,他们就能解决它。

这让我很沮丧。希望能帮助别人。