在Android學(xué)習(xí)與開發(fā)的路上囱修,我們總會遇到一些好看的界面與設(shè)計,就像旅途中遇到美麗的風(fēng)景想拍下來朵逝,而作為開發(fā)者你想看看別人的界面是怎么做的蔚袍,這時候反編譯就排上用場了。
古語曰:工欲善其事必先利其器配名。首先我們需要反編譯的三個軟件:apktool:資源文件獲绕⊙省;dex2jar:源碼文件獲惹觥宇整;jd-gui:源碼查看。附上下載地址:反編譯全套?密碼: frv8芋膘。
反編譯流程:
1.apk反編譯得到程序的源代碼鳞青、資源文件
apktool解壓得到3個文件:aapt.exe,apktool.bat为朋,apktool.jar 臂拓,現(xiàn)在我們用weixin做實驗(這里僅是示范作用),將需要反編譯的weixin_800.apk文件放到該目錄下习寸,打開命令行界面(運行-CMD)胶惰,定位到apktool文件夾,如圖1所示霞溪,輸入以下命令:apktool d [-s]? -f weixin_800.apk -o weixin; 其中weixin_800.apk是你要反編譯的apk文件名孵滞,weixin是反編譯后存放的目錄文件,此文件不需要新建鸯匹,反編譯后會自動生成坊饶,如圖2所示。
打開weixin文件夾殴蓬,res就是我們要找的資源文件匿级,目錄結(jié)構(gòu)和我們平時建的項目很像是吧。
這時候打開D:\apktool\weixin\res\anim下a.xml看下(如圖4),xml文件輕而易舉的獲取了
2.Apk反編譯得到Java源代碼
解壓dex2jar和jd-gui文件根蟹;將要反編譯的APK后綴名改為.zip脓杉,并解壓,得到其中的classes.dex文件简逮,將獲取到的classes.dex放到之前解壓出來的工具dex2jar-0.0.9.15文件夾內(nèi)球散,如圖5所示
在命令行下定位到dex2jar.bat所在目錄,輸入dex2jar.bat classes.dex散庶,效果如圖6所示
這個時候會發(fā)現(xiàn)dex2jar-0.0.9.15文件夾多了一個classes_dex2jar.jar文件蕉堰,如圖7所示。
現(xiàn)在就可以用工具jd-gui.exe打開這個jar了悲龟,看看圖8的效果吧
通過反編譯屋讶,你可以知道別人用到了哪些庫文件,它的代碼大體是如何編寫的等等须教。有了思路就可以自己嘗試了皿渗。
參考:http://blog.csdn.net/vipzjyno1/article/details/21039349
http://blog.csdn.net/poping888/article/details/45335857
本文章是在別人的基礎(chǔ)上增加自己的理解,如有侵權(quán)的地方轻腺,請聯(lián)系本人修改乐疆。文章有什么不足的地方,歡迎大家指正贬养。