dalvik - 外部jar 提示“Conversion to Dalvik format failed with error 1”

  显示原文与译文双语对照的内容

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

意外的TOP-LEVEL异常:
java.lang.IllegalArgumentException: 已经添加:Lorg/xmlpull/v1/XmlPullParser;
。。
转换到Dalvik格式失败,错误为 1

只有在向项目添加特定外部JAR文件时,才会出现这里错误。 我很长一段时间搜寻可能的解决方案,但是没有一个可能的解决方案。 我甚至尝试改用 Android 1.6,而不是 1.5 ( 当前使用的版本) 。

时间:

那应该可以。

也有可能在项目文件夹( 我已经将 Admob JAR文件复制到我的src文件夹中) 中找到一个JAR文件,然后将它的添加为一个Java路径库。 It does not show up under Package explorer, so you do not notice it, but it does get counted twice, causing dreaded Dalvik error 1.

另一个可能的原因可能是软件包名称冲突。 com.abc.xyz 假设你有一个包和一个名为 A.java 在这个包的类,和另一个库项目( 它被添加到这里项目的依赖项) 包含 com.abc.xyz.A.java 相同,那么你会得到同样的错误。 这意味着对同一个文件 A.java 有多个引用,并且不能正确地构建它。

在其他方面这可能发生如果你意外或故意编辑/添加任何东西在类路径文件手动. In 某些情况下我们可以手动添加 android.jar 路径为生成java类路径文件 doc.On 移除javadoc之后,生成的代码也会 fine.Please 检查这个工作如果任何一个仍然发生。

我解决了这个问题。

看起来我的buildpath上有两个JAR文件,包括相同的包和类。

smack.jarandroid_maps_lib-1.0.2

从一个JAR文件中删除这个软件包解决了这个问题。

Windows 7解决方案:

确认问题是由文件中的混淆器 命令行 引起
[Android SDK Installation Directory] toolsproguardbinproguard 。bat

编辑以下行将解决这里问题:


call %java_exe% -jar"%PROGUARD_HOME%"libproguard.jar %*


call %java_exe% -jar"%PROGUARD_HOME%"libproguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9

如果你在构建路径中添加了 Android.jar 文件,也可能会造成这种情况,可能是在 Eclipse 中意外的快速修复。 删除它,右击项目 ——> 构建路径 ——> 配置构建路径 ——> android.jar, 删除。

...