在进行安卓开发时,有时候需要了解或获取第三方应用的代码结构、布局和样式文件、以及好的图片资源等。在不能直接得到源码的情况下,只能通过反编译技术来实现。下面就简单介绍下反编译APK文件的过程。
一:环境介绍
(1)android-apktool 1.5.2:GOOGLE提供的APK编译工具,能查看res目录下的图片和配置文件等资源。
(2)dex2jar-0.0.9.15:将apk中的classes.dex转化成jar文件。
二:查看APK内的资源文件
(1)通过地址http://code.google.com/p/android-apktool/ 下载 apktool1.5.2.tar.bz2 和 apktool-install-windows-r05-ibot.tar.bz2(根据操作系统自行选择)。
(2)在E盘创建文件夹apktool1.5.2(盘符和文件夹自行定义),把上步下载的两个压缩文件解压到此文件夹下,内容如下图:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0NXYFhGd192UvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TPB9UeFRVTpR2MZZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39jN0AjM0MDM3ETNxEDM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
(3)拷贝需要反编译的APK文件(如 Test.apk)到 E:\apktool1.5.2 下。
(4)打开命令窗口(开始 -> 运行 输入cmd 回车)进入到apktool.bat的文件夹里,目前是 E:\apktool1.5.2。
(5)输入:apktool.bat d E:\apktool1.5.2\Test.apk E:\apktool1.5.2\output,回车,操作步骤和结果详见下图。
格式说明:apktool.bat d apk文件路径 输出路径(最好是一个不存在的文件夹,它会自动创建)。
(6)上述步骤完成后,即可在 E:\apktool1.5.2\output 路径出现反编译后的资源文件。
三:查看APK内的源代码
(1)下载dex2jar-0.0.9.15.zip,解压到某盘符根目录,例如 E:\dex2jar-0.0.9.15。
(2)把APK文件重名为ZIP文件并解压,把解压出的 classes.dex 文件拷贝到 E:\dex2jar-0.0.9.15 下。
(3)打开命令窗口(开始 -> 运行 输入cmd 回车)进入到dex2jar-0.0.9.15文件夹,目前是 E:\dex2jar-0.0.9.15。
(4)输入:dex2jar.bat classes.dex ,回车,详见下图:
(5)上述步骤执行完毕,即可在 dex2jar-0.0.9.15 目录下生成 classes_dex2jar.jar ,把其放到任何一款JAVA反编译软件中都能得到源代码。相信任何有过JAVA开发经历的朋友都不陌生。