在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(我目前使用的版本)。
当前回答
更新Proguard到最新版本为我解决了这个问题。
我的proguard路径是C:\Program Files (x86)\Android\ android-sdk\tools\proguard\ 我从这里下载了新版本 并替换了bin和lib文件夹
感谢上帝!
其他回答
如果您在构建路径中添加了Android.jar文件,可能是由于Eclipse中的意外快速修复,也会导致这种情况。删除它右击项目->构建路径->配置构建路径-> android.jar,删除。
此错误是由于
拥有多个JAR文件。 如果JAR文件具有类似的类文件,则不能解析.dx格式。
解决方案:
制作并选择适当的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。 如果是,请尝试移除其中一个。
这对我很管用。
通常,当构建路径中存在不必要的JAR文件时,似乎就会出现这个问题。
我在开发IntelliJ IDEA时遇到了这个问题。对我来说,这是因为我添加了JUnit和Mockito库,它们在运行时被编译。这需要在模块属性中设置为“testing”。
这个错误应该最终在ADT 17/Tools r17预览版发布时得到修复!如果不是全部,至少在某些情况下是这样。