一、前言
技術(shù)網(wǎng)站常能看到一些開源的高仿項(xiàng)目,如高仿微信、微博之類的,外表做的跟原項(xiàng)目一般無二,當(dāng)年初出茅廬的我自然崇拜萬分,各種下載各種看,想著自己到時(shí)也要模仿一個(gè)QQ微信之類的提升一下逼格。當(dāng)然,等真正工作了忙成狗也就沒這個(gè)閑情逸致了,最近剛好因?yàn)楣ぷ餍枰?,便學(xué)了下app資源圖片的獲取,覺得還挺有用的,故整理成筆記,希望對大家有用,看完這篇以后相信你也可以去高仿任何一個(gè)你想仿照的項(xiàng)目。
二、iOS中app資源圖片的獲取
1、下載ipa包
到mac電腦自帶的iTunes里直接下載你想要的app包,這里以微信為例:

2、 拿到下載好的ipa包
iTunes ->應(yīng)用->資料庫->微信應(yīng)用->鼠標(biāo)右鍵,在Finder中顯示

3、右鍵選中->打開方式->歸檔實(shí)用工具

4、解壓完成后,找到Payload文件夾里面的WeChat

5、選中WeChat->右鍵,顯示包內(nèi)容

包內(nèi)容資源的部分截圖顯示如下:

我們可以從中拿到app的icon圖片,程序啟動(dòng)圖片,以及一些音頻文件。但是,還有很多項(xiàng)目用到的圖片你會(huì)發(fā)現(xiàn)找遍整個(gè)文件夾也找不到,其實(shí)它們是被壓縮了藏在Assets.car文件里,下面要做的就是對這個(gè)文件進(jìn)行解壓。
6、解壓Assets.car文件
這個(gè)文件解壓需要用到一個(gè)工具cartool,github上直接有下載。
下載鏈接:https://github.com/steventroughtonsmith/cartool
用xcode打開cartool的工程文件,選中product -> Scheme->Edit Scheme

操作完成后,選中Run -> Arguments

點(diǎn)擊上圖的“+”號,這里需要填寫兩個(gè)路徑,一個(gè)是你需要被解壓(Assets.car)文件的路徑,這里建議把Assets.car文件拖到桌面來;一個(gè)是解壓后文件的放置路徑。直接拖拽文件丟進(jìn)對應(yīng)的框里即可。

完成后Close頁面,點(diǎn)擊Run運(yùn)行cartool程序?qū)ssets.car進(jìn)行解壓。運(yùn)行正常,控制臺(tái)會(huì)打印解壓好的圖片信息:

到此,微信app圖片獲取完畢,如下:

三、安卓app圖片資源獲取
好奇之下也看了下安卓的安裝包是怎么獲取資源圖片的,跟ios比起來真是簡單太多。
1、下載安卓的apk包,此處依然以微信為例

2、雙擊安裝包的名字,把后綴名.apk改為.zip,這時(shí)它會(huì)變成一個(gè)zip壓縮文件:

3、解壓這個(gè)zip文件,一般app是找到一個(gè)叫res的文件夾,圖片就包裹在里面。但是微信解壓包里沒有這個(gè)res文件,它的圖片是放在r文件中的a_文件下,如下:

四、結(jié)語
在知識的海洋里,總感覺自己是如此的渺小。唯有持續(xù)不斷的學(xué)習(xí)方能緩解心中些許焦慮。希望本篇會(huì)對你有益,我會(huì)持續(xù)更新一些我認(rèn)為有用的東西,喜歡的可以持續(xù)關(guān)注!