android表單上傳出現java.lang.NoClassDefFoundError

04-23 16:21:33.695: E/AndroidRuntime(32266): FATAL EXCEPTION: AsyncTask #1
04-23 16:21:33.695: E/AndroidRuntime(32266): java.lang.RuntimeException: An error occured while executing doInBackground()
04-23 16:21:33.695: E/AndroidRuntime(32266): 	at android.os.AsyncTask$3.done(AsyncTask.java:200)
04-23 16:21:33.695: E/AndroidRuntime(32266): 	at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
04-23 16:21:33.695: E/AndroidRuntime(32266): 	at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
04-23 16:21:33.695: E/AndroidRuntime(32266): 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
04-23 16:21:33.695: E/AndroidRuntime(32266): 	at java.util.concurrent.FutureTask.run(FutureTask.java:137)
04-23 16:21:33.695: E/AndroidRuntime(32266): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
04-23 16:21:33.695: E/AndroidRuntime(32266): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
04-23 16:21:33.695: E/AndroidRuntime(32266): 	at java.lang.Thread.run(Thread.java:1096)
04-23 16:21:33.695: E/AndroidRuntime(32266): Caused by: java.lang.NoClassDefFoundError: org.apache.http.entity.mime.MultipartEntity
04-23 16:21:33.695: E/AndroidRuntime(32266): 	at com.agilemobi.collect.android.tasks.DataUploaderTask.doInBackground(DataUploaderTask.java:122)
04-23 16:21:33.695: E/AndroidRuntime(32266): 	at com.agilemobi.collect.android.tasks.DataUploaderTask.doInBackground(DataUploaderTask.java:1)
04-23 16:21:33.695: E/AndroidRuntime(32266): 	at android.os.AsyncTask$2.call(AsyncTask.java:185)
04-23 16:21:33.695: E/AndroidRuntime(32266): 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
04-23 16:21:33.695: E/AndroidRuntime(32266): 	... 4 more


 

以前出現過很多次這種錯誤了,一般是環境變量的配置有問題,或者jar包間存在依賴,或者jar包沒有直接bulid path加到項目中來

以上問題,我android工程都沒出現

org.apache.http.entity.mime.MultipartEntity這個類實現了org.apache.http.HttpEntity接口,該接口在android.jar中

MultipartEntity類在httpmime-4.0.jar中,已經build path加到libraries下,還是會出現上述錯誤,實在令人費解。

後面解決的辦法是httpmime-4.0.jar所在的lib 右鍵選擇 Use as Source Folder

這樣,jar包直接當做源文件加到工程下,在bin下就可以看到對應jar文件,項目裏就能直接引用jar中的類。

我發現如果是bulid path加進去的jar包不會在bin下編譯成class文件,如果引用就報出上面的錯誤。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章