本身總結的 Android 修改包名方法

前些天接了個任務,說是要將現有的項目改個名字,具體要求到包名和全局變量都要更名的程序。app

而後我就在網上查了資料試了試,發現都無論用,總是最後一步出錯誤。在總合了好幾種網上的資料後,本身總結出來了一種有效的方案,在這裏圖文解說一下。ide


首先,右擊你要修更名稱的項目,選擇Android Tools下的Rename Application Packagespa

wKioL1LfMF_gVebAAAWaqeln80Q482.jpg

在彈出的對話框中能夠看到這是一個包名。3d

wKiom1LfMJPRCasLAAOut8IJXCA364.jpg

添上你要修改的名字,而後點擊OKblog

wKioL1LfMHvwL96kAAO1kMm6IaM958.jpg

在彈出的對話框中能夠看到,上面是Eclipse自動查找的你修改這個包名所涉及到的文件,咱們點擊AndroidManifest能夠看到,下方左右是修改先後的對比,能夠很明顯的看到,ANdroidManifest要改好多項,由於是自動修改,因此會出現不是你所要的效果,並且容易出錯,因此必定要在AndroidManifest前的對號咱們去掉。ip

wKioL1LfMIahIH9nAAiHGxcfvcM940.jpg

去掉AndroidManifest前的對號後,點擊Finishget

wKiom1LfMLSx8eANAAkgU2ugvuQ183.jpg

第二步,打開src文件夾,選中咱們要改的包名,按F2,也能夠右擊選擇refactor中的Rename,而後修改包名,四個對號必定只選第一個,防止出現問題。而後點擊Previewit

wKioL1LfMJyDdc66AAbDFSQlxw0737.jpg


在彈出的對話框中點擊Continueio

wKiom1LfMMqAKig1AAc7g5nymnY979.jpg

在彈出的對話框中,也去掉AndroidManifest前的對號,防止AndroidManifest文件出錯。而後依照這個方法把全部須要改的包名都修改一下。class

wKioL1LfMLGTIsmmAAqrjiNDy5w307.jpg


第三步,前兩步作完後,查看一下res文件裏是否有錯誤,有的話即時改正。

wKiom1LfMOLB8emhAAR0Zk5IaKo607.jpg

以下面這種狀況,由於修改包名,沒有定義app:textOffapp:test:On。咱們先暫時去掉。

wKioL1LfMMuw_ZCuAAmYMyx6i-w610.jpgwKiom1LfMPmSCBccAAlAUU16PsQ801.jpg

第四步,打開AndroidManifest文件,修改package

wKioL1LfMODiuRjkAAskjPC5ad8650.jpg


而後利用FindReplace去修改咱們須要更改的東西。

wKiom1LfMReDyi6HAAugdoPFWBo917.jpgwKioL1LfMP7QHTlkAAv96bMVVHU333.jpg


第五步,這一步作完就能夠看到,src包名和gen包名一致了。而後恢復res文件中由於gen文件夾中包名不正確致使的未定義問題。

wKiom1LfMSuSSOvuAArmE6fmRIM088.jpg

第六步,修改class文件,仍是按F2,選擇第一個對號

wKioL1LfMRKxzE1wAAsAT8zGwtA790.jpgwKiom1LfMT7RoHUjAArDF4sdKgo879.jpg

在這一步咱們能夠選擇AndroidManifest前的對號,你也能夠不選擇,本身去改。

wKioL1LfMSSSnwuuAAx_h_QZsZE644.jpg最後一步就是FindReplace所有class文件中須要修改的全局變量。


後記:也許這種方法和網上的方法對比來講,非常麻煩,可是這種方法勝在穩定不出錯,適合大多數狀況,不致於修改一下出現大量錯誤。

相關文章
相關標籤/搜索