Dalvik VM错误:发现异常“Javax.xml.namespace.QName.class”

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (28)

这不是一个问题。相反,当您使用外部API进行开发和android.jar时,在Android中发现的常见问题的观察不会重复到您的项目中!

提问于
用户回答回答于

在搜索了各种论坛,Google和计算器之后,我似乎自己找到了一个解决方案,并想到分享它。

  1. 每当链接外部库时,通过创建一个/ lib文件夹更好地链接它,并在那里转储这些.jar(意味着复制文件而不是链接它们)。使用Eclipse -> Build Properties -> Configure Build path -> Library tab -> Add external Jars。添加保存在/ lib文件夹中的必需.jars文件。(请注意,在Eclipse中作为“引用库”包含的jar会在/ lib文件夹中消失!但是,不要担心正确的链接发生了。另一个注意事项是检查被引用的/ lib jar应该不可见在Build Properties的Libraries选项卡中,因为它将被继承。)
  2. 另一个主要问题是使用Google API时。特别是那些使用java / javax的核心库函数的函数。对此非常小心。错误在于,DalvikVM试图链接这些链接,但是因为发现了重复并且无法确定要引用哪个链接而失败。以下是错误。 Dx trouble processing "javax/xml/namespace/QName.class": Ill-advised or mistaken usage of a core class (java.* or javax.*) when not building a core library.

在这种情况下,我观​​察到的是,这个类在xpp3-1.1.4c.jar中使用。如果您已将其复制到您的/ lib文件夹中,请删除它。然后清理该项目,并重新构建。此后该船顺利航行。

如果存在这种重复,请为其他引用的.jar执行此操作。

用户回答回答于

这对我有效。我正在使用maven,xpp3-1.1.4c依赖项出现在“Maven Dependencies”下。我不得不使用它(右键单击依赖项)Maven->“排除Maven Artifact ...”排除它。

扫码关注云+社区