zoukankan      html  css  js  c++  java
  • Android使用KSOAP2调用WebService及正确导入jar包的问题

    错误信息

       java.lang.NoClassDefFoundError:org.ksoap2.serialization.soapobject

    1. ERROR/AndroidRuntime(600): java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject    
    2.     at webservice.weather.WeatherActivity.getWeather(WeatherActivity.java:104)    
    3.     at webservice.weather.WeatherActivity.showWeather(WeatherActivity.java:84)    
    4.     at webservice.weather.WeatherActivity.access$0(WeatherActivity.java:80)    
    5.     at webservice.weather.WeatherActivity$1.onClick(WeatherActivity.java:75)    
    6.     at android.view.View.performClick(View.java:2408)    
    7.     at android.view.View$PerformClick.run(View.java:8816)    
    8.     at android.os.Handler.handleCallback(Handler.java:587)    
    9.     at android.os.Handler.dispatchMessage(Handler.java:92)    
    10.     at android.os.Looper.loop(Looper.java:123)    
    11.     at android.app.ActivityThread.main(ActivityThread.java:4627)    
    12.     at java.lang.reflect.Method.invokeNative(Native Method)    
    13.     at java.lang.reflect.Method.invoke(Method.java:521)    
    14.     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)    
    15.     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)    
    16.     at dalvik.system.NativeStart.main(Native Method)  
    解决方法

    找了很多资料,最后才发现是jar包的导入有问题。。。。以前开发java程序时导入jar包都是用一下的方法:

        工程点击右键->Build Path->Add Libraries->User Library->选择包含需要的jar包的Library(如果没有的话就点击User Libraries新建一个Library,然后再选中)

    但是,在Android中这样导入jar包会导致程序在模拟器中运行时抛出java.lang.NoClassDefFoundError异常,在Android中导入jar包的步骤如下:

          工程点击右键->Build Path->Add External Archives->选择要导入的jar包

    另外还有一个问题就是:Android模拟器访问Tomcat上部署的webservice程序时,不能用localhost或者本机IP,Android默认访问本机地址为10.0.2.2。

    上面这样的解决办法都不行:

    新解决办法:

    在项目中新建一个文件夹libs,然后将KSOAP2的jar包copy到这个文件夹下,右键jar包—>build path——>add to build path

  • 相关阅读:
    插件开发遇到的坑------final 型变量,编译过程被优化
    java.lang.NoClassDefFoundError 错误解决思路
    Android stadio bug
    android去掉button默认的点击阴影
    Andrid 打印调用堆栈
    Gradle 设置本地meaven
    Android log 里面快速搜索错误堆栈 ( 关键字)
    java doc 编写
    android 怎么判断activity 从哪里启动的
    Android Stadio调试gradle 插件 || Android Stadio 远程调试 || Anroid APT调试
  • 原文地址:https://www.cnblogs.com/gisdream/p/2475842.html
Copyright © 2011-2022 走看看