來自國外安卓論壇的反編譯APK文件的工具,工具中集成了反編譯,編譯,簽名等選項(xiàng),對(duì)于DIY安卓軟件者是必備的工具。APK Multi-Tool 是APK Manager的升級(jí)版,是一個(gè)強(qiáng)大的APK反編譯工具,集多種功能于一身,是居家必備、做ROM必選的工具!這是一個(gè)比較方便的適合非開發(fā)者的小工具,可以對(duì)一些APK程序做自己喜歡的修改!
注意,此工具只在Win7上測試通過,不支持Win8系統(tǒng),XP系統(tǒng)請(qǐng)自測,使用此工具需要電腦上配置JAVA環(huán)境。
如果軟件無法在Win7系統(tǒng)上運(yùn)行,請(qǐng)安裝提供的VisualBasicPowerPacksSetup.exe,這樣就可以運(yùn)行該軟件了。
APK Multi-Tool介紹
注意是下載JDK,而不是JRE
JDK (Java Development Kit,Java開發(fā)工具包)
JRE (Java Runtime Environment,Java運(yùn)行環(huán)境)
2. 配置環(huán)境變量
下載并安裝JDK之后,你需要在計(jì)算機(jī)的“系統(tǒng)屬性”里配置以下環(huán)境變量:
(步驟:在計(jì)算機(jī)的桌面上右擊“我的電腦”,點(diǎn)擊“屬性”-“高級(jí)”-“環(huán)境變量”)
變量名:JAVA_HOME
變量值:D:\java\jdk1.6.0_32 (JDK安裝目錄)
3. 測試JDK是否安裝成功
在計(jì)算機(jī)的“運(yùn)行”(Win+R)里打開 CMD
輸入 java – version 命令,如果出現(xiàn)以下提示,表示JDK安裝成功!
C:\Documents and Settings\Administrator>java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode)
3.2 ADB的安裝及環(huán)境變量的配置
1. 首先要去Google官方下載Android SDK
2. 下載并安裝Android SDK之后,打開android-sdk-windows文件夾里面的AVD Manager.exe,勾選Packages下面的Tools,只需要下載Android SDK Tools和Android SDK Platform-tools,大小為78MB,其他的不用下載。
3. 設(shè)置Android SDK環(huán)境變量
1) 新建環(huán)境變量
(步驟:在計(jì)算機(jī)的桌面上右擊“我的電腦”,點(diǎn)擊“屬性”-“高級(jí)”-“環(huán)境變量”)
變量名:ANDROID_SDK_HOME
變量值:D:\Android\android-sdk (SDK安裝目錄)
2) 添加Path路徑
(一般來講系統(tǒng)上默認(rèn)都會(huì)有Path變量,我們只需要找到并編輯即可,直接在變量值后面添加以下變量值;如果不存在Path變量,那就新建一個(gè)吧)
變量名:Path
變量值:;%ANDROID_SDK_HOME%\tools;%ANDROID_SDK_HOME%\platform-tools (注意前面的分號(hào))
4. 測試Android SDK和ADB是否安裝成功
在計(jì)算機(jī)的“運(yùn)行”(Win+R)里打開 CMD,輸入 adb 命令,如果出現(xiàn)以下提示,表示Android SDK和ADB安裝成功!
APK Multi-Tool使用教程:
完成了JDK和SDK的安裝和配置,現(xiàn)在終于可以開始使用APK Multi-Tool反編譯APK程序了!
友情提示:
如果你使用的是官方原版APK Multi-Tool,在完成了JDK和SDK的安裝和配置之后,你還必須把Android SDK安裝目錄android-sdk\platform-tools文件夾的以下3個(gè)文件拷貝到APK Multi-Tool目錄APK Multi-Tool\platform-tools文件夾下,否則程序不能正常運(yùn)行。
adb.exe
AdbWinApi.dll
AdbWinUsbApi.dll
PS: 本人提供的漢化版已經(jīng)包含這3個(gè)文件,無需修改。
APK是Android Package的簡稱,是安卓的安裝文件。通過APK Multi-Tool這款軟件,先解壓apk文件然后對(duì)其進(jìn)行編輯,然后再打包,最后簽名。這樣就可以安裝自己修改過的apk文件了。
文件夾說明:
keep 保存修改前文件(回編譯后需要?jiǎng)h除此文件夾里面的所有內(nèi)容)
projects 包含反編譯出來的文件
place-apk-here-for-modding 存放待修改的文件(文件名一定不要有空格,必需用英文命名)
place-apk-here-for-signing 存放待簽名的文件
place-apk-here-to-batch-optimize 存放批量處理的文件(可以多個(gè))
place-ogg-here 存放待OGG優(yōu)化的文件
APK Multi-Tool具體步驟:
4.1 普通apk文件
普通apk文件就是從各種網(wǎng)站上下載下來的第三方軟件,比如我們從騰訊網(wǎng)下載一個(gè)Android版手機(jī)QQ : mobileqq_2012_android_build0130.apk
(1) 把需要反編譯的APK文件放到place-apk-here-for-modding文件夾里面;
(2) 運(yùn)行Script.bat,在CMD窗口中輸入23,設(shè)置當(dāng)前項(xiàng)目,選擇要編輯的apk文件,回車確認(rèn);
(3) 在CMD窗口中輸入9,apk文件就被反編譯到projects文件夾了;
(4) 我們對(duì)project文件夾中的文件進(jìn)行編輯,一般APK的圖片文件放在XXX.apk\res\drawable-hdpi文件夾里面,我們可以通過Photoshop等圖像處理軟件對(duì)其中的圖片包括軟件的圖標(biāo)進(jìn)行編輯替換;而APK的語言文件一般是在XXX.apk\res\values文件夾的strings.xml文件里面,我們可以使用EditPlus等文字編輯工具對(duì)里面的文字進(jìn)行編輯;
(5) 在CMD窗口中輸入11,重新編譯apk,這個(gè)過程花費(fèi)的時(shí)間肯可能比較長,請(qǐng)耐心等候。編譯成功之后,你可以看到place-apk-here-for-modding文件夾里面出現(xiàn)了一個(gè)unsignedXXX.apk,當(dāng)然,沒有簽名的APK還是不能安裝的;
(6) 在CMD窗口中輸入12,進(jìn)行apk簽名,你可以看到place-apk-here-for-modding文件夾里面出現(xiàn)了一個(gè)signedXXX.apk,APK修改成功,這樣就可以拿過來安裝了;
(7) 如果你手機(jī)連接著數(shù)據(jù)線可以在CMD窗口中輸入6,直接用adb安裝編輯好的apk文件到手機(jī)里。
4.2 系統(tǒng)apk文件
系統(tǒng)apk文件一般是手機(jī)system/路徑里面的,像/system/app/xxx.apk(自帶應(yīng)用程序)還有像/system/framework/framework-res.apk都可以編輯。
注意:
1. 系統(tǒng)文件的編輯有些風(fēng)險(xiǎn)的,就像你用R.E管理器刪除系統(tǒng)應(yīng)用一樣,搞不好就變成循環(huán)重啟。所以編輯之前還是用recovery做個(gè)當(dāng)前系統(tǒng)的Backup備份;
2. 注意要保證你的System文件夾里有足夠大的空間,不然改好了push不進(jìn)去。
(1) 手機(jī)僅充電狀態(tài)連接電腦,在CMD窗口中輸入0(提取系統(tǒng)apk文件),然后輸入提取路徑例如/system/app/xxx.apk,接著重新命名,這個(gè)名字可以隨意取,建議不要有空格;
(2) 在CMD窗口中輸入1,apk文件就被解壓到projects文件夾了;
(3) 我們對(duì)project文件夾中的文件進(jìn)行編輯,一般APK的圖片文件放在XXX.apk\res\drawable-hdpi文件夾里面,我們可以通過Photoshop等圖像處理軟件對(duì)其中的圖片包括軟件的圖標(biāo)進(jìn)行編輯替換;而APK的語言文件一般是在XXX.apk\res\values文件夾的strings.xml文件里面,我們可以使用EditPlus等文字編輯工具對(duì)里面的文字進(jìn)行編輯;
(4) 在CMD窗口中輸入3,重新壓縮成apk,你可以看到place-apk-here-for-modding文件夾里面出現(xiàn)了一個(gè)unsignedXXX.apk;
(5) CMD窗口中輸入8(把編輯好的系統(tǒng)apk文件重新push到系統(tǒng)里面),然后輸入路徑,比如輸入/system/app/xxx.apk,這個(gè)一定要跟你push出來的路徑和文件名完全一樣才能被替換。