APK 本質是 ZIP 壓縮包。關鍵目錄:
res/:佈局、圖片、字串資源(values/strings.xml)。resources.arsc:編譯後字串資源表。classes.dex:Dalvik 字節碼(含硬編碼字串)。AndroidManifest.xml:權限、組件聲明。META-INF/:簽名證書。res → 選 resources.arsc。字串| 格式文本。| 後填入中文翻譯,儲存。-漢化簽名版.apk。
部分字串寫死在 Java 代碼中(編譯進 classes.dex),資源法覆蓋不到,需反編譯修改 Smali。
1 回車 → 生成同名源碼目錄。res/values/strings.xml,僅翻譯 <string name="xxx"> 內容,保留標籤。新建 values-zh-rCN 資料夾放入修改後的 XML,系統優先匹配中文語系。AndroidManifest.xml 記錄 package 名(如 uk.co.xxx.yyy)。smali/uk/co/xxx/yyy/ 目錄(僅修改開發者自有包路徑下的 Smali)。.smali 檔,搜尋 const-string,找到 const-string vX, "待翻譯文本",僅替換雙引號內容,保留格式與引號。1 → 生成 已編譯-xxx/ 下的 APK,安裝測試。
$1 $2 格式化佔位符的勿動。漢化是逆向工程入門最佳實踐,掌握資源層與代碼層雙管齊下,即可馴服絕大多數無中文版 APP。