多线程AsyncTask中使用Jsoup 报错Caused by: java.lang.NoClassDefFoundError: org.jsoup.Jsoup

代码如下,在多线程AsyncTask类中的doInBackground调用Jsoup

	protected String doInBackground(String... params) {
			// TODO Auto-generated method stub
			Log.i(TAG, "doInBackground(Params... params) called");  
			try {  	
				Document doc=Jsoup.connect(params[0]).get();
		    	Elements elems=doc.getElementsByAttributeValue("class", "face");
		    	Element elem=elems.first();
报错如下:

12-14 23:55:03.181: E/AndroidRuntime(632): Caused by: java.lang.NoClassDefFoundError: org.jsoup.Jsoup
12-14 23:55:03.181: E/AndroidRuntime(632):  at com.example.myexample.MainActivity$MyTask.doInBackground(MainActivity.java:50)
12-14 23:55:03.181: E/AndroidRuntime(632):  at com.example.myexample.MainActivity$MyTask.doInBackground(MainActivity.java:1)

分析原因是在 项目>build Path>libriaries 导入包时出的问题。我原先是直接在add external jars下添加的Jsoup.jar包多线程AsyncTask中使用Jsoup 报错Caused by: java.lang.NoClassDefFoundError: org.jsoup.Jsoup_第1张图片

多线程AsyncTask中使用Jsoup 报错Caused by: java.lang.NoClassDefFoundError: org.jsoup.Jsoup_第2张图片

将上面的导入做如下改动。

从libraries中删除jsoup-1.7.3.jar包,然后将该包复制到libs文件夹下

多线程AsyncTask中使用Jsoup 报错Caused by: java.lang.NoClassDefFoundError: org.jsoup.Jsoup_第3张图片

问题即解决


你可能感兴趣的:(Android)