手把手教你修改包名實(shí)現(xiàn)app分身
一. 前言
哈嘍,大家好,我是星期八,事情是這樣?jì)鸬摹?/p>
我們可能都用過應(yīng)用分身,但是你想自己實(shí)現(xiàn)應(yīng)用分身嗎?
那就來看看吧!
二. 示例的app
鏈接: https://pan.baidu.com/s/1Tdbh2X_n11Nd8GDgygyH9w 提取碼: s2s7 復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機(jī)App,操作更方便哦
三. 最終實(shí)現(xiàn)的效果
可以發(fā)現(xiàn),我有倆土豆視頻,這可是貨真價(jià)實(shí)得倆,,倆都能單獨(dú)運(yùn)行!
如果才能實(shí)現(xiàn)這樣的功能呢?
四. 實(shí)現(xiàn)app原理
一般情況下,安卓系統(tǒng)只能安裝一個(gè)apk,不能安裝重復(fù)安裝同一個(gè)apk的!
安卓系統(tǒng)判斷apk是否為重復(fù)的主要判斷依據(jù)是
- 包名(package)
- 內(nèi)容提供者(provider)
所以,要想實(shí)現(xiàn)app分身,就得對(duì)癥下藥,從這兩方面下手。
修改這倆玩意是在AndroidManifest.xml文件修改的
五. 實(shí)現(xiàn)步驟
5.1 使用AndroidKiller打開土豆視頻.apk
不進(jìn)行工程分析
打開如下:
5.2 修改AndroidManifest.xml文件
上述說過,只需要修改``AndroidManifest.xml`文件即可,不需要考慮太多!
5.2.1 修改包名
上面說到,判斷是不是同一個(gè)文件,有一個(gè)主要依據(jù)就是包名!
那就先修改包名,我在原來的包名基礎(chǔ)上加了個(gè)_1!
?
5.2.2 修改provider
點(diǎn)擊工程搜索,搜索<provider,為啥加個(gè)<,因?yàn)檫@玩意其實(shí)是個(gè)標(biāo)簽,加個(gè)<更準(zhǔn)確!
搜索結(jié)果如下:
搜索到之后呢?
其實(shí)還是和修改包名一樣,在后面加_1就行!
就像這樣
**PS:**注意了啊,不是說非得加_1,加啥都行,只要和原來不一樣就行!
我加_1只是為了好區(qū)分,如果分身更多,還有_2,_3等等等,可不要以為只能加_1!
還有要注意的就是,只需要修改<provider>下android:authorities=這個(gè)屬性后面的就行了?。?!不需要改其他。
并且,_1只能加在后面,不能加在前面。
繼續(xù)修改
然后搜索到了這么多,如法炮制!
把每個(gè)<provider>下android:authorities屬性后面的那個(gè)值,后面在多加_1即可!
如下:
修改完之后,記得保存哈!
6. 重新打包
上述都完成,點(diǎn)擊編譯!
等待編譯完成
7. 安裝注意事項(xiàng)
點(diǎn)擊生成路徑,就可以直接跳轉(zhuǎn)到重新打包好apk的路徑了!
然后在真機(jī)或者模擬器中安裝就行!
注意了啊,在安裝的時(shí)候,一定要卸載官方下載土豆視頻,其他app同理!
雖然我們修改了包名等啥玩意,但是其實(shí)本質(zhì)并沒有變,在安裝的時(shí)候會(huì)驗(yàn)證簽名!
系統(tǒng)會(huì)發(fā)現(xiàn)新的app和我原來的app簽名不一致,就GG了,所以需要卸載官方下載的app!
卸載完之后,在安裝由AndroidKiller打包簽名出來的app,同一個(gè)簽名的不會(huì)拒絕,即使又N個(gè)app
效果就不示范了!
如果想要再多開一個(gè)app,把_1改成_2,_3等等等,在重新打包即可!
8. 總結(jié)
其實(shí)應(yīng)用分身主要就是對(duì)package和provider的修改,并沒有太大的技術(shù)難度!
有的是需要耐心和細(xì)節(jié)!
如果在操作過程中有任何問題,記得下面留言,我們看到會(huì)第一時(shí)間解決問題。
越努力,越幸運(yùn)。我是碼農(nóng)星期八,如果覺得還不錯(cuò),記得動(dòng)手點(diǎn)贊一下哈。感謝你的觀看。
小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。