綁定帳號登入

Android 台灣中文網

[求檔] APK 繁化/修改利器 —— 《android-apktool》

  [複製連結] 查看: 88627|回覆: 426|好評: 36
278755328 | 收聽TA | 顯示全部樓層 |閱讀模式
發表於 2011-4-7 13:22

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 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,就是可以裝到手機裡的了。
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

apktool1.3.2.apk

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

評分

參與人數 71碎鑽 +27 經驗 +1 幫助 +70 技術 +1 收起 理由
nick41301 + 1 + 1 非常讃
李嘎嘎 + 1 + 1 非常讃
咕嚕老大 + 1 + 1 非常讃
32902478 + 1 + 1 非常讃
huynhthanhbao20 + 1 + 1 讚一個!
w581798 + 1 + 1 非常讃
yyc_yy + 1 + 1 非常讚
karta1349754 + 1 聽說評分可以懷孕,你就讓我試試吧.
ja11te + 1 老衲來幫這篇文章開光
stu00112233 + 1 非常讚

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
garu670316 | 收聽TA | 顯示全部樓層
發表於 2011-4-9 16:20
感謝樓主分享...
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

player16818 | 收聽TA | 顯示全部樓層
發表於 2011-4-10 02:23
感謝您如此熱情細節分享...
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

eric12291229 | 收聽TA | 顯示全部樓層
發表於 2011-4-10 11:23
這是一定要推的~~~讚
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

polsa | 收聽TA | 顯示全部樓層
發表於 2011-4-11 04:51
寫的很詳細~~但是我看的很霧煞煞!! 可是就是要學習一下才知道Fu
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

mulder001 | 收聽TA | 顯示全部樓層
發表於 2011-4-14 12:58
這好像也是一個不錯的軟體,感謝分享
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

kylm | 收聽TA | 顯示全部樓層
發表於 2011-4-20 01:48
学习了
這好像也是一個不錯的軟體
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

yangbearling | 收聽TA | 顯示全部樓層
發表於 2011-4-20 18:01
繁轉中遇到問題
下載這個來反譯看看
感謝分享
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

yangbearling | 收聽TA | 顯示全部樓層
發表於 2011-4-20 19:43
終於會了
這個方法真的很複雜
不過可以解決我用AndroidResEdit跟ArscEditor裡面沒出現的簡中做翻譯
感謝大大教學跟小蘿莉大大教學

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

humansking | 收聽TA | 顯示全部樓層
發表於 2011-4-26 00:34
好棒的方法, 謝謝大大詳細教學跟心享^^
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則