Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 電腦軟體介紹

Android APP 漢化實戰:從資源替換到 Smali 代碼修改

編輯:電腦軟體介紹

APK 結構速覽

APK 本質是 ZIP 壓縮包。關鍵目錄:

  • res/:佈局、圖片、字串資源(values/strings.xml)。
  • resources.arsc:編譯後字串資源表。
  • classes.dex:Dalvik 字節碼(含硬編碼字串)。
  • AndroidManifest.xml:權限、組件聲明。
  • META-INF/:簽名證書。

前置準備

  • 安裝 JRE 環境(java.com)。
  • 備份原 APK,漢化有風險。

方法一:AndroidResEdit 快速資源漢化(適合純資源型)

  1. 拖入 APK → 展開 res → 選 resources.arsc。
  2. 「檔案」→「匯出字典」→「大寫字母開頭詞條」→ 得到 字串| 格式文本。
  3. 編輯文本,在 | 後填入中文翻譯,儲存。
  4. 回工具 Ctrl+R 導入字典 → 未翻譯處可手動補齊。
  5. 「儲存檔案」→ 自動打包簽名輸出 -漢化簽名版.apk。
AndroidResEdit匯出字典 字典文本格式 手動補齊翻譯

方法二:APKDB 反編譯 + Smali 代碼漢化(解決硬編碼字串)

部分字串寫死在 Java 代碼中(編譯進 classes.dex),資源法覆蓋不到,需反編譯修改 Smali。

  1. 反編譯: 右鍵 APK(非中文名)→「使用 APKDB 反編譯」→ 輸入 1 回車 → 生成同名源碼目錄。
  2. 資源漢化: 進入 res/values/strings.xml,僅翻譯 <string name="xxx"> 內容,保留標籤。新建 values-zh-rCN 資料夾放入修改後的 XML,系統優先匹配中文語系。
  3. Smali 漢化:
    1. 查 AndroidManifest.xml 記錄 package 名(如 uk.co.xxx.yyy)。
    2. 進入 smali/uk/co/xxx/yyy/ 目錄(僅修改開發者自有包路徑下的 Smali)。
    3. 用 UltraEdit/Notepad++ 開啟 .smali 檔,搜尋 const-string,找到 const-string vX, "待翻譯文本",僅替換雙引號內容,保留格式與引號。
  4. 回編譯: 右鍵源碼根目錄 →「使用 APKDB 回編譯」→ 輸入 1 → 生成 已編譯-xxx/ 下的 APK,安裝測試。
APKDB反編譯 strings.xml修改 values-zh-rCN目錄 AndroidManifest包名 Smali const-string修改

避坑指南

  • 僅翻譯大寫開頭字串;含 $1 $2 格式化佔位符的勿動。
  • 圖片類文字需 PS 修圖,不在本文範圍。
  • 修改後必須重新簽名,否則無法安裝。

漢化是逆向工程入門最佳實踐,掌握資源層與代碼層雙管齊下,即可馴服絕大多數無中文版 APP。

Copyright © Windows教程網 All Rights Reserved