我的问题与此处有些相似:Unable to resolve superclass error when referencing .jar library
我在那里尝试了解决方案,但不适合我。
所以,首先我使用WSDL
从wsimport
文件创建了java源代码。并将此源添加到Java项目中。将此java项目作为库导入到Android项目中。在构建路径中的Order and Export
中导出库。尝试了gen
和src
文件夹以及库文件夹的不同顺序。当我在Web服务中调用该方法时,它不起作用。
这是警告:
08-29 14:06:27.810: W/dalvikvm(20711): Unable to resolve superclass of Lcom/example/SampleService; (1270)
08-29 14:06:27.810: W/dalvikvm(20711): Link of class 'Lcom/example/SampleService;' failed
08-29 14:06:27.810: E/dalvikvm(20711): Could not find class 'com.example.SampleService', referenced from method com.example.demo.RequestSingleton
我也得到NoClassDefFoundError
课程#34; SampleService.java"这是WSDL
的生成类和javax.xml.ws.Service
的子类。
记录:
08-29 14:06:27.815: E/AndroidRuntime(20711): FATAL EXCEPTION: AsyncTask #1
08-29 14:06:27.815: E/AndroidRuntime(20711): Process: com.example.demo, PID: 20711
08-29 14:06:27.815: E/AndroidRuntime(20711): java.lang.RuntimeException: An error occured while executing doInBackground()
08-29 14:06:27.815: E/AndroidRuntime(20711): at android.os.AsyncTask$3.done(AsyncTask.java:300)
08-29 14:06:27.815: E/AndroidRuntime(20711): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
08-29 14:06:27.815: E/AndroidRuntime(20711): at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
08-29 14:06:27.815: E/AndroidRuntime(20711): at java.util.concurrent.FutureTask.run(FutureTask.java:242)
08-29 14:06:27.815: E/AndroidRuntime(20711): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
08-29 14:06:27.815: E/AndroidRuntime(20711): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
08-29 14:06:27.815: E/AndroidRuntime(20711): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
08-29 14:06:27.815: E/AndroidRuntime(20711): at java.lang.Thread.run(Thread.java:841)
08-29 14:06:27.815: E/AndroidRuntime(20711): Caused by: java.lang.NoClassDefFoundError: com.example.SampleService
08-29 14:06:27.815: E/AndroidRuntime(20711): at com.example.demo.RequestSingleton.callWebService(RequestSingleton.java:52)
08-29 14:06:27.815: E/AndroidRuntime(20711): at com.example.demo.Request$callWebService.doInBackground(Request.java:104)
08-29 14:06:27.815: E/AndroidRuntime(20711): at com.example.demo.Request$callWebService.doInBackground(Request.java:1)
08-29 14:06:27.815: E/AndroidRuntime(20711): at android.os.AsyncTask$2.call(AsyncTask.java:288)
08-29 14:06:27.815: E/AndroidRuntime(20711): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
08-29 14:06:27.815: E/AndroidRuntime(20711): ... 4 more
我还尝试从这个java项目创建一个jar,并将其添加到Android项目的libs
文件夹中,并添加到构建路径中。不起作用。
我还创建了一个带有WSDL
生成源的Android项目,并将其作为库添加到android应用程序项目中。不起作用。
尝试将JRE Systrem Library
导入到android项目中。也不起作用。
有人可以帮助我吗?
提前致谢。