1.選擇任意一個(gè)APP反編譯軟件,為避免廣告嫌疑,小編在這里就不推薦使用什么APP反編譯軟件啦,大家可以自行百度或者google。用APP反編譯軟件打開你想要修改的APP。
創(chuàng)新互聯(lián)建站2013年至今,先為海南州等服務(wù)建站,海南州等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為海南州企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
2.打開AndroidManifest.xml,APP的包名就記錄在該文件中。在AndroidManifest.xml中,搜索"package=",該參數(shù)記錄APP報(bào)名。APP的報(bào)名均以com.開頭
3.將包名替換成我們想要改的名字,com.頭不能修改,建議修改最后一個(gè)字段
4.將修改好的AndroidManifest.xml保存,編譯成APP即可,這樣我們修改好的程序就是新的包名啦!
如何修改安卓APP包名
操作如下:
? ?
點(diǎn)擊如一所示的圖標(biāo),然后會(huì)出現(xiàn)2所示菜單,這個(gè)時(shí)候注意方框圈住的選項(xiàng),默認(rèn)是選中狀態(tài),我們把它取消,這時(shí)候可以看到工程的文件目錄已經(jīng)發(fā)生變化,這個(gè)時(shí)候變成如下圖所示:
這個(gè)時(shí)候,我們就可以隨意的修改包名了,選中想要修改的包名部分目錄,Shift + F6 ,在彈出框選擇Rename Package,稍等一會(huì),可以看到包名已經(jīng)發(fā)生了變化。OK,下圖為我把包名test部分改為rename.
最后一步,需要手動(dòng)修改工程 build.gradle文件中的applicationId改為跟你的包名一致即可,
1、在項(xiàng)目上右鍵,選擇android tools-rename application package,輸入需要改為的名稱,然后選擇需要改的包,有部分包可能不需要更名
2、上一步并沒有修改源碼的包,只是將工程中涉及包名的地方改了,下面修改源碼的包名,右鍵要改包名的源碼包,選擇refactor-rename,注意一定要將rename subpackages選上,否則子包不會(huì)被更名。
3、clean工程就可以了。
1. 第一步點(diǎn)擊如圖1所示的“show Options menu"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖1
2.第二步點(diǎn)擊如圖2所示”Compact Empty Middle Packages" ,去掉前面的鉤
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖2
3.第三步這時(shí)候你會(huì)發(fā)現(xiàn)你的包名由圖3變成了圖4的模樣
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖3
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖4
4.第四步就可以進(jìn)行一一修改了,選中想要修改的包名部分目錄,Shift + F6 ,在彈出框選擇Rename Package,稍等一會(huì),可以看到包名已經(jīng)發(fā)生了變化。
5.修改完以后,最后一步,需要手動(dòng)修改工程 build.gradle文件中的applicationId改為跟你的包名一致即可。
6.把AndroidManifest.xml里的包名換成剛換的包名。
對(duì)于修改包名,一般有兩種情況:
1)一個(gè)是包名目錄結(jié)構(gòu)不變,比如說,將包名“com.zlc.xuexi”,改成"com.xuexi.zlc"
2)另一個(gè)是包名目錄結(jié)構(gòu)改變了,目錄級(jí)數(shù)改變了,比如說,從"com.xuexi.zlc",改變成"com.xuexi.zlc.zlc",這里包名的目錄結(jié)構(gòu)就從3級(jí)改變成為了4級(jí)
下面分別來講解一下這兩種情況
針對(duì)第一種情況,其實(shí)特別好改,步驟截圖如下:
切換的Progject結(jié)構(gòu),查看java包名結(jié)構(gòu),一般是這樣的
點(diǎn)擊show options menu按鈕
去掉勾上的 Hide Empty Middle Packages 和 Show Members
java包的展示目錄結(jié)構(gòu)就改變了
對(duì)于包名目錄結(jié)構(gòu)不改變的。就分別改各個(gè)層次對(duì)應(yīng)的包名或者直接按快捷鍵 Shift + F6
同理,假如是3級(jí)目錄結(jié)構(gòu)包名,每一個(gè)都要改變的話,就按照上圖的做法一個(gè)個(gè)更改
接著,去改app模塊下的build.gradle文件
然后去修改AndroidManifest.xml文件
最后,點(diǎn)擊sync同步一下就大功告成了
針對(duì)第二種情況,步驟截圖如下:
點(diǎn)擊show options menu按鈕
去掉勾上的 Hide Empty Middle Packages 和 Show Members
java包的展示目錄結(jié)構(gòu)就改變了
對(duì)于包名目錄結(jié)構(gòu)不改變的。就分別改各個(gè)層次對(duì)應(yīng)的包名或者直接按快捷鍵 Shift + F6
假如是3級(jí)目錄結(jié)構(gòu)包名,改成4級(jí)包名目錄機(jī)構(gòu),首先要新建包然后去移動(dòng)其他的目錄包
新建好多一級(jí)的目錄包之后,需要移動(dòng)啟動(dòng)文件夾到該目錄包下
接著,去改app模塊下的build.gradle文件
然后去修改AndroidManifest.xml文件
最后,點(diǎn)擊sync同步一下就大功告成了
如果項(xiàng)目上用了DataBinding框架,特別是第二種情況,恭喜你,你肯能有得忙了。項(xiàng)目上有DataBinding框架的時(shí)候,當(dāng)你按照上面的步驟修改了包名,就會(huì)報(bào)一個(gè)這樣的錯(cuò)
遇到這個(gè)情況,肯定是修改包名或者移動(dòng)了包名結(jié)構(gòu),但是布局文件或者java文件的的dataBinding的引用沒有改變
這里我沒找到特別快速修改的方法,放在我是一個(gè)個(gè)去檢查java文件的導(dǎo)包和xml布局文件的應(yīng)用,看對(duì)不對(duì),不對(duì)就要手動(dòng)改過來了,嗚嗚。。。。。。
如果,確定全部改完無誤之后,重新Rebuild Project
萬一,還是有剛才那個(gè)錯(cuò)誤的話,記得再回頭檢查一遍java文件和布局文件,看看各自的引用對(duì)不對(duì),如果全部都改對(duì)之后,還是有錯(cuò)誤的話,哪就靜下心來錯(cuò)誤提示
如果不是DataBinding引起的話,一般都會(huì)找到比較明顯的提示
==========我是有分割線的:2019.04.15更新=================================
如果真不好遇到第二種情況的話,面對(duì)databanding這種框架,那就只能使用全局替換的方法了
ctrl + Shift + R