【问题标题】:No class found exception while using json-lib in android在android中使用json-lib时没有发现异常
【发布时间】:2013-01-16 15:37:37
【问题描述】:

我从网络获取输入,这是一个 Xml 文件 并转换为 Json 数据 使用库 json-lib 。我创建了一个用户库并在其中添加了以下 jar:-

  1. json-lib-2.3-jdk15.jar
  2. commons-collections.jar
  3. commons-lang.jar
  4. commons-logging.jar
  5. commons-beanutils.jar
  6. ezmorph-1.0.6.jar
  7. xom-1.1.jar

但还是报如下错误:-

08-04 13:58:31.642: 错误/dalvikvm(484): 找不到类“net.sf.json.xml.XMLSerializer$CustomElement”,引用自方法 net.sf.json.xml .XMLSerializer.addNameSpaceToElement

谁能帮我解决这个问题。

【问题讨论】:

  • 'net.sf.json.xml.XMLSerializer$CustomElement'为什么会有$?
  • @Sherif 我相信这是因为它是 XMLSerializer 中的一个嵌套类。所以 net.sf.json.xml.XMLSerializer.CustomElement 是它的真实路径。

标签: java android json-lib


【解决方案1】:

要么你有 sdk 级别/jdk 级别冲突。我的意思是 dalvik 无法获取您库的 CustomElement 类的字节码,因为它是根据您的 SDK 的最新功能(例如注释)进行编译的。

或者在您的其他一些 jar 或 lib 文件夹中存在冲突的库 json-lib。

(前3个cmets不相关,只是内部类的编译方式,使用$)

问候, 斯蒂芬

【讨论】:

  • 是的,我想我有冲突的 jar,但它仍然给出以下错误:- 08-04 15:05:14.303: ERROR/AndroidRuntime(366): FATAL EXCEPTION: main 08-04 15 :05:14.303: ERROR/AndroidRuntime(366): java.lang.NoClassDefFoundError: org.apache.commons.io.IOUtils 如何解决这个问题?
  • 你确定你的库与 Dalvik 兼容吗?
【解决方案2】:

由于 android 已经支持 json org.json 不同的 json 库可能会发生冲突。 (可以下载jarhere

尝试在 android 上使用这个库而不是外部库。

顺便说一句:如果您需要任何 java 代码(不仅是 android),您也可以使用这个库

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    • 2017-10-03
    • 1970-01-01
    相关资源
    最近更新 更多