在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(我目前使用的版本)。
当前回答
对于仍然有这个问题的其他人,他们尝试了上面的答案但仍然得到错误(这是我的情况),那么我的解决方案是从Eclipse中删除项目并重新导入它。
这使得Android库再次添加到我的引用库中,所以现在我有两个Android JAR文件引用,因此我删除了其中一个,现在它编译良好。
解决方案:从Eclipse IDE中删除项目,然后重新导入,然后检查上述解决方案。
其他回答
此错误是由于
拥有多个JAR文件。 如果JAR文件具有类似的类文件,则不能解析.dx格式。
解决方案:
制作并选择适当的JAR文件。 买最新的。
我知道这个问题已经有答案了,但这是我的解决方案:
我的Android项目来自一个Subversion存储库,我刚刚做了Checkout as a New project。我必须手动将我的库(Android和Java)添加到构建路径,否则它不会让我编译。然后我就会得到上面的错误。
我必须创建一个新的Android项目,然后手动复制更改。
以前提出的解决方案对我都不起作用。以我为例,当我从引用库源代码文件夹切换到使用库JAR文件时,问题发生了。 最初,在Android应用程序项目属性\ Android页面\ library部分下列出了一个Android库项目,该库也在项目资源管理器树中作为库源目录的链接进行比较。
首先,我只是从项目树中删除了目录链接,并将JAR库添加到构建路径中,但这导致了异常。
正确的过程是(在更改回构建路径并将引用放回库源代码之后):
通过移除应用程序项目属性\ Android页面中的引用,正确地删除库源目录链接 像往常一样将库JAR添加到应用程序项目构建路径。
如果你想解决这个问题,那么你必须把Android SDK1.6换成Android 2.2。之后,清理项目,然后构建并运行。然后您将看到您的应用程序正在运行。
在大多数情况下,这个问题是由Proguard的bug或损坏版本引起的,因为一些奇怪的原因,Proguard通常会从官方的Android SDK管理器安装
请不要编辑Proguard的bat文件,以免出现后续问题,如果遇到此问题,请到官方网站下载最新稳定版本的Proguard,并替换所有的Proguard文件
android-sdk\tools\proguard
使用从下载的存档中提取的最新保护文件。
没有必要删除所有外部库的依赖关系,如果开发人员添加一个库到他的项目中,最有可能的是这个库是需要的。