A. apk反編譯出現異常,誰能告訴我是怎麼回事
我用的是apk改之理,反編譯異常應該是apk安裝包不完整,也就是說系統把apk進行了odex優化,把apk安裝包里後綴dex的文件提取出來,從而加快軟體運行速度,網上下個odex合並工具試一下,雖然我試過合並odex和apk文件,結果還是反編譯失敗,後來就懶得研究了,有興趣自己去研究下
B. 為什麼回編譯失敗
1:反編譯非系統apk前需要把APK命名為123.apk
2:反編譯系統apk時需要將Rom的framework-res.apk放置在 此目錄下,選擇數字5執行安裝! 如果是HTC的Rom,你還需要將com.htc.resources.apk也 安裝一次!
3:反編譯之前如果目錄里有上次反編譯產生的apk,framework 文件夾清除,否則不能正常反編譯!數字7可以快速清理!
4: 路徑默認放在D盤根目錄下面,大家不要自己改動否則可能會出現一些文件丟失的情況!
~如果你認可我的回答,請及時點擊【採納為滿意回答】按鈕
~~手機提問的朋友在客戶端右上角評價點【滿意】即可。
~你的採納是我前進的動力
~~O(∩_∩)O,記得好評和採納,互相幫助,謝謝。
C. 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的版本。
D. 反編譯APK,沒修改過任何東西,但無法回編譯 java環境變數無問題!
APKTOOL.EXE使用方法:
1.工具
2.要編譯的apk文件例如systemUI.apk到第一選項框內
3.反編譯APK
4.反編譯成功,生成systemUI文件夾。
5.修改美化代碼
6.把systemUI文件夾,拖動到第二選項框內
7.重建APK
9.重建APK成功,生成兩個apk文件:systemUI.apk(已簽名)systemUI.apk(未簽名)。
10.這兩個直接刪掉。11.在system文件夾,打開build/apk可替換的資源就在這個裡面
如果遇到不能編譯的情況。用任務管理器結束java進程,然後再關閉工具。
E. APK 反編譯失敗 是為啥
1
有沒有載入framework-res.apk構架?在編譯一些系統程序時需要先載入framework-res.apk這個系統構架。
2
反編的文件及framework-res.apk是不是官方原版未改動過的?很多時候出錯是因為反編的文件是別人或自己改動過的,建議直接從官方固件中提取文件進行編譯。
3
技巧說明使用的工具是否版本過低?目前APK編譯工具apktool已更新了
4
技巧說明以上都沒有問題?反編後什麼也不改回編也出錯?那隻有一個方法了:可以嘗試一下用低版本的apktool進行反編譯,然後在用高版本的apktoo工具回編譯。
還有比如JAVA環境是否搭建正確這些基本問題這里就不說了。
F. ApkTool可以成功反編譯APK,但是回編譯總是失敗
打開要編譯文件夾目錄下的 apktool.yml,修改apkFileName參數為 非中文,問題可以解決
G. 我用jad和Eclipse按照網上的操作進行反編譯失敗!求解
應該是你沒有配置好,你看下我的操作步驟,我自己每次都是這么做的:
http://download.csdn.net/detail/shy_snow/5066383
1、下載eclipse插件:jadclipse_3.1.0.jarhttp://jadclipse.sourceforge.net/
2、 下載Jad反編譯工具:jad.exehttp://www.kps.com/jad.html#download
3、將jad反編譯工具jad.exe放到jdk安裝路徑的bin目錄下面,jadclipse_3.1.0.jar放到eclipse的安裝目錄下的plugins目錄下。
4、啟動eclipse,打開:Window->Preferences->Java->JadClipse.
Path to decompiler,這里設置反編譯工具jad的全路徑名,就是第三部jad.exe的路徑。
5、 安裝完成後,eclipse自動將JadClipse Class File Viewer設置成class文件的預設打開方式。如果沒有默認,可以在Eclipse的Windows——> Perference——>General->Editors->File Associations中修改「*.class」默認關聯的編輯器為「JadClipse Class File Viewer」。設置完成後,雙擊*.class文件,eclipse將自動反編譯。
注意:jadclipse_3.1.0.jar的版本與eclipse的platform版本號相關
H. 反編譯不了,不知道哪裡出錯了,怎麼辦
我雖然沒有做過反編譯工作,但是我編寫過源程序,對源程序的調試基本思路一般就是:通過使用調試工具設置斷點,單步跟蹤,查看某個變數的值等手段,來最終把程序的正確運行結果調試出來。對於反編譯的思路也是一樣的,你可以通過調試工具設置斷點的方法,一步一步進行調試。在這個調試工作上面,沒有什麼捷徑可走。
I. 疑惑解開,終於找到為什麼反編譯不成功了
你解開執行文件。如果是單個的文件,則執行它的時候在臨時目錄里可以找到解開的包。 在解開後的目錄中找到pyc文件,然後利用反編譯工具就可以將pyc反編譯成py文件。 但是有些程序是做了加密的。
J. android的有些apk反編譯過來,修改完後,編譯不出,什麼原因呢
推薦使用 apkdec (網路下) 一鍵安卓反編譯工具apkdec是一款綠色的軟體