0

我的代码在 API 11 及更高版本上运行良好,但在 API 8 上崩溃。当我查看日志时,问题是我正在使用 API 11 中添加的 JsonWriter。我正在开发我的 android 应用程序以在 API 8 和更高版本上工作,是否存在在 API 8 中使用 JSONreader/JsonWriter?

日志 :

    07-29 11:20:26.815: E/dalvikvm(305): Could not find class 'android.util.JsonWriter',    referenced from method org.openmobster.core.mobileCloud.android.storage.Record.toJson
    07-29 11:20:26.815: W/dalvikvm(305): VFY: unable to resolve new-instance 893    (Landroid/util/JsonWriter;) in Lorg/openmobster/core/mobileCloud/android/storage/Record;
    07-29 11:20:26.823: D/dalvikvm(305): VFY: replacing opcode 0x22 at 0x0008
    07-29 11:20:26.823: D/dalvikvm(305): VFY: dead code 0x000a-0064 in  Lorg/openmobster/core/mobileCloud/android/storage/Record;.toJson ()Ljava/lang/String;
    07-29 11:20:26.893: W/dalvikvm(305): threadid=9: thread exiting with uncaught  exception (group=0x4001d800)
    07-29 11:20:26.933: E/AndroidRuntime(305): FATAL EXCEPTION: Thread-10
    07-29 11:20:26.933: E/AndroidRuntime(305): java.lang.NoClassDefFoundError:  android.util.JsonWriter
    07-29 11:20:26.933: E/AndroidRuntime(305):  at  org.openmobster.core.mobileCloud.android.storage.Record.toJson(Record.java:164)
    07-29 11:20:26.933: E/AndroidRuntime(305):  at  org.openmobster.core.mobileCloud.android.storage.DefaultCRUD.addRecord(DefaultCRUD.java:583)
    07-29 11:20:26.933: E/AndroidRuntime(305):  at org.openmobster.core.mobileCloud.android.storage.DefaultCRUD.insert(DefaultCRUD.java:74)
    07-29 11:20:26.933: E/AndroidRuntime(305):  at org.openmobster.core.mobileCloud.android.storage.Database.insert(Database.java:132)
    07-29 11:20:26.933: E/AndroidRuntime(305):  at org.openmobster.core.mobileCloud.android.errors.ErrorHandler.save(ErrorHandler.java:139)
    07-29 11:20:26.933: E/AndroidRuntime(305):  at org.openmobster.core.mobileCloud.android.errors.ErrorHandler.handle(ErrorHandler.java:77)
    07-29 11:20:26.933: E/AndroidRuntime(305):  at org.openmobster.android.api.rpc.MobileService.sendRequest(MobileService.java:152)
    07-29 11:20:26.933: E/AndroidRuntime(305):  at org.openmobster.android.api.rpc.MobileService.invoke(MobileService.java:57)
    07-29 11:20:26.933: E/AndroidRuntime(305):  at org.openmobster.core.mobileCloud.android.kernel.DeviceContainer$1.run(DeviceContainer.java:3 14)
    07-29 11:20:26.933: E/AndroidRuntime(305):  at  java.lang.Thread.run(Thread.java:1096)
    07-29 11:20:28.564: I/dalvikvm(305): Could not find method  android.widget.LinearLayout$LayoutParams.<init>, referenced from method  android.support.v7.internal.view.menu.ActionMenuView$LayoutParams.<init>
4

2 回答 2

1

是否可以在 API 8 中使用 JSONreader/JsonWriter?

不,您需要切换到其他东西,无论是org.json类(在 Android SDK 中)还是第三方 JSON 库(例如,Jackson、GSON)。

于 2014-07-29T11:35:25.297 回答
0

错误是 NoClassDefFoundException 这意味着编译器无法找到您的类

所以你需要完美地提到这个类,因为我不明白你正在为这个项目使用库,如果是,那么按照下面的步骤来解决“NoClassDefFoundException”的错误

1)右键单击项目

2)转到属性

3)转到java构建路径

4) 转到订单和导出选项卡

5)签入您为项目包含的库

6)单击确定应用更改并编译您的代码

希望它对你有用

于 2014-07-29T12:27:58.493 回答