Android使用KSOAP2調用WebService及正確匯入jar包的問題

來源:互聯網
上載者:User

錯誤資訊

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

[java] view plain copy print ?
  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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.