修改工程名/包名,也是我們?cè)陂_發(fā)中經(jīng)常遇到的問題,比如我們?cè)陂_發(fā)過程中突然覺得項(xiàng)目名不合適,或者根包名不合適想修改一下怎么辦?
如上圖所示工程,我想改變一下我的項(xiàng)目名,如把zzz改成xxx,把我的根包c(diǎn)om.example.zzz名改成com.byl.xxx,快速并保證我的代碼中不會(huì)報(bào)任何錯(cuò)誤,該怎么辦?
接下來(lái)我們先說(shuō)修改包名:
修改一個(gè)文件名稱,大家都知道一個(gè)快捷鍵,鼠標(biāo)點(diǎn)擊文件,按win+F2,有些同學(xué)可能會(huì)這樣做,看下圖:
這樣做能不能達(dá)到需求呢?答案是不能的,因?yàn)樵谒旅孢€有子包,我們可以看下這種方法修改后的情況:
正確的方法應(yīng)該怎么做呢?首先看你的根包下有多少子包,找到最底層的子包或文件(先參考第一幅圖):
修改z1的路徑,修改后如下圖:
接下來(lái)同樣的方法修改z2,z3的包名:
最后修改MainActivity的包名:
OK,此時(shí)可以看到工程沒有報(bào)任何錯(cuò)誤,但是這還并不算完事,因?yàn)槲覀兣渲们鍐卫锏陌]改變,如果它不變,我們剛才的這些工作都是徒勞:
又有同學(xué)說(shuō)了,那不很簡(jiǎn)單,我直接把它改了不就得了,真的是這樣嗎?我們看下直接改后的結(jié)果:
為什么都報(bào)錯(cuò)了呢?呵呵,原因很簡(jiǎn)單,因?yàn)槟愕腞文件路徑仍然是原來(lái)的包路徑:
你可能會(huì)說(shuō)這好辦,我在Java文件里一個(gè)一個(gè)改過了不就行了,當(dāng)然可以,你的文件少了還可以,但是多了呢,幾十個(gè)甚至上百的時(shí)候你也要一個(gè)一個(gè)改嗎?那有沒有一勞永逸的方法呢,當(dāng)然有,先打開gen目錄,并修改包名:
確定后如圖(不要怕):
接下來(lái)就修改清單文件中的包名吧:
最終結(jié)果:
怎么樣,沒報(bào)任何錯(cuò)誤吧!
好了,包名改完了,那么項(xiàng)目名如何修改呢?直接win+F2嗎?哈哈,這樣你會(huì)發(fā)現(xiàn),當(dāng)你把項(xiàng)目復(fù)制到其它地方時(shí),項(xiàng)目名還是原來(lái)的,是不是甚是奇怪??你還需要進(jìn)行以下操作,打開項(xiàng)目所在文件夾,并找到.project文件,打開之,修改項(xiàng)目名,然后再Eclipse中右鍵refresh項(xiàng)目即可:
全部修改完畢: