最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

APK包名修改 請(qǐng)問如何修改APK包名

 更新時(shí)間:2012年12月28日 14:52:39   投稿:whsnow  
今天,想在android手機(jī)上安裝兩個(gè)相同的應(yīng)用,本以為可以安裝不同版本的,試了幾次,均相互覆蓋了,于是,只能設(shè)法修改apk所對(duì)應(yīng)的包名(package name),需要了解的朋友可以參考下

今天,想在android手機(jī)上安裝兩個(gè)相同的應(yīng)用,本以為可以安裝不同版本的,試了幾次,均相互覆蓋了,于是,只能設(shè)法修改apk所對(duì)應(yīng)的包名(package name)。

PS:在國(guó)內(nèi)論壇上,找一篇原創(chuàng)的帖子很難,基本都是轉(zhuǎn)載的,還不附原文鏈接,引入了的很多錯(cuò)誤,想找到原文都很難,真是很悲劇。國(guó)內(nèi)論壇里,熱心人還是少了點(diǎn),很多問題都死了,無人回答,筆者嘗試在CSDN、ITEYE、EOE發(fā)過幾個(gè)帖子,但很少能解決問題,于是只能求助于國(guó)外論壇,這也是一個(gè)悲劇。

1、將apk解包成一個(gè)文件夾

2、修改AndroidManifest.xml中對(duì)應(yīng)的包名

3、修改smali目錄下中的包

4、將文件夾打包成apk

5、將apk重新簽名

6、驗(yàn)證apk的簽名

7、優(yōu)化apk

8、安裝apk,并測(cè)試

基本前提條件

1、java的環(huán)境

2、Eclipse及android的開發(fā)環(huán)境(這個(gè)主要是用來進(jìn)行調(diào)試)

3、text文本編輯器,本人用的是UEdit,也可以用類似的,主要是利用其查找及替換功能

這篇文章主要用來反編譯apk得到源碼,但google進(jìn)行了反制,只能得到一些可讀性不高的源碼,這里主要是利用反編譯apk生成程序的源代碼和圖片、XML配置、語言資源等文件.

參考文獻(xiàn)里提到的apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip均可以從http//code.google.com/p/android-apktool/上下載,下載好之后,將涉及的命令行目錄及exe目錄添加到電腦的path路徑中,這樣就便于操作了,如檢測(cè)apktool是否可以,可以在命令行中輸入apktool,如果可以識(shí)別就表示OK了。

參考了國(guó)內(nèi)的技術(shù)文章后,有人發(fā)帖以上面的思路進(jìn)行操作,但沒有發(fā)技術(shù)文章,所以筆者只能去國(guó)外論壇中逛逛了,在Stack Overflow中,找到了相關(guān)的帖子,有老外留言"you can't do this",這個(gè)的確有違技術(shù)道德,但這里只做學(xué)習(xí)參考或交流。找到了一片帖子http://stackoverflow.com/questions/9218641/renaming-the-package-name-inside-an-apk,這篇帖子的回答給了比較詳細(xì)的步驟(如上),他的情況比這個(gè)還稍微復(fù)雜點(diǎn),簡(jiǎn)化后就是我要的結(jié)果,我就是按照這個(gè)基本步驟來的,回答的英文比較好懂(很有可能是國(guó)人)。

下面就按照上面的步驟一步步操作:我是已QQ瀏覽器4.0版的apk來操作的。

1、我的apktool安裝到了E盤下的apktool目錄下,所以的操作也在這個(gè)目錄下進(jìn)行 E:\apkTool

   將apk復(fù)制到E:\apkTool目錄下,重命名為qq4.0.apk(這個(gè)沒有要求,隨意就好)

     將apk解包  命令行下cd到E:\apkTool這個(gè)目錄  apktool d qq4.o.apk qq4  將apk解包到qq4(這個(gè)也可以隨意)這個(gè)目錄

     E:\apkTool\qq4這個(gè)目錄下內(nèi)容如下:

     

2、修改AndroidManifest.xml中的包名,

     將package后面的包名com.tencent.qbx改為你想要的新包名,我改為了com.tianxiao.tencentweb

     將涉及原包名的com.tencent.qbx的相關(guān)activity的聲明中的包名均改為新包名com.tianxiao.tencentweb

   至于intent-filter里面的action名中包含原包名的,則可以不改,如果改的話,代碼中也要相應(yīng)的改變

     另外,如果有provider,provider的authorities也得改,這個(gè)在同一手機(jī)上必須唯一,否則安裝會(huì)失敗

3、在E:\apkTool\qq4\smali目錄下,有很多子目錄,子目錄下的文件多以smali結(jié)尾,這中文件的語法有點(diǎn)類似于匯編語言,具體原理就不深究了。

   將smali目錄下的所有文件中的原包名的聲明形式com/tencent/qbx改為新包名com/tianxiao/tencentweb

   具體如下,用UEdit在文件中替換即可,將目標(biāo)目錄指向E:\apkTool\qq4\smali,這個(gè)將近1000條左右

     如果之前改為action里面的包名,也要將字符串形式的包名com.tencent.qbx改為com.tianxiao.tencentweb

     如果有provider也要講原來的authorities值改為在AndroidManifest.xml中新改的authorities值。

4、將E:\apkTool\qq4重新打包為apk

     apktool b qq4 newqq.apk

5、將新的newqq.apk 重新簽名

     簽名的方法很多,一主要是手動(dòng)生成簽名,用命令行簽名

     我采用的現(xiàn)成的,下載了一個(gè)Auto-sign的文件夾,進(jìn)行了簽名,這個(gè)比較簡(jiǎn)單,網(wǎng)上帖子很多,就不贅述。

     新簽名后的apk名為  newqq4signed.apk

6、驗(yàn)證簽名 是否正確

     jarsigner -verify  -verbose -certs newqq4signed.apk

     一般來說,沒問題,略過

7、優(yōu)化apk

    zipalign -v 4 newqq4signed.apk latestqq.apk    優(yōu)化過的apk名為latestqq.apk

8、安裝新的apk,驗(yàn)證是否成功

     這個(gè)最好把Eclipse打開,手機(jī)連上,查看logcat的安裝信息。

     我嘗試了3次才成功,主要是忘了 provider的authorities的處理,

出錯(cuò)信息如下: Can't install because provider name qbx_bookmarks (in package com.tianxiao.tencentweb) is already used by com.tencent.qbx

原因很清楚,所以debug還是相當(dāng)給力的,原來不喜歡debug,看debug過程可以更好的了解執(zhí)行過程。

在進(jìn)行了測(cè)試后,筆者有多次重復(fù)了2-8這幾個(gè)步驟,共得到了4個(gè)新的apk,安裝后的結(jié)果如下圖:

如圖,QQ4.0的瀏覽器,原裝的裝了一個(gè),重新打包的有4個(gè),預(yù)期目標(biāo)達(dá)到了。

本次嘗試成功了,花了不少時(shí)間查資料,基本原理相當(dāng)?shù)那宄疚闹泄P者盡可能不產(chǎn)生歧義,歡迎各位交流和批評(píng)。

相關(guān)文章

  • Android之使用Bundle進(jìn)行IPC詳解

    Android之使用Bundle進(jìn)行IPC詳解

    這篇文章主要介紹了Android之使用Bundle進(jìn)行IPC詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • 詳解Android中接口回調(diào)、方法回調(diào)

    詳解Android中接口回調(diào)、方法回調(diào)

    在Android開發(fā)中我們很多地方都用到了方法的回調(diào),回調(diào)就是把方法的定義和功能導(dǎo)入實(shí)現(xiàn)分開的一種機(jī)制,目的是為了解耦他的本質(zhì)是基于觀察者設(shè)計(jì)模式,即觀察者設(shè)計(jì)模式的的簡(jiǎn)化版。本文主要對(duì)Android中接口回調(diào)、方法回調(diào)進(jìn)行詳細(xì)介紹,下面跟著小編一起來看下吧
    2017-01-01
  • Android高仿微信對(duì)話列表滑動(dòng)刪除效果

    Android高仿微信對(duì)話列表滑動(dòng)刪除效果

    這篇文章主要為大家詳細(xì)介紹了Android高仿微信對(duì)話列表滑動(dòng)刪除效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Android使用BottomNavigationBar實(shí)現(xiàn)導(dǎo)航欄功能

    Android使用BottomNavigationBar實(shí)現(xiàn)導(dǎo)航欄功能

    這篇文章主要介紹了Android使用BottomNavigationBar實(shí)現(xiàn)導(dǎo)航欄功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-08-08
  • Android中Handler消息傳遞機(jī)制

    Android中Handler消息傳遞機(jī)制

    這篇文章主要介紹了Android中Handler消息傳遞機(jī)制 的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • Android使用HorizontalScrollView實(shí)現(xiàn)水平滾動(dòng)

    Android使用HorizontalScrollView實(shí)現(xiàn)水平滾動(dòng)

    這篇文章主要為大家詳細(xì)介紹了Android使用HorizontalScrollView實(shí)現(xiàn)水平滾動(dòng),并點(diǎn)擊有相應(yīng)的反應(yīng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Android多套環(huán)境的維護(hù)思路詳解

    Android多套環(huán)境的維護(hù)思路詳解

    這篇文章主要為大家介紹了Android多套環(huán)境的維護(hù)思路詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 解析Android開發(fā)優(yōu)化之:從代碼角度進(jìn)行優(yōu)化的技巧

    解析Android開發(fā)優(yōu)化之:從代碼角度進(jìn)行優(yōu)化的技巧

    下面我們就從幾個(gè)方面來了解Android開發(fā)過程中的代碼優(yōu)化,需要的朋友參考下
    2013-05-05
  • Android自定義TextView跑馬燈效果

    Android自定義TextView跑馬燈效果

    這篇文章主要為大家詳細(xì)介紹了Android自定義TextView跑馬燈效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Android實(shí)現(xiàn)掃描和生成二維碼

    Android實(shí)現(xiàn)掃描和生成二維碼

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)掃描和生成二維碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05

最新評(píng)論

道真| 建湖县| 深水埗区| 玉溪市| 麦盖提县| 五常市| 呼和浩特市| 建瓯市| 苍山县| 滁州市| 东阿县| 始兴县| 安阳县| 大冶市| 花垣县| 那坡县| 南宁市| 大渡口区| 海晏县| 青河县| 富源县| 上饶县| 南平市| 商南县| 华蓥市| 东莞市| 新昌县| 翁牛特旗| 临猗县| 广水市| 萝北县| 盐池县| 扶绥县| 融水| 綦江县| 饶阳县| 诸城市| 黔南| 桐柏县| 准格尔旗| 治县。|