開發的過程,通常都是從一個已有的工程中添加新功能,逐漸的,新功能都成為工程的主體了,此時工程名還是舊的(例如HelloWorld),就不太合适了。
此時,有兩種方案,
一、建立一個新工程,将所需檔案全部拷貝過去,然後進行相應的修改;
二、直接将工程改名,相應修改裡面的内容。
本文描述第二種方案,這種方案的好處是,避免了拷貝資源檔案時漏掉某些檔案的情況。
下面,我以ListViewTest改名為GridViewDemo為例來進行說明:
先看一下原工程目錄結構,如下:
1,首先将整個工程複制一份,改名。
我是将工程目錄名從ListViewTest改為GridViewDemo。
2,工程目錄下的幾個關鍵檔案修改:
AndroidManifest.xml中,有一個包名:
這個與主類檔案的存放目錄是對應的,工程改名後,該目錄也應同步修改,是以此處需要修改,我修改為:
這個包名是與實際路徑對應的,具體路徑的修改,會在後續步驟中實作。
.project中,有一個工程名:
這個與主類名一緻,需要修改。我修改為:
注意,在修改完工程目錄下的這兩個檔案之前,使用Eclipse是打不開工程的,是以,這兩個檔案是使用文本編輯器進行修改的。
3,src目錄下,所有涉及包名的地方;
先将路徑修改,原先的路徑目錄是:
src\com\example\listviewtest
修改為:
src\com\example\gridviewdemo
若有多級路徑需要修改的,就需要一個個修改,具體看工程的複雜情況了,有些和包名不相關的,也不需要修改。
4,主類名檔案修改
若主類名與工程目錄名一樣,也需要相應的修改。同時,所有對該類使用的地方,相應修改。
我這裡的主類是MainActivity,是以就不用修改了。
檔案名級别的修改完成後,我們就可以使用Eclipse導入新工程GridViewDemo了。
5,使用Eclipse導入新工程
按照正常導入新工程的方法導入GridViewDemo,導入完成一看,哇,還有好多錯誤啊!
不要驚慌,先看一看是什麼錯誤。原來都是包名錯誤,修改,就ok了。
6,涉及jni接口的:
若是有c語言接口調用的,還要注意jni目錄下,Android.mk中的相關編譯配置,以及主接口c檔案名,接口c檔案中所有涉及包名的地方,以及在java中相應接口聲明調用處。
本例中沒有jni,也就不具體解說了。
7,編譯,運作。
可以直接運作起來了。可是,标題欄顯示不對,原來是strings.xml中的字元串沒有修改啊!
8,最後說一句最關鍵的:
在全工程中,搜尋所有檔案,看是否還存在使用原工程名的,若有,就要好好考量,是否應該替換掉。