Apk改之理(Apk IDE)從2.0開始界面進(jìn)行了全新的改變,這種改變除了可以更合理利用界面空間、更美觀大方外,最主要的是將更易于在以后擴(kuò)展更多加新功能。當(dāng)然,這樣改變之后,你可能不會(huì)像對(duì)舊版本那樣更直觀的知道如何操作它,所以有必要寫一下基本的操作流程。
啟動(dòng)程序:
雙擊ApkIDE.exe啟動(dòng)程序。如果是XP系統(tǒng)啟動(dòng)不了它,請(qǐng)點(diǎn)擊這里下載安裝.Net Framework 2.0。
配置JDK:
第一次啟動(dòng)時(shí),軟件會(huì)自動(dòng)查找系統(tǒng)中的Jre安裝目錄,如果沒有找到會(huì)提示你配置SDK,可以點(diǎn)擊菜單[工具]-[配置SDK]對(duì)JDK進(jìn)行配置,如下圖。JDK的安裝路徑必須配置(如果不配置,則無法進(jìn)行修改操作),Android SDK則隨意(有些功能需要用到它,比如ddms等,但這些功能都無關(guān)修改工作)。
提示:JDK(或JRE)請(qǐng)使用JDK1.6(或稱做JDK6,點(diǎn)擊這里進(jìn)入下載),不要使用JDK1.7(或稱做JDK7),因?yàn)樵赿ex2jar目前的版本貌視不支持JDK1.7(關(guān)于dex2jar的疑問請(qǐng)閱讀Apk改之理的常見問題,點(diǎn)擊這里直達(dá)。)
打開要修改的Apk文件:
單擊菜單[項(xiàng)目]-[打開Apk]選擇要修改的Apk文件(注:文件名稱必須只有字母、數(shù)字、下劃線、空格、點(diǎn)號(hào)等組成,不能包含中文或其它亞洲字符)。
新的修改還是繼續(xù)舊的工作:
在打開Apk文件時(shí)Apk改之理會(huì)先對(duì)其進(jìn)行基本的解析(包括它的名稱、包、權(quán)限等),然后根據(jù)該apk應(yīng)用的包名生成它的同名工作目錄,如果這個(gè)工作目錄已經(jīng)存在,Apk改之理會(huì)詢問是否要重新反編譯Apk。這里要注意,已有的工作目錄通常是你以前修改這個(gè)Apk應(yīng)用時(shí)所生成的工作目錄,如果你要繼續(xù)這個(gè)修改操作,則單擊[否]繼續(xù)使用它,否則就重新反編譯得到一個(gè)全新的源代碼。
提示:如果你想繼續(xù)舊工作但卻誤點(diǎn)了“是”按鈕,也不用擔(dān)心,刪除的目錄被扔進(jìn)了系統(tǒng)垃圾箱,你可以直接去系統(tǒng)回收站恢復(fù);謴(fù)時(shí)注意,如果你之前成功對(duì)這個(gè)應(yīng)用進(jìn)行過dex2jar操作(由軟件在反編譯apk時(shí)自動(dòng)進(jìn)行,但可能會(huì)因一些原因而失。敲椿厥照局袝(huì)看到二個(gè)同名的目錄,選中它們右鍵恢復(fù)即可。(注:這個(gè)特性Apk改之理2.1或更高版本中有效)
修改Apk
現(xiàn)在你可以使用軟件的搜索、替換等功能來對(duì)源代碼進(jìn)行修改,這種修改包括漢化、去廣告、改名、替換資源、圖片、xx等等。下圖中各個(gè)圖標(biāo)按鈕都有提示文字,可以將鼠標(biāo)懸浮在按鈕上顯示文字提示。具體的各項(xiàng)說明會(huì)單獨(dú)寫個(gè)文章來詳細(xì)解釋,基本上也沒什么難點(diǎn)。
這里先提示一些沒有說明的小功能:(1)在文件樹上,或搜索后得到的文件列表上,按住Shift鍵+單擊鼠標(biāo)右鍵會(huì)直接顯示操作系統(tǒng)菜單。 (2)在“輸入輸出面板組”的搜索結(jié)果面板中,搜索結(jié)果列表以標(biāo)簽的形式各自分開,鼠標(biāo)懸浮在標(biāo)簽上會(huì)顯示對(duì)應(yīng)搜索結(jié)果的搜索條件。(3)工作目錄下的第一個(gè)build目錄下的文件不會(huì)被搜索(因?yàn)檫@個(gè)是Apktool編譯時(shí)用到的,與我們的修改無直接關(guān)系)。
編譯成Apk:
修改完成后單擊菜單[編譯]-[編譯生成Apk]重新將源代碼打包成apk文件,新生成的apk存放在原apk的同級(jí)目錄下,其名稱以“ApkIDE_”開頭。
獲取生成的Apk:
單擊菜單 [編譯]-[獲取生成的APK] 可以直接在資源瀏覽器中定位到apk所在的目錄。
直接測(cè)試Apk:
這個(gè)需要用到菜單[ADB]下的菜單命令,如果你已經(jīng)將設(shè)備連接到電腦,或者直接在電腦上打開了安卓模擬器,可以單擊菜單 [ADB]-[安裝生成的APK] 直接向設(shè)備或模擬器安裝修改生成的apk,然后再可以使用adb logcat 來觀察其運(yùn)行狀況。
如果發(fā)現(xiàn)ADB相關(guān)命令不啟作用,你可以先用 adb devices 命令查看設(shè)備是否連接成功(可以直接在輸入輸出面板組的命令窗口輸入“adb devices”),也可以使用菜單 [工具]-[Dalvik Debug Monitor Service](ddms)來測(cè)試,當(dāng)然這些都是后話了,也超出了本文的范疇。
打完收功!其它待續(xù)。