android 反编译apk文件

一般的apk文件如果后缀改为rar并解压的话,可以得到一些图片资源,和一堆打开乱码的文件。但我们往往想要的是得到它的xml文件学习下怎么布局的,或者看看它的源码学习下优秀程序的思路。这时就要借助以下工具对apk进行反编译了。

一、工具准备:apktool , dex2jar  ,  jd-gui

         工具包也可以在这里下载。

1、dex2jar可以在这里下载,jd-gui可以在这里下载。

2、apktool,可以去Google的官方下载,apktool-1.0.0.tar.bz2(里面有apktool.jar)和apktool-install-windows-2.1_r01-1.zip两个包都要下。解压apktool.jar到 C:\Windows,解压apktool-install-windows.zip到任意文件夹(例如E盘根目录)。

 

二、使用dex2jar + jd-gui 得到apk的java源码,步骤如下:

1、用.rar打开apk文档,将classes.dex文件解压出来,然后使用工具反编译成.jar文件。 

在cmd下进入dex2jar.bat所在路径,然后输入“dex2jar.bat XXX”,XXX指的是你要反编译的apk中的classes.dex文件所在路径及名称,比如:我的dex2jar.bat在D:\Android\apk_decode\dex2jar-0.0.7-SNAPSHOT路径下, classes.dex在D:\Android下,所以: 你进入dex2jar.bat路径下后,输入dex2jar.bat D:\Android\classes.dex,这样会生成一个jar文件。 

2.用jd-gui反编译工具将得到.jar文件反编译成.java文件 


三、使用apktool得到apk的xml文件 

1、Win+R 运行CMD,用cd命令转到apktool-install-windows所在文件夹,输入命令:
                apktool d XXX.apk ABC    反编译XXX.apk到文件夹ABC 

2、 在解压后的文件夹中可以得到apk的xml配置文件 


四、第二步得到的程序源代码和第三步得到的xml文件组合下,就成一个android工程,即可得到完整的apk源码。

                 

五、本文主要参考该文章:http://seya.iteye.com/blog/867699

      如果想把以上工具组合起来可以参考:http://www.iteye.com/topic/1028928

posted @ 2011-10-12 12:50  瓦尔登湖  阅读(3946)  评论(1编辑  收藏  举报