Android 台灣中文網

標題: 反編譯和編譯 [打印本頁]

作者: 暗桌之光    時間: 2012-2-29 14:44
標題: 反編譯和編譯
第一:要在你的PC上建立Java的環境,才能執行編譯工作。具體方法我這個就不說了,你奇摩或者Google下就知道了,很簡單的。

第二:下載必要的工具。Apktool工具,下載地址 http://u.115.com/file/e65esebm

下載後解壓(有三個文件aapt.exe,apktool.bat,apktool.jar),為了方便。將解壓出來的文件放在CDM模式(win+R)默認的目錄下。
比如,我的是Windows7 32位 我的CDM模式默認目錄是C:\\USER\\用戶名     。

第三:如果你是要編譯系統文件的話,請將你要修改的rom裡的framework-res.apk和com.htc.resources.apk(暫時叫做依賴包)用CMD模式「安裝」下。
這樣編譯才不會出錯。我一開始就是在這裡糾結了很久。呵呵

安裝方法:把依賴包放在剛才放apktool的目錄下。(你也可以用指定目錄的方法安裝)
cmd模式  執行apktool if framework-res.apk  這個是安裝framework-res.apk
                   apktool if com.htc.resources.apk 這個是安裝com.htc.resources.apk

第四:準備工作都做好了,現在就可以反編譯和編譯了。
將你要反編譯的apk放在apktool的目錄下。(你也可以用指定目錄)
cmd模式  執行apktool d XXXX.apk  這個是Decode也就是反編譯
                          比如反編譯rosie 就執行 apktool d rosie.apk 就可以了(會在當前的目錄下生成rosie的文件夾,修改就是在這個文件夾裡進行)

cmd模式  執行apktool b XXXX 這個是build 也就是編譯回去
                         比如 編譯rosie 就執行 apktool b rosie  就可以了(會在rosie的文件夾中生成一個叫dist的文件夾,編譯回去的apk就是此文件夾中)


另外說明:
反編譯和編譯也可以用第三方工具而不用命令行。
這裡提供一個好用的工具ApkTool_GUI_1.3.5。(感謝這個工具的作者)  下載:http://u.115.com/file/e65esav4
使用方法,先開啟工具,然後直接將要反編譯的apk拖入到相應的視窗中,再點擊就可以了。
這個工具編譯非系統文件時很方便,但是編譯系統文件時會出錯,會卡死。比如rosie這個apk  我每次都卡死。呵呵
建議編譯系統文件的時候還是用CMD。非系統文件時就用ApkTool_GUI_1.3.5

注意:第三步很重要,很多人不成功就是因為沒做第三步。
作者: wshmllii    時間: 2012-4-19 12:26
感謝樓主無私的奉獻與分享~
作者: scue    時間: 2012-6-16 20:35
有一個不錯的工具apkdb,僅在Windows上可以使用,希望能幫助到大家。
  1. https://code.google.com/p/android-apkdb/
複製代碼

作者: mp6227    時間: 2012-9-27 00:13
最近要處理依個特殊用途的apk,需要好好進修一下了,謝謝!
作者: lai199334    時間: 2012-10-6 18:44
樓主您好,這個方法是不是無法用在cm10(defy+)裡頭的apk,因為今天試了一下,從cm10裡提出來的apk反編譯之後產生的資料夾不是空白的不然就是不完整(反編譯的apk是framework-res, settings跟gallery2)

作者: pengsmt    時間: 2012-11-9 17:25
好好学习一下,学习做包,做好包
作者: copymantw    時間: 2013-1-26 07:24
愈來愈進階了,等練成就神功附體了。謝謝師父!
作者: sam128    時間: 2013-4-23 10:02
用這麼多心機發文
我定會好好學習
謝謝大大
作者: mmoimage    時間: 2013-4-30 00:07
剛好有用到~
謝謝分享~
作者: imb0726    時間: 2013-4-30 20:19
好好学习一下
作者: ppboy0001    時間: 2013-6-26 13:42
學習中~~
謝謝分享~~




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1