14

我正在尝试使用Simple XML在我的 Android 应用程序中将我的 java 对象转换为 XML 格式。

我在网上收到NoClassDefFoundError

Serializer serializer = new Persister();

java.lang.NoClassDefFoundError: org.simpleframework.xml.core.Persister

simple-xml-2.6.1.jar在项目类路径中,当我得到时,NoClassDefFoundError我还将这 3 个罐子放在类路径中

stax-1.2.0.jar

stax-api-1.0.1.jar

xpp3-1.1.3_8.jar

但没有用。

还是有NoClassDefFoundError

任何形式的帮助将不胜感激。谢谢。

4

6 回答 6

21

您是否在构建路径配置中的“订购和导出”下检查了简单 XML?在更新到适用于 Android的最新和Eclipse 插件
后,我刚刚遇到了这个问题,已经成功使用 Simple 几个月了。SDK

出于某种原因,更新后,我不得不去:

  • simple-xml-2.6.2.jar在“订购和出口”下检查
  • 清理我的项目(重要

完成这两个步骤后,问题就消失了。

于 2012-03-22T10:05:52.463 回答
6

我解决了与您修改 Java Build 路径相同的问题。

Android DDMS 17.0.0.v201203161636-291853今天安装并NoClassDefFoundError出现了。

如何修复-> 选中复选框对simple-xml依赖项并赋予它更高的优先级yourproject/src/main/java

在此处输入图像描述

于 2012-03-26T11:32:08.257 回答
2

您不需要类路径中的其他三个 jar。

确保你的类路径看起来像这样,并且你把 jar 文件放在 lib 文件夹中(为了约定):

项目构建路径

将库添加到构建路径

添加到构建路径

于 2011-08-29T08:53:30.913 回答
0

您收到此错误是因为您可能没有在清单文件中声明任何活动。因此,请将其添加到您的清单文件中,如下所示:

 <activity android:name=".DatabaseActivity"></activity>

这里 DatabaseActivity 是我的应用程序的 Activity。试试看。

于 2011-08-29T08:44:12.223 回答
0

当您将应用程序部署到您的设备(或模拟器)时,您是否收到有关您尝试包含的 jar 的任何错误?并非所有 jar 都可以在 Android 上运行。较旧的代码可能会出现问题 您可能需要获取源代码并重新编译您感兴趣的 jar。这样可以确保字节码与 Android 兼容。我以前用一些罐子遇到过这个错误,这说明即使有错误它们也对我有用。它们也与 xml 相关(不是 SimpleXML)。

于 2011-08-29T08:56:25.370 回答
0

这有点奇怪,但这对我有用。

Serializer serializer;        
Persister persiter = new Persister();
serializer = persiter;   
于 2014-01-18T15:40:25.553 回答