在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(我目前使用的版本)。
当前回答
我也遇到过同样的问题,但这些方法都不起作用。 最后,我在控制台中看到错误是由于重复的类(一个在现有项目中,一个在添加的jar文件中):
java.lang.IllegalArgumentException: already added: package/MyClassclass;
[2011-01-19 14:54:05 - ...]: Dx1 error; aborting
[2011-01-19 14:54:05 - ...] Conversion to Dalvik format failed with error 1
因此,请检查您是否在项目中添加了带有重复类的jar。 如果是,请尝试移除其中一个。
这对我很管用。
其他回答
上面列出的解决方案没有一个对我有效。
这就是我遇到的问题:
I added the jSoup external JAR file to my project's path by first putting it in a source folder called "libs", and then right clicking on it, Build Path -> add to build path. This threw the Dalvik conversion error. It said I had "already included" a class from that JAR file. I looked around the project's directory and found that the place where it was "already included" was in fact the bin directory. I deleted the JAR file from the bin directory and refreshed the project in Eclipse and the error went away!
以上所有的解决方案都不适合我。我没有使用任何预编译的.jar。我使用的是LVL和Dalvik错误,所有这些都与市场许可库有关。
这个问题通过删除主项目并重新导入(从现有的资源中创建一个新项目)得到了解决。
通常对我来说,清理项目并不能解决这个问题。
但是在Eclipse中关闭项目,然后重新打开它似乎可以修复这些情况……
今天我自己也遇到了这个问题。清理和重建并没有解决问题。删除和重新导入项目也没有帮助。
我最终追踪到我的.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>
我遍历了这个答案中的步骤,仍然没有得到解决方案。我一直在网上搜索,发现如果你试图在Android设备连接到计算机时导出APK,就会得到这个错误。
断开我的设备,然后关闭项目,重新启动计算机,打开项目,然后清理它,这三次都发生了。