有時候我們想借鑒別人的優秀作品,或者想學習學習.在只有APK的情況下如何來實現呢? 其實也有辦法,那就是反編譯APK.
一.反編譯Apk得到Java源代碼
工具下載:需用到dex2jar和JD-GUI這2個工具
dex2jar下載地址:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip
JD-GUI下載地址:
windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zip
Linux版JD-GUI:http://laichao.googlecode.com/files/jd-gui-0.3.2.linux.i686.tar.gz
步驟:
1.首先找到Android軟件安裝包中的classes.dex
把.apk文件改名為.zip,然后解壓縮,得到其中的classes.dex文件,它就是java文件編譯再通過dx工具打包成的,所以現在我們就用上述提到的2個工具來逆方向導出java源文件
2.把classes.dex拷貝到dex2jar.bat所在目錄.
在命令行模式下定位到dex2jar.bat所在目錄,運行 dex2jar.bat classes.dex ,生成classes.dex.dex2jar.jar
3.運行JD-GUI工具(它是綠色無須安裝的)
打開上面的jar文件,即可看到源代碼
二.反編譯apk生成程序的源代碼和圖片、XML配置、語言資源等文件.
工具下載:
在http://code.google.com/p/android-apktool/下 載獲得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip兩個包都要下.
步驟:
1.解壓縮下載的兩個文件包,apktool-install-windows-2.1_r01-1.zip解壓縮后得到的包里有aapt.exe 和apktool.bat.(注意要把apktool-1.0.0.tar.bz2解壓后的一個.jar 文件copy進來)
2.打開命令窗口 (開始 > 運行,輸入cmd,回車.)進入到apktool.bat的文件夾里.
輸入:
apktool d C:\***.apk C:\***文件夾
(命令行解釋:apktool d 要反編譯的文件 輸出文件夾)
特別注意:你要反編譯的文件一定要放在C盤的根目錄里,
3.打開 C:\***文件夾 就可以得到我們學院的各種資源了.
三.將反編譯完的文件重新打包成apk
很簡單,只要輸入:
apktood b c:***文件夾(你編譯出來文件夾) 有時候我們想借鑒別人的優秀作品,或者想學習學習.在只有APK的情況下如何來實現呢? 其實也有辦法,那就是反編譯APK.
如下的內容也是我從別的朋友那里找來的, 不屬於本人原創,但是任然發上來供各位朋友參考,希望能給你的學習帶來方便.