|
引言
開發(fā)時(shí)通常都會(huì)有多個(gè)項(xiàng)目間代碼復(fù)用的需求,這時(shí)通常的做法是設(shè)置項(xiàng)目依賴,讓一個(gè)項(xiàng)目引用另一個(gè)項(xiàng)目,比如在Visual Studio中這樣就很容易實(shí)現(xiàn)。
而在Eclipse中的Android項(xiàng)目里,如果要引用另一個(gè)項(xiàng)目,理論上應(yīng)該也使用類似的辦法:
這里是引用一個(gè)名為Core的項(xiàng)目。這樣做下來(lái),在編寫代碼時(shí)不會(huì)有問(wèn)題,但是在模擬器中運(yùn)行時(shí)就會(huì)出現(xiàn)NoClassDefFoundError異常,原因是找不到引用項(xiàng)目中的類。而通過(guò)此窗口中Libraries選項(xiàng)卡中的各種功能添加引用,通常得到的結(jié)果要么是編譯不通過(guò),要么也是和上面一樣。我在網(wǎng)上查了半天,看到很多人也都遇到此問(wèn)題無(wú)解。
創(chuàng)建jar文件
看來(lái)Eclipse無(wú)法自動(dòng)實(shí)現(xiàn)項(xiàng)目的整合,那么只能考慮先將公共項(xiàng)目輸出為jar,再由需要的項(xiàng)目進(jìn)行導(dǎo)入了。
由于我這里的公共項(xiàng)目并不是一個(gè)Android常規(guī)項(xiàng)目,我只希望它充當(dāng)一個(gè)公共的類庫(kù),提供一些通用功能,因此我將此項(xiàng)目創(chuàng)建為一個(gè)普通的Java項(xiàng)目,然后再Libraries中去掉了Java-SE的引用,加入了Android.jar(這個(gè)請(qǐng)根據(jù)需要,從SDK中導(dǎo)入特定版本的Android.jar文件),然后執(zhí)行導(dǎo)出:
下一步,再下一步,這里可以采用默認(rèn)設(shè)置生成manifest文件,也可以自行設(shè)置指定的文件:
導(dǎo)入jar文件
現(xiàn)在需要在要用到的項(xiàng)目中導(dǎo)入先前導(dǎo)出的jar文件,只需在Build Path中通過(guò)Add External JARs…功能選取先前導(dǎo)出的jar文件即可:
http://blog.csdn.NET/guanmjie/archive/2009/08/12/4437779.ASPx
http://hi.baidu.com/gaogaf/blog/item/1757d309274b098cd1581bd7.html
it知識(shí)庫(kù):在Eclipse中的Android項(xiàng)目里實(shí)現(xiàn)代碼復(fù)用,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。