前些天接了個任務,說是要將現有的項目改個名字,具體要求到包名和全局變量都要更名的程序。app
而後我就在網上查了資料試了試,發現都無論用,總是最後一步出錯誤。在總合了好幾種網上的資料後,本身總結出來了一種有效的方案,在這裏圖文解說一下。ide
首先,右擊你要修更名稱的項目,選擇Android Tools下的Rename Application Package。spa
在彈出的對話框中能夠看到這是一個包名。3d
添上你要修改的名字,而後點擊OK。blog
在彈出的對話框中能夠看到,上面是Eclipse自動查找的你修改這個包名所涉及到的文件,咱們點擊AndroidManifest能夠看到,下方左右是修改先後的對比,能夠很明顯的看到,ANdroidManifest要改好多項,由於是自動修改,因此會出現不是你所要的效果,並且容易出錯,因此必定要在AndroidManifest前的對號咱們去掉。ip
去掉AndroidManifest前的對號後,點擊Finish。get
第二步,打開src文件夾,選中咱們要改的包名,按F2,也能夠右擊選擇refactor中的Rename,而後修改包名,四個對號必定只選第一個,防止出現問題。而後點擊Previewit
在彈出的對話框中點擊Continueio
在彈出的對話框中,也去掉AndroidManifest前的對號,防止AndroidManifest文件出錯。而後依照這個方法把全部須要改的包名都修改一下。class
第三步,前兩步作完後,查看一下res文件裏是否有錯誤,有的話即時改正。
以下面這種狀況,由於修改包名,沒有定義app:textOff和app:test:On。咱們先暫時去掉。
第四步,打開AndroidManifest文件,修改package。
而後利用Find和Replace去修改咱們須要更改的東西。
第五步,這一步作完就能夠看到,src包名和gen包名一致了。而後恢復res文件中由於gen文件夾中包名不正確致使的未定義問題。
第六步,修改class文件,仍是按F2,選擇第一個對號
在這一步咱們能夠選擇AndroidManifest前的對號,你也能夠不選擇,本身去改。
最後一步就是Find和Replace所有class文件中須要修改的全局變量。
後記:也許這種方法和網上的方法對比來講,非常麻煩,可是這種方法勝在穩定不出錯,適合大多數狀況,不致於修改一下出現大量錯誤。