在Eclipse中的Android項目里實現代碼復用
引言
開發時通常都會有多個項目間代碼復用的需求,這時通常的做法是設置項目依賴,讓一個項目引用另一個項目,比如在Visual Studio中這樣就很容易實現。
而在Eclipse中的Android項目里,如果要引用另一個項目,理論上應該也使用類似的辦法:
這里是引用一個名為Core的項目。這樣做下來,在編寫代碼時不會有問題,但是在模擬器中運行時就會出現NoClassDefFoundError異常,原因是找不到引用項目中的類。而通過此窗口中Libraries選項卡中的各種功能添加引用,通常得到的結果要么是編譯不通過,要么也是和上面一樣。我在網上查了半天,看到很多人也都遇到此問題無解。
創建jar文件
看來Eclipse無法自動實現項目的整合,那么只能考慮先將公共項目輸出為jar,再由需要的項目進行導入了。
由于我這里的公共項目并不是一個Android常規項目,我只希望它充當一個公共的類庫,提供一些通用功能,因此我將此項目創建為一個普通的Java項目,然后再Libraries中去掉了Java-SE的引用,加入了Android.jar(這個請根據需要,從SDK中導入特定版本的Android.jar文件),然后執行導出:
下一步,再下一步,這里可以采用默認設置生成manifest文件,也可以自行設置指定的文件:
導入jar文件
現在需要在要用到的項目中導入先前導出的jar文件,只需在Build Path中通過Add External JARs…功能選取先前導出的jar文件即可:
http://blog.csdn.net/guanmjie/archive/2009/08/12/4437779.aspx
http://hi.baidu.com/gaogaf/blog/item/1757d309274b098cd1581bd7.html