在开发学习的过程中,反编译成熟的apk能从中学到不少东西,在ubuntu反编译apk。
获取相应的配置文件和资源文件 已经java源代码文件,从中可以吸取有用的设计。
反编译apk 主要有三个工具
apktool :反编译获取xml文件 资源文件
dex2jar :把dex文件转换成jar文件
jd-gui : 把.class.jar文件转化为java文件
一. apktool 反编译获取xml文件 资源文件
apktool 需要下载的文件:
apktool1.5.2.tar.bz2:
https://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2
apktool-install-linux-r05-ibot.tar.bz2:
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.apk
即可 反编译生成 xml文件 资源文件
二. dex2jar + jd-gui 反编译获取java文件
dex2jar 下载地址 http://code.google.com/p/dex2jar/downloads/list
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
来源:oschina
链接:https://my.oschina.net/u/1027239/blog/261487