在Eclipse中的Android应用程序中,我得到了以下错误。

意想不到的顶级异常: java.lang.IllegalArgumentException:已添加:Lorg/xmlpull/v1/XmlPullParser; .... 转换到Dalvik格式失败,错误1

此错误仅在向项目添加特定的外部JAR文件时出现。我花了很长时间寻找可能的解决方案,但没有一个可行。

我甚至尝试将Android 1.6而不是1.5(我目前使用的版本)。


当前回答

我也面临着这个问题,当我添加相同的jar文件与不同的版本,我只是删除旧版本的jar和清洁项目,它为我工作很好。

其他回答

今天我自己也遇到了这个问题。清理和重建并没有解决问题。删除和重新导入项目也没有帮助。

我最终追踪到我的.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文件中):

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。 如果是,请尝试移除其中一个。

这对我很管用。

只需要清理项目

如果这行不通,试试其他的解决方案

我也有同样的问题。当我检查时,我看到有两个类具有相同的名称,每个类在我添加的外部jar文件中。然后我必须删除一个jar文件。幸运的是,我得到了另一个jar文件1我已经删除。

编辑(新解决方案):

看起来之前的解决方案只是一个旁路。我最终设法永久性地解决了这个问题: 在我的案例中,在我的项目中的android-support-v4文件和在我的项目中引用的Facebook项目中存在不匹配。

我通过执行Lint检查发现了这个错误(Android工具/运行Lint:检查常见错误)

我之前的解决方案:

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

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

简单的步骤:

转到项目->取消勾选自动生成 进入项目->清洁…,清洁图书馆项目和你的 应用项目 导出您的应用作为一个签名APK,而自动构建仍然是 禁用