古詩詞大全網 - 個性簽名 - APK 反編譯失敗 是為啥

APK 反編譯失敗 是為啥

1、反編譯=回編譯後分別是

  smali目錄 回編譯為 classes.dex 文件

  res目錄 回編譯為 resources.arsc 文件

2、回編譯順序

在回編譯時,會先檢查“源”即resources

當妳漢化文件,修改出錯了(缺少壹個符號也不行),

那麽回編譯會自動跳過編譯res文件夾,直接回編譯smali 。

所以,如果沒有對smali(classes.dex)漢化,那麽建議大家刪掉這個文件夾,

這要會大大加快回編譯速度。

3、出錯問題1

在漢化時,往往會不小心刪掉壹些符號,如 "<" ">"符號等等。

<string name="app_name">File Manager</string>

<string name="app_name">文件管理器/string>

<string name="app_name"文件管理器</string>

這些小小的錯誤都會導致回編時譯檢查出錯。

所以漢化時,註意對校,然後再回編譯。

建議使用壹些高級的文本編輯器,支持語法高亮視圖的。

4、出錯問題2

最近發現有些APK文件 反編譯後,就算不漢化直接回編譯,都會出錯。

有可能的原因1,反編譯後XML文件語法中@符號 前面多了"\" (\@ ),

用文本編輯工具 直接替換\@為@,應該可以解決。

建議使用最新版本的反編譯工具。

5、建議大家使用新版本的APKTool工具,

當然如果新的有問題也可以試試舊的壹、系統文件漢化再次強調

1、漢化Settings.apk(系統設置)、MMS.apk(信息)、Phone.apk(電話)、

等等系統文件,壹定要先 安裝構架,具體看另個文件

<關於APKTool工具反編譯Settings.apk問題>。

2、系統文件漢化完後不需要簽名,直接替換漢化後的文件,就可以了。

主要是,系統文件放在系統目錄,無需再次讀取簽名獲得權限,已經是高級了。

二、打包說明

1、通常漢化完回編譯後,會自動生成所有APK內的文件,或者自動生成*.APK文件。

但是建議大家不要直接使用該文件,進了使用替換法,替換掉妳漢化後的文件,

如:resources.arsc,如果修改過的圖片,等等…

2、很多人對於APK文件 解壓縮或壓縮 都用“WinRAR”或“好壓”,這裏不推薦。

  希望大家安裝7-Zip這個壓縮工具,對於zip格式的支持是最好的。而且很方便,

不需要重新關聯apk 直接右鍵打開就行了。替換直接拖拉進去,就OK了壹、回編譯出錯問題

  (1.提示 strings.xml 最後壹行錯誤,檢查是否</string>符號錯誤;

在漢化時,往往會不小心刪掉壹些符號,如 "<" ">"符號等等。

<string name="app_name">File Manager</string>

<string name="app_name">文件管理器/string>

<string name="app_name"文件管理器</string>

  (2.提示 strings.xml 最頂部含中文代碼首行錯誤,編碼格式不對,轉換成 UTF-8;

  (3.提示 public.xml 出錯,檢查改動過的 arrays.xml 是否代碼有錯誤的地方;

二、壹切能正常但無法回編譯

還有壹種情況,apktool最新版本能正常反編譯壹個apk文件,在未做任何修改的情況下,無法回編譯。

這是就要註意了,可以嘗試壹下用低版本的apktool進行反編譯,然後在用高版本的apktoo工具回編譯。

這裏向大家推薦用 APKDB 這個工具,很方便,反編譯時可以選擇apktool的版本。