在Eclipse中的Android应用程序中,我得到了以下错误。
意想不到的顶级异常: java.lang.IllegalArgumentException:已添加:Lorg/xmlpull/v1/XmlPullParser; .... 转换到Dalvik格式失败,错误1
此错误仅在向项目添加特定的外部JAR文件时出现。我花了很长时间寻找可能的解决方案,但没有一个可行。
我甚至尝试将Android 1.6而不是1.5(我目前使用的版本)。
在Eclipse中的Android应用程序中,我得到了以下错误。
意想不到的顶级异常: java.lang.IllegalArgumentException:已添加:Lorg/xmlpull/v1/XmlPullParser; .... 转换到Dalvik格式失败,错误1
此错误仅在向项目添加特定的外部JAR文件时出现。我花了很长时间寻找可能的解决方案,但没有一个可行。
我甚至尝试将Android 1.6而不是1.5(我目前使用的版本)。
当前回答
这个答案基本上是很多人想说的,但很多人可能不理解。所以…
“另一个原因可能是,如果您有一个JAR文件位于 您的项目文件夹,然后将其添加为Java路径库。它 不会显示在包资源管理器下,所以你不会注意到它,但是它 会被计算两次,导致可怕的Dalvik错误。 12年1月2日6点23分拉什米。B
意义:
如果你的lib文件夹中有这两个库(.jar):
然后这两个文件夹也被添加到你的构建路径:
意味着它们被计算了两次,从而给出了错误!
解决方案:
从你的构建路径中删除这些库,并删除“Android Dependencies”: 清洁所有项目 导出您的项目 享受吧!:)
其他回答
我遍历了这个答案中的步骤,仍然没有得到解决方案。我一直在网上搜索,发现如果你试图在Android设备连接到计算机时导出APK,就会得到这个错误。
断开我的设备,然后关闭项目,重新启动计算机,打开项目,然后清理它,这三次都发生了。
对于我来说,在我的构建路径中出现了一个额外的JAR引用。我把这个删了,现在可以用了。
我也遇到过同样的问题,但这些方法都不起作用。 最后,我在控制台中看到错误是由于重复的类(一个在现有项目中,一个在添加的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。 如果是,请尝试移除其中一个。
这对我很管用。
您可以通过关闭菜单>“项目”>“自动构建”来轻松解决这个问题(使用Eclipse Android开发工具,构建:v22.0.1-685705),同时导出(unsigned) Android应用程序。之后,别忘了再打开它。
我知道这个问题已经有答案了,但这是我的解决方案:
我的Android项目来自一个Subversion存储库,我刚刚做了Checkout as a New project。我必须手动将我的库(Android和Java)添加到构建路径,否则它不会让我编译。然后我就会得到上面的错误。
我必须创建一个新的Android项目,然后手动复制更改。