您的位置:首页 > 其它

apk文件反编译

2016-05-20 14:02 169 查看
在学习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文件,便可以看到源码了。

(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: