【问题标题】:exception while using ksoap2 library for android将 ksoap2 库用于 android 时出现异常
【发布时间】:2011-04-18 20:39:41
【问题描述】:

我在启用 maven 的 android 项目中使用 Ksoap2 版本 2.5.4。对 Ksoap 特定类的任何引用都会引发此异常

04-18 20:35:15.429: ERROR/dalvikvm(626): Could not find class 'org.ksoap2.serialization.SoapObject', referenced from method com.rare.Main.fetchSoapResponse
04-18 20:35:15.662: ERROR/AndroidRuntime(626): FATAL EXCEPTION: main
04-18 20:35:15.662: ERROR/AndroidRuntime(626): java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at com.rare.Main.fetchSoapResponse(Main.java:57)
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at com.rare.Main.onCreate(Main.java:23)
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at android.os.Looper.loop(Looper.java:123)
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at android.app.ActivityThread.main(ActivityThread.java:3683)
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at java.lang.reflect.Method.invokeNative(Native Method)
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at java.lang.reflect.Method.invoke(Method.java:507)
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-18 20:35:15.662: ERROR/AndroidRuntime(626):     at dalvik.system.NativeStart.main(Native Method)

导致这种情况的代码行是

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

在 SO 或其他论坛上找不到与此相关的任何帮助。这似乎很简单。谁能告诉我缺少什么以及如何让 android 在运行时使用该库。

【问题讨论】:

  • 你下载...-jar-with-dependencies.jar版本了吗?您是否将外部 jar 添加到构建路径中?
  • 如果我添加外部库,我会收到此错误消息“转换为 Dalvik 格式失败,错误 1”
  • 对我有用的步骤是:右键单击项目 -> 构建路径 -> 添加外部档案。

标签: android ksoap2


【解决方案1】:
  • 在您的构建路径中清除所有库(jar 文件)。
  • 在项目的主目录中创建一个文件夹并将其命名为“libs”(不是 "lib")。
  • 现在 Eclipse ADT 插件会将您的 jar 文件添加到构建路径。
  • 如有必要,清理并构建您的项目。
  • 快乐编码

【讨论】:

【解决方案2】:

我遇到了同样的问题。我已将 ZIP 文件而不是 jar 文件添加到外部库中,您只需要添加 JAR 文件。

【讨论】:

    猜你喜欢
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    相关资源
    最近更新 更多