在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运行了很长时间之后,或者在我成功地构建了一个带签名的apk之后。
就我的经验而言,修复它我只是重新启动eclipse。
其他回答
最好将所有*.jar文件包含在项目文件夹树的“lib”目录中。这样,您就不需要通过转到项目的属性来定义构建路径。"lib"已经是一个构建路径
如果你有ADT版本12+,你应该更新你的防护从4.4 -> 4.6(如这里所述)。此外,您应该以原始形式保留…\bin\proguard.bat文件。
只需从网上下载它,并复制lib文件夹从下载包到:
[Android SDK安装目录]\tools\proguard\lib
Windows 7解决方案:
确认该问题是由文件中的ProGuard命令行导致的 [Android SDK安装目录]\tools\proguard\bin\proguard.bat
编辑下面这行就可以解决问题了:
call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*
to
call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
对于仍然有这个问题的其他人,他们尝试了上面的答案但仍然得到错误(这是我的情况),那么我的解决方案是从Eclipse中删除项目并重新导入它。
这使得Android库再次添加到我的引用库中,所以现在我有两个Android JAR文件引用,因此我删除了其中一个,现在它编译良好。
解决方案:从Eclipse IDE中删除项目,然后重新导入,然后检查上述解决方案。
以上所有的解决方案都不适合我。我没有使用任何预编译的.jar。我使用的是LVL和Dalvik错误,所有这些都与市场许可库有关。
这个问题通过删除主项目并重新导入(从现有的资源中创建一个新项目)得到了解决。