歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android開發教程:反編譯APK文件

Android開發教程:反編譯APK文件

日期:2017/3/1 10:36:32   编辑:Linux編程

反編譯的目的在於學習一些優秀的Android應用程序代碼。

在進行反編譯之前,需要准備好下面的軟件工具(這些文件都放在同一文件下):

650) this.width=650;">

這些工具的下載地址:

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2012年資料/1月/29日/Android開發教程:反編譯APK文件/

下面開始進行反編譯APK文件:

1.先將上面的apktool-install-windows-2.1_r01-1.zip,dex2jar-0.0.7-SNAPSHOT.zip解壓到一個盤的根目錄的一個文件下面(這裡我選擇D:\APKTool)

2.Win+R打開運行界面,輸入cmd,進入dos窗口,輸入cd /d D:\APKTool進入到D:\APKTool下面,然後輸入下面的命令,按Enter鍵,會出現下圖所示650) this.width=650;" height=180>

apktool.jar是解包工具,d表示解包,android.apk是要解包的APK文件,紅色矩形框表示解包後輸出到這個文件夾。這時候打開d:\AndroidCode,就能看到通過解包得到的文件

650) this.width=650;">

裡面的AndroidManifest.xml文件和res下面的所有文件就能直接打開查看了。

3.解包之後,將之前的android.apk文件的後綴名改為rar,之後就將裡面的classes.dex文件解壓到D:\APKTool下面。然後在dos窗口輸入dex2jar.bat classes.dex

650) this.width=650;">

得到一個名為classes.dex.dex2jar.jar的文件,此時用jd-gui.exe打開classes.dex.dex2jar.jar或者用DJ Java Decompiler反編譯工具將.class文件反編譯成.java文件 就能看到所有源代碼了!

PS:APK文件反編譯之後,XML的源碼不會出現亂碼,不過有些APK文件得到Java源碼會出一些亂碼(比如在給變量賦值的時候),我現在沒有到更好的解決方法。

Copyright © Linux教程網 All Rights Reserved