2012-04-10 105 views
0

我想在Android中使用org.apache.commons.collections.CollectionUtils。樣品低於Android運行時錯誤「java.lang.NoClassDefFoundError:org.apache.commons.collections.CollectionUtils」

import java.util.ArrayList; 

import org.apache.commons.collections.CollectionUtils; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.TextView; 

public class CheckCommonsActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    String email1 = "[email protected]"; 
    String email2 = "[email protected]"; 
    String email3 = "[email protected]"; 
    String email4 = null;  

    ArrayList<String> emailList1 = new ArrayList<String>(); 
    emailList1.add(email4); 
    emailList1.add(email1); 
    emailList1.add(email2); 
    emailList1.add(email3); 

    ArrayList<String> emailList2 = new ArrayList<String>(); 
    emailList2.add(email3); 
    emailList2.add(email2); 
    emailList2.add(email1); 

    boolean isEqual = CollectionUtils.isEqualCollection(emailList1, 
emailList2); 
    TextView text = (TextView) findViewById(R.id.text); 
    text.setText(String.valueOf(isEqual)); 
    } 
} 

我已經導入公共的集合-3.2.1.jar構建Android項目的路徑,但我在運行時收到錯誤java.lang.NoClassDefFoundError: org.apache.commons.collections.CollectionUtils

EDIT1

Android Project Artifact

感謝

+1

嘗試清理項目? :\ – st0le 2012-04-10 13:50:59

+0

@ st0le清理項目不起作用。 – 2012-04-10 13:57:56

+0

Android依賴關係中有什麼? – kosa 2012-04-10 14:16:10

回答

6

你必須把這個庫/庫(不是/ lib目錄)文件夾中的Android項目的

編輯:我假設你把它放在/ lib文件夾中,因爲這是一個常見的失敗。在你添加的截圖中可以看到你將lib包含爲外部jar。無論如何,你是否把它放在/ lib或作爲外部jar解決方案是相同的:創建/ libs文件夾,並把它放在那裏

+0

添加了一個顯示android項目的圖像。我找不到/ libs或/ lib文件夾。 – 2012-04-10 14:13:07

+1

你必須在你的android項目中創建/ libs文件夾。把你的lib放在那裏。在Eclipse中選擇構建路徑和「添加罐子...」(不是「外部罐子」) – 207 2012-04-10 14:18:16

+0

謝謝,這是一個完美的提示! – Future2020 2012-09-20 13:02:28