android - 外部 JAR 上的 "Conversion to Dalvik format failed with error 1"

标签 android dalvik illegalargumentexception android-sdk-1.6

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

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lorg/xmlpull/v1/XmlPullParser;
....
Conversion to Dalvik format failed with error 1

仅当我将特定的外部 JAR 文件添加到我的项目时才会出现此错误。我搜索了很长时间以寻找可能的解决方案,但它们都不起作用。

我什至尝试改用 Android 1.6 而不是 1.5(我使用的当前版本)。

最佳答案

转到项目 » 属性 » Java 构建路径 » 库并删除除“Android X.Y”之外的所有内容(在我的情况下为 Android 1.5)。单击确定。转到项目»清理»清理下面选择的项目»选择您的项目并单击确定。应该可以的。

您的项目文件夹中的某处也可能有一个 JAR 文件(我已将 Admob JAR 文件复制到我的 src 文件夹中),然后将其添加为 Java 路径库。它不会出现在 Package Explorer 下,因此您不会注意到它,但它确实会被计算两次,从而导致可怕的 Dalvik 错误 1。

另一个可能的原因可能是包名冲突。假设你在这个包中有一个包com.abc.xyz和一个名为A.java的类,还有另一个库项目(添加到这个项目的依赖中)其中包含相同的 com.abc.xyz.A.java,那么您将得到完全相同的错误。这意味着,您对同一文件 A.java 有多个引用,并且无法正确构建它。

在其他情况下,如果您不小心或故意在类路径文件中手动编辑/添加任何内容,则可能会发生这种情况。在某些情况下,我们可能会手动将 android.jar 路径添加到类路径文件以生成 java doc。删除该在javadoc生成的代码之后会正常工作。如果仍然出现任何问题,请也检查一下。

关于android - 外部 JAR 上的 "Conversion to Dalvik format failed with error 1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2680827/

相关文章:

android - 并行平移和缩放动画

java - 如何在android表格中添加行

android - DalvikVM 上的 CLI 在 JNI 库上失败

Java java.lang.IllegalArgumentException : wrong number of arguments

android - 如果有任何网络 Activity ,我如何得到通知?

android - SQLite 本地数据库与 Firestore 使用字符串转换器

android - 突然收到 dalvik 错误,例如无法解析虚拟方法

java - 在 Android 中使用静态变量

java - 将 Component Z Order 结果设置为非法位置

jsf - java.lang.IllegalArgumentException : Invalid URL Pattern: [xhtml]