使用kso​​ap2-android时出现异常

时间:2012-04-05 14:10:06

标签: java android ksoap2

我对ksoap2有疑问。我的问题是,该项目过去一直很好,直到我不得不格式化我的电脑并重新设置它。

我不记得我在我的应用程序中引用了哪个版本,但我尝试了很多版本,问题仍然存在。

04-05 13:56:18.289: E/dalvikvm(495): Could not find class  'org.ksoap2.serialization.SoapObject', referenced from method   com.giatrosofia.Activity_Votana$ConnectAndGetLst.doInBackground
04-05 13:56:18.289: W/dalvikvm(495): VFY: unable to resolve new-instance 223 (Lorg/ksoap2/serialization/SoapObject;) in Lcom/giatrosofia/Activity_Votana$ConnectAndGetLst;
04-05 13:56:18.289: D/dalvikvm(495): VFY: replacing opcode 0x22 at 0x0000
04-05 13:56:29.627: W/dalvikvm(495): threadid=9: thread exiting with uncaught exception (group=0x40014760)
04-05 13:56:29.809: E/AndroidRuntime(495): FATAL EXCEPTION: AsyncTask #1
04-05 13:56:29.809: E/AndroidRuntime(495): java.lang.RuntimeException: An error occured while executing doInBackground()
04-05 13:56:29.809: E/AndroidRuntime(495):  at android.os.AsyncTask$3.done(AsyncTask.java:266)
04-05 13:56:29.809: E/AndroidRuntime(495):  at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
04-05 13:56:29.809: E/AndroidRuntime(495):  at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
04-05 13:56:29.809: E/AndroidRuntime(495):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
04-05 13:56:29.809: E/AndroidRuntime(495):  at java.util.concurrent.FutureTask.run(FutureTask.java:137)
04-05 13:56:29.809: E/AndroidRuntime(495):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1081)
04-05 13:56:29.809: E/AndroidRuntime(495):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:574)
04-05 13:56:29.809: E/AndroidRuntime(495):  at java.lang.Thread.run(Thread.java:1020)
04-05 13:56:29.809: E/AndroidRuntime(495): Caused by: java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject

引用的文件是 ksoap2-android-assembly-2.6.2-jar-with-dependencies.jar

中出现了这种情况
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

以下是引用的jar文件

Java Build Path

我错过了吗?

2 个答案:

答案 0 :(得分:6)

如果您使用新的ADT 17

然后在项目的根目录上创建一个名为 libs

的目录

只需将ksop jar复制并粘贴到libs目录中即可。

RES

libs - >你的.jar文件

随着新的更新,它将运作良好。

答案 1 :(得分:4)

您可以尝试将KSOAP2添加到“订购和导出”标签中。要做到这一点:
01-右键单击项目名称
02-单击属性
03-选择 Java构建路径 04-检查KSOAP库是否已经在 Libraries 选项卡上 05-单击订单和导出选项卡,然后选中ksoap2-android-assembly旁边的复选框。

再次导出项目并尝试。它现在应该工作。