Android 台灣中文網

標題: APK 繁化/修改利器 —— 《android-apktool》 [打印本頁]

作者: 278755328    時間: 2011-4-7 13:22
標題: APK 繁化/修改利器 —— 《android-apktool》
本帖最後由 278755328 於 2020-6-2 12:58 編輯

說起APK的漢化,目前大部分教程都是讓用Hex Workshop或者Android ResEdit來做。但是實際操作後,就會發現:
1、Hex Workshop操作繁瑣,經常出現搜不到想要修改的字符的情況;
2、Android ResEdit簡單用用可以,修改稍微複雜一點就會出現整條整條丟字符串的情況;並且新內容不能比原內容長——誰能保證我的本地化語言就一定比原來的短呢?

現在好了,老外寫的《android-apktool》軟件,可以幫助我們把APK反編譯,生成程序的源代碼和圖片、XML配置、語言資源等文件。我們對圖片和語言資源等文件修改後,可以再把它們編譯打包成APK,簽名後就是手機可以安裝的本地化/修正版APK了。

《android-apktool》軟件軟件可以在附件中下載獲得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip兩個包都要下。下載後解開,為了方便使用,按作者的推薦把得到的4個文件複製到C:Windows文件夾裡。

這個工具是Java寫的,需要你的電腦安裝了JRE或者JDK,並在系統環境變量Path裡加入java.exe所在路徑。

以上準備工作做好後,就可以用它來反編譯APK了。這裡我用動態壁紙的APK來做示範。

如果用過動態壁紙,你也許會發現在設置壁紙時,界面的顯示有點問題:「動態壁紙」,在手機上中文顯示為「當前壁紙」。這是「動態壁紙選擇器」LiveWallpapersPicker.apk的翻譯錯誤造成的。

(假設LiveWallpapersPicker.apk放在C盤根目錄)
  1. 開始 > 運行,輸入cmd,回車。
  2. apktool d "C:LiveWallpapersPicker.apk" "C:LiveWallpapersPicker"
  3. (命令行解釋:apktool d 要反編譯的文件 輸出文件夾)
複製代碼
這樣,LiveWallpapersPicker.apk就被反編譯了,輸出內容在C:LiveWallpapersPicker文件夾裡。

打開C:LiveWallpapersPicker文件夾,我們發現裡面有一些XML文件和一些文件夾。絕大部分情況下,語言和圖片資源都在res文件夾裡,我們這個例子當然不例外。

打開res文件夾,可以其中又是很多文件夾。(又是)絕大部分情況下,語言資源都放在values*文件夾裡。比如說values放默認語言(英語居多),values-de放德語,values-fr放法語等等。一般我們關心的是values-zh-rCN(簡體中文)和values-zh-rTW(繁體中文)。

打開values-zh-rCN文件夾,其中有個strings.xml。打開看看:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <string name="application_name">動態壁紙選擇器</string>
    <string name="live_wallpaper_picker_title">當前壁紙</string>
    <string name="live_wallpaper_preview_title">當前壁紙預覽</string>
    <string name="configure_wallpaper">設置...</string>
    <string name="wallpaper_instructions">設置壁紙</string>
    <string name="live_wallpaper_empty">無當前壁紙。</string>
    <string name="set_live_wallpaper">設置壁紙</string>
    <string name="wallpaper_title_and_author">%1$s提供者:%2$s</string>
    <string name="live_wallpaper_loading">正在載入當前壁紙…</string>
</resources>

很好,就是它了。把「當前壁紙」都改為「動態壁紙」,再檢查和修正標點——中文內容用中文標點(強烈呼籲大家注意標點問題,目前馬大哈太多了)後,保存。

本例改這麼多就夠了。其它複雜的APK建議把res文件夾裡的內容都檢查下,至少你關心的語言文件夾裡的內容都檢查下。

改完後,就可以重打包了。還是在cmd命令行裡,輸入:
apktool b "C:LiveWallpapersPicker"
(命令行解釋:apktool b 要打包內容所在文件夾)

就可以了。生成的APK在C:LiveWallpapersPickerdist文件夾裡,叫out.apk。

這個out.apk是沒有簽名的,所以不能直接裝到手機裡。簽名用本論壇提供的APK-sign做,自己搜,用法原帖裡也有,這裡不說了。

簽名後得到的APK,就是可以裝到手機裡的了。

apktool1.3.2.apk

560.19 KB, 下載次數: 6, 下載積分: 碎鑽 -1 個


作者: garu670316    時間: 2011-4-9 16:20
感謝樓主分享...
作者: player16818    時間: 2011-4-10 02:23
感謝您如此熱情細節分享...

作者: eric12291229    時間: 2011-4-10 11:23
這是一定要推的~~~讚
作者: polsa    時間: 2011-4-11 04:51
寫的很詳細~~但是我看的很霧煞煞!! 可是就是要學習一下才知道Fu
作者: mulder001    時間: 2011-4-14 12:58
這好像也是一個不錯的軟體,感謝分享
作者: kylm    時間: 2011-4-20 01:48
学习了
這好像也是一個不錯的軟體
作者: yangbearling    時間: 2011-4-20 18:01
繁轉中遇到問題
下載這個來反譯看看
感謝分享
作者: yangbearling    時間: 2011-4-20 19:43
終於會了
這個方法真的很複雜
不過可以解決我用AndroidResEdit跟ArscEditor裡面沒出現的簡中做翻譯
感謝大大教學跟小蘿莉大大教學


作者: humansking    時間: 2011-4-26 00:34
好棒的方法, 謝謝大大詳細教學跟心享^^
作者: zeroshh8850    時間: 2011-4-26 11:04
感謝您如此熱情細節分享...

本文轉自: Android 台灣中文網--請參考:http://apk.tw/thread-1946-1-1.html
作者: bedb    時間: 2011-4-27 10:14
感謝分享~~~
作者: singpx    時間: 2011-5-1 00:04
剛好需要編譯軟體
感謝大大的分享
作者: about    時間: 2011-5-2 00:16
來學習一下
作者: alwayskangel    時間: 2011-5-2 21:58
提示: 作者被禁止或刪除 內容自動屏蔽
作者: sc3811    時間: 2011-5-3 09:42
老是抓APK 用, 有空自己也來中文化看看
作者: abs0927    時間: 2011-5-6 23:25
感謝樓主分享..感謝樓主分享..
作者: dkny0116    時間: 2011-5-9 02:58
回復 278755328 的帖子

謝謝大大詳細教學跟心享
作者: jimmytsang    時間: 2011-5-10 00:51

作者: piratecaptain7    時間: 2011-5-10 01:02
回復 278755328 的帖子

感謝樓主
作者: no808    時間: 2011-5-10 16:07
一頭霧水 不過要研究研究

作者: lnnyfairy0204    時間: 2011-5-10 17:17
謝謝分享目前使用AndroidResEdit翻譯遇上困難了,試試看新軟體感謝喔!
作者: scream111    時間: 2011-5-13 15:03
正好需要
學習如何繁化
來造福大家
謝謝
作者: scream111    時間: 2011-5-13 18:51
求救 我照著指令 要把資料夾打包...
可是卻找不到 out.apk 這檔案也
作者: xpman    時間: 2011-5-14 22:13
Thanks a lot.
Great!!!
作者: sainai    時間: 2011-5-17 00:44
提示: 作者被禁止或刪除 內容自動屏蔽
作者: sainai    時間: 2011-5-17 00:46
提示: 作者被禁止或刪除 內容自動屏蔽
作者: sainai    時間: 2011-5-17 05:19
提示: 作者被禁止或刪除 內容自動屏蔽
作者: sainai    時間: 2011-5-18 02:18
提示: 作者被禁止或刪除 內容自動屏蔽
作者: fatkam    時間: 2011-5-18 20:47
find it for a long time thx
作者: macorlee    時間: 2011-5-22 22:58
感謝大大分享~~thinhs

作者: tengchungi    時間: 2011-5-25 21:32
寫的真詳細~~真的太棒了~~這樣學起來就輕鬆多了~~謝謝囉!!
作者: whitebw1    時間: 2011-5-29 02:21
很細節的解說!!感謝您
作者: fromtokyo    時間: 2011-5-30 07:55
非常感謝提供!!!!!!!!!!!!
作者: fromtokyo    時間: 2011-5-30 07:55
這真是超級好用的!!!!!!!!
作者: fromtokyo    時間: 2011-5-30 08:03
真的是非常好用耶@@
作者: jpqq    時間: 2011-5-30 10:35
有空試試繁化APK
作者: sti2835r    時間: 2011-5-31 19:02
不錯的軟體 謝意
作者: mmdog    時間: 2011-6-2 16:46
讚啦...這樣就可以自己繁體化了..
作者: zaws8569    時間: 2011-6-5 13:47
哇 這對於想要自己擺脫看不懂的文字非常有幫助,漢化萬歲!
作者: swan399    時間: 2011-6-5 14:34
推一下!!!!
作者: a133566    時間: 2011-6-5 17:42
想來學學看~~

不過好像會是個大工程的說.....
作者: zn25901    時間: 2011-6-6 23:28
感謝大大的分享
作者: fuckyoumom    時間: 2011-6-10 11:57
來第一次試試看繁化一些小程式好了
Root tools 剛出v.19 來試試看
作者: yang184    時間: 2011-6-10 16:12
感謝分享及這麼詳細的解說~謝謝!!

作者: he01095131    時間: 2011-6-11 04:41
非常感謝分享
作者: xpman    時間: 2011-6-11 17:27
Thanks a lot.
Great!!!
作者: he01095131    時間: 2011-6-14 16:07
下載來試試看有沒有比其他繁化軟體好用  感謝分享
作者: gold17    時間: 2011-6-16 15:32
謝謝分享
改過的apk都要經過簽名的洗禮
作者: jmchen1107    時間: 2011-6-17 18:45
感謝分享!!自己手動繁體化...讚啊!!
作者: macauboy    時間: 2011-6-18 05:03
多謝樓主、自學繁化,希望可以做到!
作者: chiho001    時間: 2011-6-20 23:21
感謝樓主分享,謝謝
作者: kcchik    時間: 2011-6-21 12:30
感謝分享及這麼詳細的解說~讓我瞭解謝謝
作者: yuki5289    時間: 2011-6-27 22:28
實用軟體,推推推,感謝分享
作者: ryoko1114    時間: 2011-6-27 23:46
待會來試試
感謝阿
作者: yhtsung    時間: 2011-6-29 03:44
寫得很詳盡呢~
沒使用過~
看起來似乎還不錯,謝謝您的分享唷~這下子也可以來幫忙繁化了!
作者: ck018214    時間: 2011-6-29 15:54
GOOD感謝分享大力推
作者: aqbaby    時間: 2011-7-2 01:20
感謝分享
嘗試中文化中@@
作者: fhk20032003    時間: 2011-7-2 13:46
感謝您
作者: yhtsung    時間: 2011-7-3 02:47
下載之後使用上都很方便,編譯上也都還不錯唷!
謝謝您的推薦~
作者: ceenim    時間: 2011-7-4 21:32
謝謝分享!!
太厲害了~~~~
作者: kuangzai    時間: 2011-7-4 23:37
感謝您的詳細解說,我馬上試試看~
作者: 張簡L    時間: 2011-7-7 09:41
謝謝找了好久
作者: 張簡L    時間: 2011-7-7 09:43
感謝 這樣手機就更完美了
作者: Mr.L    時間: 2011-7-8 08:31
感謝分享
作者: Mr.L    時間: 2011-7-8 08:32
感謝分享
作者: kaykong    時間: 2011-7-10 13:00
謝謝樓主分享
作者: zerlous    時間: 2011-7-10 21:50
正在學這個軟件
收下了
作者: qkillerq    時間: 2011-7-12 19:37
感謝樓主分享
作者: Clarkhuang    時間: 2011-7-15 19:43
感謝分享這樣也可以自行研究繁化

作者: kkwoman    時間: 2011-7-17 20:29
感謝版大的分享,我試用過了,雖然好用,但還是只會修改到arsc檔裡面的東西,所以完成這部份充其量只能算是半繁體化對吧!?
不過確實比AndroidResEdit便利,所以完成這部份充其量只能算是半繁體化對吧!?
作者: kevin741    時間: 2011-7-18 11:08
這是一定要推的~~~讚
作者: groundwalker    時間: 2011-7-20 19:54
這個讚!!  感謝分享!!!
作者: i51ns    時間: 2011-7-21 14:03
謝謝!要了解學習一下
作者: jerrychang    時間: 2011-7-21 17:19
自己來試一下希望別太難了
作者: kkwoman    時間: 2011-7-21 21:48
拿一個相同的原文軟體,以APKTOOL跟AndroidResEdit下去翻譯,結果是:
APKTOOL:沒辦法有效的辨認出字串,會被全部打散,光是找字串就會找死
AndroidResEdit:開版大說字串會LOSE,可以表示版大沒有在用匯入匯出的習慣,先備份原文檔,只要匯出TXT檔,繁化完再匯入,另存新檔就好了,這樣就不會有LOSE字串的問題,並且....用匯入的方式沒有字數的限制,直接用AndroidResEdit修改才會有限制

作者: some04e7    時間: 2011-7-23 11:01
剛要開始學,有點看不懂
在研究看看,多謝分享喔
作者: ses5300766    時間: 2011-7-25 01:50
好棒的方法, 謝謝大大詳細教學跟心享^^
作者: totoacer23    時間: 2011-7-27 22:46

感謝分享
作者: yingkwok    時間: 2011-7-30 00:05
多謝分享~~~~~~
作者: yingkwok    時間: 2011-7-30 19:34
找不到java.exe所在路徑....請問要怎樣找.......?
作者: homebetty0125    時間: 2011-8-1 15:51
謝謝版大的分享
作者: jackygp    時間: 2011-8-3 23:50
來測試些改看看囉~多謝大大提供分享喔~!
作者: pisceseros    時間: 2011-8-9 14:07
對初學者來說很有用的工具,謝謝分誤
作者: pisceseros    時間: 2011-8-9 14:22
這個工具是Java寫的,需要你的電腦安裝了JRE或者JDK,並在系統環境變量Path裡加入java.exe所在路徑。

請問大大這個動作是什麼意思啊,有詳細的步驟嗎
作者: patpat911    時間: 2011-8-10 05:46
apktoolapktool
作者: you70480    時間: 2011-8-11 21:01
好棒,這個剛剛好要用到,謝謝
作者: herofxj    時間: 2011-8-13 07:31
下載後看看 是否可以繁化其他apk

作者: him9394    時間: 2011-8-14 01:44
thx
作者: him9394    時間: 2011-8-14 01:44

作者: 12093210    時間: 2011-8-16 08:00
感謝分享 抓東西都沒權限ˊˋ想自己學著繁化看看 3Q
作者: hjellysst    時間: 2011-8-16 23:25
感謝詳細的教學!
又學到另一種方法!
作者: nelson4999    時間: 2011-8-18 15:24
又要學新的課程了救命啊
作者: sokulu    時間: 2011-8-19 14:35
試試看,能過改回自己熟悉的語言是最好不過。
作者: him9394    時間: 2011-8-19 16:58

作者: him9394    時間: 2011-8-19 16:58

作者: elaine0821    時間: 2011-8-29 04:12
謝謝分享!!!
作者: wstephen    時間: 2011-9-7 13:58

終於抓到了,感謝樓主分享...
作者: Wakan    時間: 2011-9-8 00:34
下載了發現好像很複雜....
作者: qq9879630    時間: 2011-9-11 16:59
謝謝分享!!




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