在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(我目前使用的版本)。
当前回答
这些答案对我都没用。我的问题是由JUnit和hamcrest引起的。参见java.lang.IllegalArgumentException: already added: Lorg/hamcrest/BaseDescription;转换到Dalvik格式失败,错误1
其他回答
每种方法我都试过了,但都没用。
有趣的是,如果我们使用proguard导出android应用程序,我们会得到“转换为dalvik格式失败,错误1”的错误,但如果我们在导出时不使用proguard,那么APK就成功创建了。
最后,我们的android项目中有一个jar的.class文件大小超过1.5 MB。它的大小导致了这个问题。我们把那个班分成许多小班,问题就解决了。
我用另一种方法找到了解决办法。 https://stackoverflow.com/a/14948244/1014288
多亏了这个,你可以修复没有删除和东西
这个错误是由于我从构建路径中排除的几个文件被删除了,但没有从排除列表中删除。
项目->属性-> Java Build Path -> Source选项卡->项目/src文件夹->双击排除->删除项目中不再存在的任何文件。
我在这里没有工作,我不得不改变我的proguard文件添加这一行:
-keep class !mycode.** { *; }
它保留了任何不是我的包的代码。
通常,当构建路径中存在不必要的JAR文件时,似乎就会出现这个问题。
我在开发IntelliJ IDEA时遇到了这个问题。对我来说,这是因为我添加了JUnit和Mockito库,它们在运行时被编译。这需要在模块属性中设置为“testing”。