在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(我目前使用的版本)。
当前回答
我遍历了这个答案中的步骤,仍然没有得到解决方案。我一直在网上搜索,发现如果你试图在Android设备连接到计算机时导出APK,就会得到这个错误。
断开我的设备,然后关闭项目,重新启动计算机,打开项目,然后清理它,这三次都发生了。
其他回答
对于NewRelic用户:
如果你在你的应用程序中集成了newrelic jar,当newrelic版本过期时就会发生这种情况。
解决方案:
更新newrelic jar到最新版本。在eclipse上,只需右键单击项目并更新newrelic。或者你可以直接下载新版本。
以前我有Android SDK构建工具18.1.1和Windows XP。然后我的应用程序就正常运行了。
但是我把我的系统更新到Windows 7,还把Android SDK构建工具更新到19,以拥有最新的配置。
但是我的项目有xercesImpl-2.9.1.jar文件,所以当我开始运行我的应用程序与新的/更新的配置,我得到
Conversion to Dalvik format failed with error 1 while parsing org/apache/xerces/impl/xpath/regex/ParserForXMLSchema.class
所以我遍历了所有提到的这个问题的答案,但无法解决。我想了4天,然后我发现了这个链接,救了我的命,读了这篇文章后,我才知道这个问题是由于xercesimpll -2.9.1.jar与Android SDK构建工具到19。
所以我把它降级为Android SDK Build tools到18.1.1。我解决了这个问题。
我把我的答案贴在这里,这样如果有人遇到这个问题,他们就能解决它。
这让我很沮丧。希望能帮助别人。
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
-从你的java Build路径中移除所有的库。再加一次。 -清理你的项目。
运行它。
如果你有ADT版本12+,你应该更新你的防护从4.4 -> 4.6(如这里所述)。此外,您应该以原始形式保留…\bin\proguard.bat文件。
只需从网上下载它,并复制lib文件夹从下载包到:
[Android SDK安装目录]\tools\proguard\lib