- 軟件大?。?span>165.00M
- 軟件語(yǔ)言:中文
- 軟件類(lèi)型:國(guó)產(chǎn)軟件
- 軟件類(lèi)別:免費(fèi)軟件 / 編程工具
- 更新時(shí)間:2020-06-17 16:54
- 運(yùn)行環(huán)境:WinAll, WinXP, Win7, Win8, Win10
- 軟件等級(jí):
- 軟件廠(chǎng)商:
- 官方網(wǎng)站:http://m.aimjoke.net/
14.24M/中文/10.0
10.54M/中文/6.6
4.63M/中文/3.3
5.07M/中文/2.0
72.02M/中文/10.0
APK改之理(Apk IDE)是一個(gè)安卓apk文件修改工具,直觀(guān)顯示編輯,便捷高效,語(yǔ)法代碼高亮突出顯示,看的非常的清楚。本版本為官方最新測(cè)試版,apk改之理教程請(qǐng)參考下載包的使用教程,歡迎下載使用。
APK改之理是一款可視化的用于修改安卓Apk程序文件的工具,集成了APKTool、Dex2jar、JD-GUI等Apk修改工具,集Apk反編譯、Apk打包、Apk簽名,支持語(yǔ)法高亮的代碼編輯器,基于文件內(nèi)容的關(guān)鍵字(支持單行代碼或多行代碼段)搜索、替換引擎,打造成可視的、一體化的APK修改工具,從而大大簡(jiǎn)化Apk修改過(guò)程中的繁瑣操作,修改更輕松。
1.啟動(dòng)程序:
雙擊ApkIDE.exe啟動(dòng)程序。如果是XP系統(tǒng)啟動(dòng)不了它,請(qǐng)點(diǎn)擊這里下載安裝.net framework 2.0。
2.配置jdk:
第一次啟動(dòng)時(shí),軟件會(huì)自動(dòng)查找系統(tǒng)中的jre安裝目錄,如果沒(méi)有找到會(huì)提示你配置SDK,可以點(diǎn)擊菜單[工具]-[配置SDK]對(duì)JDK進(jìn)行配置,如下圖。JDK的安裝路徑必須配置(如果不配置,則無(wú)法進(jìn)行修改操作),Android SDK則隨意(有些功能需要用到它,比如ddms等,但這些功能都無(wú)關(guān)修改工作)。
提示:JDK推薦使用JDK1.6(或稱(chēng)做JDK6,點(diǎn)擊這里進(jìn)入下載),JDK1.7(或稱(chēng)做JDK7)不同電腦上可能會(huì)出現(xiàn)一些小問(wèn)題,特別是小內(nèi)存電腦(這些問(wèn)題的解決見(jiàn)FAQ,如果你用jdk1.7時(shí)出現(xiàn)問(wèn)題又怕麻煩可以改用jdk1.6)。另外,從apk改之理2.4開(kāi)始必須使用jdk,不再支持jre(jdk是開(kāi)發(fā)工具,jre只是一般普通用戶(hù)運(yùn)行java程序的工具)。
3.打開(kāi)要修改的Apk文件:
單擊菜單[項(xiàng)目]-[打開(kāi)Apk]選擇要修改的Apk文件(注:文件名稱(chēng)必須只有字母、數(shù)字、下劃線(xiàn)、空格、點(diǎn)號(hào)等組成,不能包含中文或其它亞洲字符)。
4.新的修改還是繼續(xù)舊的工作:
在打開(kāi)Apk文件時(shí)Apk改之理會(huì)先對(duì)其進(jìn)行基本的解析(包括它的名稱(chēng)、包、權(quán)限等),然后根據(jù)該apk應(yīng)用的包名生成它的同名工作目錄,如果這個(gè)工作目錄已經(jīng)存在,Apk改之理會(huì)詢(xún)問(wèn)是否要重新反編譯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)行過(guò)dex2jar操作(由軟件在反編譯apk時(shí)自動(dòng)進(jìn)行,但可能會(huì)因一些原因而失敗),那么回收站中會(huì)看到二個(gè)同名的目錄,選中它們右鍵恢復(fù)即可。(注:這個(gè)特性Apk改之理2.1或更高版本中有效)
5.修改Apk:
現(xiàn)在你可以使用軟件的搜索、替換等功能來(lái)對(duì)源代碼進(jìn)行修改,這種修改包括漢化、去廣告、改名、替換資源、圖片、xx等等。下圖中各個(gè)圖標(biāo)按鈕都有提示文字,可以將鼠標(biāo)懸浮在按鈕上顯示文字提示。具體的各項(xiàng)說(shuō)明會(huì)單獨(dú)寫(xiě)個(gè)文章來(lái)詳細(xì)解釋?zhuān)旧弦矝](méi)什么難點(diǎn)。
這里先提示一些沒(méi)有說(shuō)明的小功能:(1)在文件樹(shù)上,或搜索后得到的文件列表上,按住Shift鍵+單擊鼠標(biāo)右鍵會(huì)直接顯示操作系統(tǒng)菜單。 (2)在“輸入輸出面板組”的搜索結(jié)果面板中,搜索結(jié)果列表以標(biāo)簽的形式各自分開(kāi),鼠標(biāo)懸浮在標(biāo)簽上會(huì)顯示對(duì)應(yīng)搜索結(jié)果的搜索條件。(3)工作目錄下的第一個(gè)build目錄下的文件不會(huì)被搜索(因?yàn)檫@個(gè)是Apktool編譯時(shí)用到的,與我們的修改無(wú)直接關(guān)系)。
6.編譯成Apk:
修改完成后單擊菜單[編譯]-[編譯生成Apk]重新將源代碼打包成apk文件,新生成的apk存放在原apk的同級(jí)目錄下,其名稱(chēng)以“ApkIDE_”開(kāi)頭。
7.獲取生成的Apk:
單擊菜單 [編譯]-[獲取生成的APK] 可以直接在資源瀏覽器中定位到apk所在的目錄。
8.直接測(cè)試Apk:
這個(gè)需要用到菜單[ADB]下的菜單命令,如果你已經(jīng)將設(shè)備連接到電腦,或者直接在電腦上打開(kāi)了安卓模擬器,可以單擊菜單 [ADB]-[安裝生成的APK] 直接向設(shè)備或模擬器安裝修改生成的apk,然后再可以使用adb logcat 來(lái)觀(guān)察其運(yùn)行狀況。
如果發(fā)現(xiàn)ADB相關(guān)命令不啟作用,你可以先用 adb devices 命令查看設(shè)備是否連接成功(可以直接在輸入輸出面板組的命令窗口輸入“adb devices”),也可以使用菜單 [工具]-[Dalvik Debug Monitor Service](ddms)來(lái)測(cè)試,當(dāng)然這些都是后話(huà)了,也超出了本文的范疇。
9.打完收功!
1.在左側(cè)的“項(xiàng)目”面板中,在樹(shù)目錄中,右鍵單擊可以看到“系統(tǒng)右鍵菜單”的選項(xiàng),可以用于顯示系統(tǒng)關(guān)于當(dāng)前選中的文件(夾)的右鍵菜單。一個(gè)更快捷的打開(kāi)這個(gè)菜單的方法是:按住Shift鍵,右鍵單擊樹(shù)目錄中的文件或文件夾即可;同樣的,在使用搜索功能后,在“搜索結(jié)果”列表中,也有此菜單命令,同樣也可以使用Shift+右鍵的方式快速打開(kāi)系統(tǒng)右鍵菜單。
2.在編輯代碼時(shí),如果想搜索其中的一段內(nèi)容,只要選中內(nèi)容,然后用鼠標(biāo)拖動(dòng)它們到右側(cè)的搜索框(或替換框)中,免去復(fù)制再粘貼的麻煩。
3.在編輯代碼時(shí),如果覺(jué)得編輯空間不夠大,代碼又太長(zhǎng),可以雙擊頂部的文件名標(biāo)簽,最大化編輯器,再次雙擊則自動(dòng)還原。
4.在編輯代碼時(shí),如果嫌字號(hào)太小或太大時(shí),可以按下Ctrl鍵向前或向下滾動(dòng)滑鼠以縮放頁(yè)面。
5.在右側(cè)的搜索替換面板中,編輯搜索或替換內(nèi)容時(shí),你可能時(shí)常會(huì)覺(jué)得這個(gè)輸入框太小了,使用鼠標(biāo)托動(dòng)縮放的方式又太麻煩?,F(xiàn)在你只要雙擊“搜索和替換”面板的標(biāo)題欄,面板就會(huì)自動(dòng)放大或縮小寬度了;同樣的,左側(cè)的“項(xiàng)目”面板。
6.在底部的“輸入輸出”面板中,如果你在觀(guān)察輸出信息或搜索結(jié)果列表時(shí),覺(jué)得寬度不夠看,同樣只需要雙擊面板頂部的標(biāo)題欄,二側(cè)的項(xiàng)目和搜索面板會(huì)自動(dòng)隱藏(或顯示),以便最大化(或還原)輸入輸出面板。
7.在打開(kāi)APK文件后,在左側(cè)“項(xiàng)目”面板,單擊APK應(yīng)用圖標(biāo)或其信息說(shuō)明可以顯示apk詳細(xì)的應(yīng)用信息,包括名稱(chēng)、版本、權(quán)限等。
8.在漢化修改時(shí),在搜索替換面板中開(kāi)啟“實(shí)時(shí)翻譯”,在編輯器中選擇要翻譯的內(nèi)容,右鍵單擊選擇“發(fā)送到搜索框”,稍等片刻即可自動(dòng)在替換框中顯示翻譯內(nèi)容并自動(dòng)全選;不過(guò)也要注意,開(kāi)啟實(shí)時(shí)翻譯后,一旦搜索框中內(nèi)容有變化,替換框中的內(nèi)容也將自動(dòng)變化。
可視化操作,全自動(dòng)的反編譯、編譯、簽名Apk。
以樹(shù)目錄管理全部反編譯得到的Apk資源文件,方便操作。
內(nèi)置代碼編輯器,支持語(yǔ)法高亮顯示,根據(jù)文件格式自動(dòng)匹配相應(yīng)語(yǔ)法;支持多文檔同時(shí)編輯;也支持使用系統(tǒng)編輯器來(lái)編輯代碼文件。
內(nèi)置基于文件內(nèi)容的關(guān)鍵字或多行代碼段的搜索、替換引擎,一鍵搜索替換,搜索結(jié)果以標(biāo)簽的形式分門(mén)別類(lèi);允許在指定搜索范圍(整個(gè)工程或選中的文件或文件夾內(nèi)搜索),支持正則表達(dá)式搜索和替換。搜索功能是Apk修改的一個(gè)重要工具,從此你不必借助其它第三方搜索工具。
內(nèi)置Google在線(xiàn)翻譯引擎,支持實(shí)時(shí)翻譯,支持所有Google支持的幾十國(guó)語(yǔ)言對(duì)譯,漢化更輕松。
支持使用自己的keystore文件簽名。
自動(dòng)識(shí)別圖像資源,并提供該類(lèi)資源的快捷替換功能,方便修改這類(lèi)圖片資源。
內(nèi)嵌Unicode、AscII互轉(zhuǎn)工具,以方便硬編碼的文字(如漢字)的搜索和漢化類(lèi)修改。
內(nèi)置類(lèi)似于系統(tǒng)cmd.exe的命令窗口,高手也可以手動(dòng)直接輸入各種命令來(lái)手動(dòng)操作。
所有操作步驟、操作結(jié)果都以良好的閱讀格式輸出在日志窗口,方便查看修改的歷史記錄。
內(nèi)置adb功能,包括使用adb向設(shè)備(或模擬器)安裝、卸載修改后的apk進(jìn)行測(cè)試,并嵌入adb log、ddms等功能監(jiān)測(cè)修改apk的運(yùn)行狀況,以便于分析和查找錯(cuò)誤。
無(wú)法運(yùn)行Apk改之理?
這種情況基本上都是發(fā)生在使用XP系統(tǒng)的用戶(hù)身上,原因是沒(méi)有安裝.net framework(至少2.0),點(diǎn)擊 這里 到微軟官網(wǎng)下載(這個(gè)是.net framework2.0簡(jiǎn)體中文版,其它版本請(qǐng)自已搜索) 。
如何配置Java SDK?
鑒于還有很多人不明白如何設(shè)置JDK,這里以安裝jdk1.6為例,給出一個(gè)詳細(xì)設(shè)置步驟:
(1)先下載安裝JDK:點(diǎn)擊這里進(jìn)入下載JDK,參考下面的圖示下載jdk安裝包。
(2)安裝jdk1.6,安裝時(shí)注意它的安裝路徑,你也可以更改安裝路徑,假設(shè)安裝路徑為E:\Develop\JDK6。安裝時(shí)有二個(gè)部份選擇安裝,一個(gè)是JDK,一個(gè)是JRE(建議都裝),二者的路徑可以設(shè)置不同,主要是JDK的路徑你記得最好,至于JRE隨便裝哪兒,不過(guò)建議都放在一起(如安裝到E:\Develop\JDK6\jre,覆蓋同名目錄沒(méi)什么問(wèn)題)。
(PS:安裝過(guò)程就不詳述了,如果連安裝都不會(huì),我只能建議你先去學(xué)一些電腦的基本知識(shí))
(3)如果你照上面的步驟做的,重新打開(kāi)APK改之理后,它一般就能直接找到JDK的安裝路徑了,不用再手動(dòng)配置。
(4)如果沒(méi)有自動(dòng)配置好,或者你使用的是免安裝綠色版的JDK,你可以手動(dòng)配置JavaSDK方法:在APK改之理主界面點(diǎn)菜單“工具-配置和選項(xiàng)”(2.4.2以前的版本叫“配置SDK”),點(diǎn)擊“Java SDK(JDK)”安裝路徑后面的“瀏覽”按鈕,找到JDK的安裝目錄(如E:\Develop\JDK6)。
(PS:如果你被提示“無(wú)效的安裝目錄”,若如此,請(qǐng)確保你所選擇的目錄下存在一個(gè)bin文件夾,且這個(gè)bin文件夾下包含java.exe、jarsigner.exe等程序。)
【注意】從2.4版開(kāi)始不再支持jre,必須要jdk,因?yàn)閖re相對(duì)jdk少了很多工具(如jre的bin目錄下沒(méi)有jarsigner.exe等),隨著APK改之理的不斷升級(jí),有可能用到j(luò)dk中的更多工具,所以從2.4開(kāi)始,下載安裝一個(gè)jdk是必須的。
(5)Android SDK不是必要的,但配置方法與手動(dòng)配置JDK類(lèi)似(它會(huì)檢查選中的目錄下有沒(méi)有“SDK Manager.exe”和“AVD Manager.exe”這二個(gè)程序文件),這里不詳述。
在打開(kāi)APK時(shí),本想繼續(xù)上次的修改但誤點(diǎn)了重新編譯,怎么辦?
(1)在使用apk改之理打開(kāi)一個(gè)apk時(shí),apk改之理會(huì)先去查看是否存在它的舊工作目錄,如果存在會(huì)提示是否繼續(xù)使用舊工作目錄(如上圖),也就是說(shuō)這個(gè)apk之前修改過(guò),如果本次你想繼續(xù)上次的修改工作,那么按提示應(yīng)該點(diǎn)“否”按鈕,如果你誤點(diǎn)了“是”按鈕,也不用擔(dān)心,因?yàn)锳pk改之理在重新編譯前會(huì)把舊工作目錄清理到系統(tǒng)回收站,等待本次重新編譯完成后,你可以直接從系統(tǒng)回收站還原出舊工作目錄使用。
(2)有些細(xì)節(jié)你可能要注意,因?yàn)槟泓c(diǎn)了“是”所以同時(shí)會(huì)編譯生成一個(gè)全新的工作目錄(而舊工作目錄被扔進(jìn)系統(tǒng)回收站),直接從系統(tǒng)回收站將舊工作目錄還原到原位置覆蓋新的工作目錄一般不會(huì)有太大問(wèn)題;另外,通常你在回收站能找到二個(gè)同名的工作目錄,一個(gè)實(shí)際來(lái)自于APK改之理安裝目錄下的 Work 文件夾中,一個(gè)來(lái)自 Worksrc 文件夾中(注意看它們的“原位置”就能分辨了),前者是smali的源代碼目錄,也就是apk反編譯后得到的源碼目錄,后者是class文件的源碼目錄,主要用于查找smali文件的java源碼文檔,這個(gè)class目錄恢不恢復(fù)就無(wú)所謂(搞不明白或不想搞明白就全部恢復(fù)),因?yàn)橹匦戮幾g時(shí)同樣會(huì)生成,這個(gè)目錄下的文件不可能被修改(當(dāng)然,你叛逆的非要去改除外)。
(3)這個(gè)方法只對(duì)Apk改之理2.1或以上版本有效,在2.0中是直接刪除舊工作目錄無(wú)法恢復(fù)的。
為什么要更新aapt?aapt如何更新?
aapt即Android Asset Packaging Tool,是解包、打包、解析apk的核心程序,這個(gè)文件是集成android sdk的platform-tools目錄下。如果在使用Apk改之理編譯、反編譯時(shí)出現(xiàn)有關(guān)aapt的錯(cuò)誤時(shí),可嘗試更新這個(gè)aapt.exe來(lái)解決(比如編譯時(shí)出現(xiàn) could not exec command: [aapt, p, --min-sdk-version, 16, --target-sdk-version, 16, -F... 之類(lèi)的錯(cuò)誤時(shí);當(dāng)然,需要說(shuō)明的是,出現(xiàn)這種問(wèn)題不一定是aapt的問(wèn)題,可能你所改動(dòng)的代碼有問(wèn)題)。要更新這個(gè)程序,可以開(kāi)啟android sdk中的SDK Manager,并更新列表中的 Tools\Android SDK Platform-tools ,下載完成后可以到 [android sdk安裝目錄](méi)\platform-tools目錄下找到最新的 aapt.exe。得到后將它拷貝一份到 Apk改之理(Apk IDE)安裝目錄下覆蓋同名文件即可。如果你沒(méi)有安裝android sdk,也不想安裝,可以直接點(diǎn)擊 這里 下載最新版(我會(huì)在發(fā)現(xiàn)有更新的aapt.exe時(shí)添加在下載列表中)。
dex轉(zhuǎn)成jar失敗是什么原因?如何處理?
(1)確保使用的是最新版本的APK改之理(2.1或以上版本);
(2)如果使用的是JDK1.7,請(qǐng)按此方法修改:[Apk改之理安裝目錄](méi)\dex2jar\d2j-dex2jar.bat 將其中的 java -Xms512m -Xmx1024m -cp 改成 java -Xms128m -Xmx512m -cp 或根據(jù)你電腦的物理內(nèi)存設(shè)置更小的值,具體參數(shù)含義請(qǐng)自行百度或google搜索“JVM參數(shù)”。(JDK1.6下如果失敗也可嘗試此方法)
(3)如果以上方法無(wú)效,如果是Vista/win7系統(tǒng),請(qǐng)嘗試用管理員權(quán)限運(yùn)行Apk改之理(右鍵單擊ApkIDE.exe單擊以管理員運(yùn)行);
(4)(根據(jù)評(píng)論中maple網(wǎng)友的經(jīng)歷)檢查一下你的系統(tǒng)殺毒軟件是否攔截了apk中的插件(如果有);嘗試暫停殺毒保護(hù);
(5)如果以上方法無(wú)效,刪除整個(gè)Apk改之理安裝目錄,重裝一份新的Apk改之理。
(6)如果以上方法無(wú)效,對(duì)不起,我也無(wú)能為力。
PS:dex2jar即使失敗也不影響修改apk,這個(gè)工具只是用來(lái)查看.smali文件對(duì)應(yīng)的.java源碼以輔助理解程序邏輯之用。
為什么編譯時(shí)卡死?或反編譯后不進(jìn)行任何修改也無(wú)法編譯成功?如何處理?
所謂編譯卡死,是指在編譯時(shí),進(jìn)度條一直停留在一處很長(zhǎng)時(shí)間沒(méi)有改變,這個(gè)一般只要等5-10分鐘內(nèi)如果編譯不動(dòng),基本可斷定為已經(jīng)卡死了。這個(gè)問(wèn)題比較復(fù)雜,可能情況較多,但通??赡苁怯捎谛薷牡拇a本身和編譯工具的問(wèn)題;另外,再比如,改得多了你就會(huì)經(jīng)常。
v3.5.0更新內(nèi)容:
1.常規(guī)化更新apktool,依然有apktool和shakapktool兩種選擇;
2.兼容更高版本的安卓SDK程序,從SDK16-26均可完美反編譯并回編譯,解決高版本卡死問(wèn)題,測(cè)試環(huán)境為jdk目前最新版本jdk18-144;
3.重做dex2jar,將抗干擾能力進(jìn)一步增強(qiáng),并新增指令,出錯(cuò)時(shí)仍然可以無(wú)障礙反編譯成java;
4.將大量組件如aapt等全部重做;
5.將插件如oat2dex等進(jìn)行完全重做,并新增安卓xml和arsc文件分析工具;
6.新增多dex批量反編譯功能插件,無(wú)論多少dex,均可一次性反編譯成java,并有jdgui和luten兩種不同的選擇。
請(qǐng)描述您所遇到的錯(cuò)誤,我們將盡快予以修正,謝謝!
*必填項(xiàng),請(qǐng)輸入內(nèi)容