在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(我目前使用的版本)。
当前回答
今天我自己也遇到了这个问题。清理和重建并没有解决问题。删除和重新导入项目也没有帮助。
我最终追踪到我的.class文件中的一个坏添加。我认为这是由插件工具添加的,当我试图解决另一个问题时,删除它摆脱了“转换到Dalvik格式失败,错误1”的构建错误:
<classpathentry kind="lib" path="C:/dev/repository/android-sdk-windows/platforms/android-3/android.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/dev/repository/android-sdk-windows/docs/reference"/>
</attributes>
<accessrules>
<accessrule kind="nonaccessible" pattern="com/android/internal/**"/>
</accessrules>
其他回答
这个错误应该最终在ADT 17/Tools r17预览版发布时得到修复!如果不是全部,至少在某些情况下是这样。
这里的答案对我的情况没有帮助。
对我来说,问题是mvn eclipse:eclipse正在生成一个类路径条目,这是一个Android库项目的项目引用,然而,它没有显示在eclipse构建路径设置!这意味着库类在dexer中结束了两次,一次来自隐藏的项目引用,一次来自链接库JAR。
我必须用文本编辑器打开.classpath并手动删除projects元素。这解决了问题。
通常对我来说,清理项目并不能解决这个问题。
但是在Eclipse中关闭项目,然后重新打开它似乎可以修复这些情况……
如果您在构建路径中添加了Android.jar文件,可能是由于Eclipse中的意外快速修复,也会导致这种情况。删除它右击项目->构建路径->配置构建路径-> android.jar,删除。
如果你有ADT版本12+,你应该更新你的防护从4.4 -> 4.6(如这里所述)。此外,您应该以原始形式保留…\bin\proguard.bat文件。
只需从网上下载它,并复制lib文件夹从下载包到:
[Android SDK安装目录]\tools\proguard\lib