記一個(gè)更改項(xiàng)目包名的經(jīng)驗(yàn)+1

因需求,需要對(duì)項(xiàng)目包名進(jìn)行更換(原來(lái)的包名太短),遂在網(wǎng)上收集一波,看了各種方法,結(jié)合對(duì)比后用了一個(gè)算是穩(wěn)妥的方法
如圖所示,點(diǎn)擊小齒輪,取消勾選Compact Middle Packages


1.png

取消勾選的效果如下


2.png

這里就可以在包名的每個(gè)層級(jí)使用重命名
3.png

選擇Rename后彈出提示框
4.png

選擇Rename current


5.png

修改后點(diǎn)擊Refactor應(yīng)用,當(dāng)前選擇的層級(jí)包名就改好了,包名后續(xù)的層級(jí)這樣改就行了,如遇到包名層級(jí)都,那就再對(duì)應(yīng)的層級(jí)下新建package,最后把代碼的所有包移到包名的最后一層里
這里修改完后,接著去AndroidManifest.xml修改<manifest .../>下的package的包名


6.png

繼續(xù)去app下的build.gradle下的applicationId,替換成新的包名
理論上這些修改完就可以Build->Clean Project->Make project
其實(shí)不然,這里知識(shí)修改了部分,代碼里R文件所在的包名還沒(méi)有更改,總不可能一個(gè)個(gè)去class文件下去修改
幸好Android studio有一鍵修改的方法


7.png

如圖,選擇自己的應(yīng)用所在的module,鼠標(biāo)右鍵后選擇Replace in Path
第一行的輸入原包名的R,第二行的輸入新的包名的R,然后點(diǎn)擊右下角的Replace All就好了


8.png

這樣編譯run就能運(yùn)行了
不過(guò)還有事情要注意,代碼混淆的問(wèn)題
一般對(duì)bean實(shí)體類(lèi)都會(huì)進(jìn)行混淆,所以在app下的proguard-rules.pro問(wèn)價(jià)下使用Ctrl+F對(duì)當(dāng)前文件進(jìn)行搜索,把原來(lái)的包名替換成新的包名,替換界面跟全局替換的界面差不多的,就不上圖了
入股有使用GreenDao,在app下的build.gradle也配置了greendao,也需要更改其包名
做完這些工作,可以算完成了!
寫(xiě)這篇文章的原因也是因?yàn)橹拔磳?duì)代碼混淆下的包名進(jìn)行替換,導(dǎo)致打包的apk運(yùn)行時(shí),post的實(shí)體類(lèi)參數(shù)被混淆,結(jié)果就請(qǐng)求失敗,找了一圈才發(fā)現(xiàn)是代碼混淆文件下沒(méi)有進(jìn)行修改
解決了問(wèn)題還是很高興的!經(jīng)驗(yàn)+1豈不美哉

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 之前在開(kāi)發(fā)過(guò)程中,數(shù)據(jù)庫(kù)基本上會(huì)使用Litepal或者SQlite自己寫(xiě),最近換新環(huán)境,公司原先使用的數(shù)據(jù)庫(kù)就是G...
    aserbao閱讀 83,383評(píng)論 42 223
  • 請(qǐng)?jiān)试S我借鑒前輩們的東西~~~~ 感激不盡~~~~~ 以下為Android 框架排行榜 么么噠~ Android...
    嗯_(tái)新閱讀 2,559評(píng)論 3 32
  • feisky云計(jì)算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,383評(píng)論 0 5
  • 前言 當(dāng)我們?nèi)f分努力將項(xiàng)目開(kāi)發(fā)完成之后,提交最后一行代碼后,會(huì)怎么樣?長(zhǎng)舒一口氣,終于完成了,給自己放一天假,休息...
    段淺淺兒閱讀 1,538評(píng)論 0 5
  • Testing 主要分為兩種: 正式和非正式。正文前,先把今天課堂流程簡(jiǎn)單敘述。 首先,分析了正規(guī)考試的優(yōu)點(diǎn)。 正...
    NY123閱讀 525評(píng)論 0 1

友情鏈接更多精彩內(nèi)容