在開發學習的過程當中,反編譯成熟的apk能從中學到很多東西,在ubuntu反編譯apk。
獲取相應的配置文件和資源文件 已經java源代碼文件,從中能夠吸收有用的設計。
反編譯apk 主要有三個工具
apktool :反編譯獲取xml文件 資源文件
dex2jar :把dex文件轉換成jar文件
jd-gui : 把.class.jar文件轉化爲java文件
一. apktool 反編譯獲取xml文件 資源文件
apktool 須要下載的文件:
java
apktool1.5.2.tar.bz2:linux
https://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2android
apktool-install-linux-r05-ibot.tar.bz2:
ubuntu
https://android-apktool.googlecode.com/files/apktool-install-linux-r05-ibot.tar.bz2工具
解壓下載的文件
tar -jxvf apktool1.5.2.tar.bz2
tar -jxvf apktool-install-linux-r05-ibot.tar.bz2
將文件拷貝到/bin目錄下
sudo cp apktool1.5.2/apktool.jar apktool-install-linux-r05-ibot/aapt apktool-install-linux-r05-ibot/apktool /bin
更改文件的權限
sudo chmod 755 /bin/apktool.jar /bin/aapt /bin/apktool
命令:
查看apk信息:aapt d badging android-package.apk
學習
解開apk文件(解包):apktool d android-package.apkui
便可 反編譯生成 xml文件 資源文件google
二. dex2jar + jd-gui 反編譯獲取java文件
spa
dex2jar 下載地址 http://code.google.com/p/dex2jar/downloads/list.net
jd-gui 下載地址(下載linux版本):http://java.decompiler.free.fr/?q=jdgui解壓dex2jar-0.0.9.15.zip 而後 到dex2jar目錄下把apk包的classes.dex文件copy到dex2jar目錄下 執行以下命令$ sh dex2jar.sh classes.dex 會生成 classes_dex2jar.jar 解壓jd-gui-0.3.3.linux.i686.tar.zip後 進入目錄點擊 jd-gui 直接運行。打開文件classes_dex2jar.jar 便可查看java源代碼參考 1.http://blog.csdn.net/android_xiaoqi/article/details/7278639