apk文件反编译

来源:互联网 发布:休闲鞋女淘宝 编辑:程序博客网 时间:2024/06/06 01:31

在学习Android开发的过程中,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。当然,也有可能是出于某种不纯的目的,需要在别人的代码中找到一些答案。怎么做呢?废话不多说。

  • 首先安装jdk+jre
    安装包搜一下就有。
    Jre 是java runtime environment, 是java程序的运行环境。既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦,还有所有java类库的class文件,都在lib目录下打包成了jar。大家可以自己验证。至于在windows上的虚拟机是哪个文件呢?学过MFC的都知道什么是dll文件吧,那么大家看看jre/bin/client里面是不是有一个jvm.dll呢?那就是虚拟机。
    Jdk 是java development kit,是java的开发工具包,里面包含了各种类库和工具。当然也包括了另外一个Jre. 那么为什么要包括另外一个Jre呢?而且jdk/jre/bin同时有client和server两个文件夹下都包含一个jvm.dll。说明是有两个虚拟机的。、安装完以后,添加环境变量,我想着就不用我说了吧,不懂的同学可以百度。
    这里写图片描述
  • 下载apktool
    作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看。
    地址:apktool点击下载
    apk反编译得到程序的源代码、图片、XML配置、语言资源等文件。下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK文件放到该目录下,
    打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:apktool.bat d -f test.apk test 。这里定位提供一个快捷方法,可以鼠标点击打开文件夹后,摁住“shift”鼠标空白处右击,“在此处打开命令窗口” 。
    (命令中test.apk指的是要反编译的APK文件全名,test为反编译后资源文件存放的目录名称,即为:apktool.bat d -f [apk文件 ] [输出文件夹])
    说明获取成功,之后发现在文件夹下多了个test文件,点击便可以查看该应用的所有资源文件了。
    如果你想将反编译完的文件重新打包成apk,也有相应的方法,自行百度。

  • 下载dex2jar和jd-gui
    dex2jar作用:将apk反编译成Java源码(classes.dex转化成jar文件)。
    jd-gui作用:作用:查看APK中classes.dex转化成出的jar文件,即源码文件
    地址:
    dex2jar点击下载
    jd-gui点击下载
    下载上述工具中的dex2jar和jd-gui ,解压。将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件,将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15 文件夹内。
    在命令行下定位到dex2jar-0.0.9.15,输入dex2jar.bat classes.dex。在该目录下会生成一个classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便可以看到源码了。

(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)

0 0