外部JAR上的“到Dalvik格式的转换失败,错误1”

别等时光非礼了梦想. 提交于 2019-12-15 20:54:18

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

在Eclipse中的Android应用程序中,出现以下错误。

超出预期的最高级别:
java.lang.IllegalArgumentException:已添加:Lorg / xmlpull / v1 / XmlPullParser;
....
转换为Dalvik格式失败,错误1

仅当我向项目中添加特定的外部JAR文件时,才会出现此错误。 我搜索了很长时间以寻找可能的解决方案,但是所有可能的解决方案都无效。 我什至尝试更改为Android 1.6而不是1.5(我使用的当前版本)。


#1楼

我发现了其他东西。 Android使用/libs目录存储JAR文件。 我无数次看到“向Dalvik格式转换失败并出现错误1”错误,总是在我的JAR文件中出现错误时出现。

现在,通过将新的JAR文件放在/libs目录中,并将类路径切换到新版本,我将Roboguice升级到了新版本。 这导致了Dalvik错误。

当我从/libs文件夹中删除Roboguice JAR文件之一时,错误消失了。 显然,Android会从/libs拾取所有JAR文件,无论您在Java构建路径中指定了哪个文件。 我记不清了,但是我认为Android默认从Android 4.0 (Ice Cream Sandwich,ICS)开始使用/libs


#2楼

通常,当构建路径中没有不必要的JAR文件时,似乎会出现此问题。

我在处理IntelliJ IDEA时遇到了这个问题。 对我来说,发生这种情况是因为我添加了JUnitMockito库,它们是在运行时编译的。 需要在模块属性中将其设置为“测试”。


#3楼

就我而言

项目->属性-> Java构建路径->在顺序和导出选项卡-> 取消选中 android-support-v4.jar


#4楼

编辑(新解决方案):

看起来以前的解决方案只是一个绕过。 我终于设法永久性地解决了该问题:就我而言,我的项目和项目中引用的Facebook项目中的android-support-v4文件都不匹配。

我通过执行Lint Check(Android工具/ Run Lint:检查常见错误)发现了此错误

我以前的解决方案:

我在该网站上尝试了任何可能的解决方案-没有任何帮助!!!

最后,我在这里找到了答案: https : //groups.google.com/forum/#!topic/actionbarsherlock/drzI7pEvKd4

简单步骤:

转到项目->取消选中自动构建

转到项目->清理...,同时清理库项目和您的应用程序项目

在仍然禁用自动构建的情况下,将您的应用导出为签名的APK


#5楼

您可以在导出(未签名)Android应用程序时关闭菜单>“项目”>“自动构建”,从而轻松解决此问题(使用Eclipse Android Developer Tools,内部版本:v22.0.1-685705)。 之后,别忘了再次打开它。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!