怎样反编译apk

概述

对于学习Android应用开发的程序员来说,除了基础的Android开发原理需要学习,对于当前开源社区的成熟Android应用的源代码学习也非常重要:

1 我们可以从sourceforge.net下载开源的Android应用来学习

2 还有一种就是反编译一个成熟应用来学习,当然这个建议只作为学习,不要抄袭


反编译APK:

1 apktool反编译xml等资源文件:

假设你的环境已经安装好了Android开发的SDK,同时也设置好了环境变量

 1 下载 apktool-1.3.1.tar.bz2, apktool-install-windows-2.2_r01-2.tar.bz2,到这里:http://code.google.com/p/android-apktool/downloads/list 下载前两个文件,并解压到Android SDK的platform tools 目录 

 2  运行apktool获取资源文件:
     如:apktool d XXX.apk test    反编译XXX.apk到文件夹test


2 dex2jar 这个工具是将dex文件反编译成jar文件

  1. 到这里:http://code.google.com/p/dex2jar/downloads/list下载这个工具(dex-translator-version.zip 和 Dalvik_Handouts.zip),并将所有文件和文件夹加压到并Android SDK的platform tools 目录。
  2. 把apk文件后缀名改为.zip,然后解压缩其中的class.dex文件,它是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件;
  3. 把class.dex拷贝到dex2jar.bat所在目录,运行dex2jar.bat class.dex,生成classes.dex.dex2jar.jar ;
  4. 用jd-gui打开上面生成的classes.dex.dex2jar.jar文件,即可看到源代码;下载地址:http://java.decompiler.free.fr/?q=jdgui
  5. 用jd-gui把源代码保存为一个src的zip包

你可能感兴趣的:(Android)