Android APK的打包過程

在《Android軟件安全與逆向分析》書中看到android apk的打包過程,覺得比較有意思,因此根據(jù)書中內(nèi)容整理了本篇文章。

1)將應(yīng)用源文件打包生成R.java文件,打包工具為aapt(位置為..\sdk\build-tools\android-4.4.2)渤弛。檢查AndroidManifest.xml的合法性,然后檢查res目錄下的資源子目錄內(nèi)資源文件名的合法性甚带、向資源表table添加條目她肯,編譯res和asert下的資源生成resource.arsc佳头,編譯生成R.java文件。并且對res目錄下的xml文件編譯辕宏。最后將所有的資源和resource.arsc文件畜晰,以及編譯過的xml文件打包壓縮為resources.ap_文件。

2)處理aidl(android interface definition language, android接口描述語言)文件生成java文件瑞筐。

3)編譯工程源代碼凄鼻,生成class文件。調(diào)用javac編譯src下的java源文件聚假,生成的class文件位于bin\class下块蚌。

4)將class文件轉(zhuǎn)換,生成classes.dex文件膘格,轉(zhuǎn)換工具為dx峭范。即將字節(jié)碼轉(zhuǎn)換為Dalvik字節(jié)碼,壓縮常量池瘪贱、消除冗余信息纱控。

5)通過apkbuilder打包生成apk文件。首先以resources.arsc文件為基礎(chǔ)生成apk菜秦,接著添加res和assert下的資源甜害,然后寫入依賴庫。

6)對apk文件進行簽名球昨,簽名之后才能在android設(shè)備上安裝尔店。簽名方式有兩種:使用debug.keystore在調(diào)試程序時進行簽名;還有打包發(fā)布時的簽名主慰,需要提供簽名文件嚣州。對于第二種情況打包發(fā)布時的簽名,可以使用JDK提供的jardesigner工具簽名共螺,也可以使用signapk進行簽名该肴。

7)對apk包進行對齊處理,工具為zipalign藐不。對齊處理即使得所有資源文件距離文件起始偏移為4字節(jié)的整數(shù)倍匀哄,這樣通過內(nèi)存映射訪問apk文件時處理速度更快。


本文內(nèi)容均來源于書籍:《Android軟件安全與逆向分析》

歡迎訪問我的博客:www.dzwanli.com.cn

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末佳吞,一起剝皮案震驚了整個濱河市拱雏,隨后出現(xiàn)的幾起案子棉安,更是在濱河造成了極大的恐慌底扳,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贡耽,死亡現(xiàn)場離奇詭異衷模,居然都是意外死亡鹊汛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門阱冶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來刁憋,“玉大人,你說我怎么就攤上這事木蹬≈脸埽” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵镊叁,是天一觀的道長尘颓。 經(jīng)常有香客問我,道長晦譬,這世上最難降的妖魔是什么疤苹? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮敛腌,結(jié)果婚禮上卧土,老公的妹妹穿的比我還像新娘。我一直安慰自己像樊,他們只是感情好尤莺,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著凶硅,像睡著了一般缝裁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上足绅,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天捷绑,我揣著相機與錄音,去河邊找鬼氢妈。 笑死粹污,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的首量。 我是一名探鬼主播壮吩,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼加缘!你這毒婦竟也來了鸭叙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤拣宏,失蹤者是張志新(化名)和其女友劉穎沈贝,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體勋乾,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡宋下,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年嗡善,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片学歧。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡罩引,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出枝笨,到底是詐尸還是另有隱情袁铐,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布横浑,位于F島的核電站昭躺,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏伪嫁。R本人自食惡果不足惜领炫,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望张咳。 院中可真熱鬧帝洪,春花似錦、人聲如沸脚猾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽龙助。三九已至砰奕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間提鸟,已是汗流浹背军援。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留称勋,地道東北人胸哥。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像赡鲜,于是被迫代替她去往敵國和親空厌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容