在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(我目前使用的版本)。
当前回答
在我的案例中,问题在于OpenFeint API项目。我添加了OpenFeint作为库项目:
.
它也被添加到构建路径中,ADT tools 16在此场景中给出错误。
右键单击你的项目,单击构建路径,配置构建路径,然后看到图像,并从这里删除你的项目OpenFeint,一切都完成了:)
其他回答
今天我自己也遇到了这个问题。清理和重建并没有解决问题。删除和重新导入项目也没有帮助。
我最终追踪到我的.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>
以上所有的解决方案都不适合我。我没有使用任何预编译的.jar。我使用的是LVL和Dalvik错误,所有这些都与市场许可库有关。
这个问题通过删除主项目并重新导入(从现有的资源中创建一个新项目)得到了解决。
当我试图导出我的项目时,我也遇到了同样的问题。控制台什么也看不见。
对我来说,解决方案是升级proguard到最新版本,希望这能帮助到一些人。
通常,当构建路径中存在不必要的JAR文件时,似乎就会出现这个问题。
我在开发IntelliJ IDEA时遇到了这个问题。对我来说,这是因为我添加了JUnit和Mockito库,它们在运行时被编译。这需要在模块属性中设置为“testing”。
我还发现了别的东西。Android使用/libs目录存放JAR文件。我曾多次看到“转换到Dalvik格式失败,错误1”的错误,总是在我的JAR文件中出错时出现。
现在我将Roboguice升级到一个新版本,方法是将新的JAR文件放在/libs目录中,并将类路径切换到新版本。这导致了Dalvik错误。
当我从/libs文件夹中删除一个Roboguice JAR文件时,错误消失了。显然,Android会从/libs中获取所有JAR文件,而不管您在Java构建路径中指定了哪些文件。我不太记得了,但我认为Android从Android 4.0 (Ice Cream Sandwich, ICS)开始默认使用/libs。