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

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

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

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


当前回答

如果你在应用中使用Leadbolt广告SDK,并将“通知广告”和“显示广告”结合在一起,你需要使用pubxappCom.jar而不是pubxapp.jar来发布通知广告,否则你就会出现这个错误!

编码快乐!

其他回答

我解决了这个问题。

这是一个JAR文件冲突。

我的构建路径上似乎有两个包含相同包和类的JAR文件。

jar和android_maps_lib-1.0.2

从一个JAR文件中删除这个包就解决了这个问题。

在我的项目中使用Sherlock ActionBar库时,我已经处理了这个问题。 你可以做下面的步骤,这对我来说是工作。

右键单击项目,选择属性。 将出现一个对话框,在左侧菜单中选择“Java build path”。 删除右边面板上的“Android依赖”和“Android私有库”,然后单击确定 清理项目(选择菜单project—> Clean) 右键单击项目,选择Android工具->修复项目属性 再次清理项目。 重新启动计算机 打开eclipse,导出apk

希望这对你有所帮助。

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

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

意义:

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

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

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

解决方案:

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

每种方法我都试过了,但都没用。

有趣的是,如果我们使用proguard导出android应用程序,我们会得到“转换为dalvik格式失败,错误1”的错误,但如果我们在导出时不使用proguard,那么APK就成功创建了。

最后,我们的android项目中有一个jar的.class文件大小超过1.5 MB。它的大小导致了这个问题。我们把那个班分成许多小班,问题就解决了。

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