Android开发学习笔记:反编译APK文件
2014-04-22 12:26
483 查看
反编译的目的在于学习一些优秀的Android应用程序代码。
在进行反编译之前,需要准备好下面的软件工具(这些文件都放在同一文件下):
这些工具的下载地址:http://down.51cto.com/data/266751
下面开始进行反编译APK文件:
1.先将上面的apktool-install-windows-2.1_r01-1.zip,dex2jar-0.0.7-SNAPSHOT.zip解压到一个盘的根目录的一个文件下面(这里我选择D:\APKTool)
2.Win+R打开运行界面,输入cmd,进入dos窗口,输入cd /d D:\APKTool进入到D:\APKTool下面,然后输入下面的命令,按Enter键,会出现下图所示
apktool.jar是解包工具,d表示解包,android.apk是要解包的APK文件,红色矩形框表示解包后输出到这个文件夹。这时候打开d:\AndroidCode,就能看到通过解包得到的文件
里面的AndroidManifest.xml文件和res下面的所有文件就能直接打开查看了。
3.解包之后,将之前的android.apk文件的后缀名改为rar,之后就将里面的classes.dex文件解压到D:\APKTool下面。然后在dos窗口输入dex2jar.bat classes.dex
得到一个名为classes.dex.dex2jar.jar的文件,此时用jd-gui.exe打开classes.dex.dex2jar.jar或者用DJ Java Decompiler反编译工具将.class文件反编译成.java文件就能看到所有源代码了!
PS:APK文件反编译之后,XML的源码不会出现乱码,不过有些APK文件得到Java源码会出一些乱码(比如在给变量赋值的时候)
在进行反编译之前,需要准备好下面的软件工具(这些文件都放在同一文件下):
这些工具的下载地址:http://down.51cto.com/data/266751
下面开始进行反编译APK文件:
1.先将上面的apktool-install-windows-2.1_r01-1.zip,dex2jar-0.0.7-SNAPSHOT.zip解压到一个盘的根目录的一个文件下面(这里我选择D:\APKTool)
2.Win+R打开运行界面,输入cmd,进入dos窗口,输入cd /d D:\APKTool进入到D:\APKTool下面,然后输入下面的命令,按Enter键,会出现下图所示
apktool.jar是解包工具,d表示解包,android.apk是要解包的APK文件,红色矩形框表示解包后输出到这个文件夹。这时候打开d:\AndroidCode,就能看到通过解包得到的文件
里面的AndroidManifest.xml文件和res下面的所有文件就能直接打开查看了。
3.解包之后,将之前的android.apk文件的后缀名改为rar,之后就将里面的classes.dex文件解压到D:\APKTool下面。然后在dos窗口输入dex2jar.bat classes.dex
得到一个名为classes.dex.dex2jar.jar的文件,此时用jd-gui.exe打开classes.dex.dex2jar.jar或者用DJ Java Decompiler反编译工具将.class文件反编译成.java文件就能看到所有源代码了!
PS:APK文件反编译之后,XML的源码不会出现乱码,不过有些APK文件得到Java源码会出一些乱码(比如在给变量赋值的时候)
相关文章推荐
- Android开发学习笔记:反编译APK文件
- 工作笔记 - Android make文件学习(主要是编译Android apk)
- Android开发学习笔记(二)——编译和运行原理(2)
- 【Android开发学习笔记】【第一课】初识New Project,工程文件介绍
- android开发学习笔记(一)-Manifest文件
- Android开发学习笔记——编译和运行原理(1)
- android学习第七讲:学习Android.mk编译jar包,如何编译APK,APK中如何导入jar包和库文件,如何在Android.mk中添加判断语句
- 文件下载 -- MarsChen Android 开发教程学习笔记
- cocos2d-x 学习笔记之生成Android Apk文件
- android 生成签名文件与APK打包(学习笔记)
- Cocos2d-x学习笔记(一)——Windows开发环境和Android交叉编译环境搭建
- 用gradle手动编译出android的简单的apk文件(gradle学习之路二)
- Android开发学习笔记(二)——编译和运行原理(1)
- Android(java)学习笔记217:开发一个多界面的应用程序之清单文件
- Android开发学习笔记(二)——编译和运行原理(1)
- 安卓学习笔记---Android 开发技巧-以友盟为例在Android Studio利用gradle进行多渠道打包和apk签名发布
- Android开发学习笔记——编译和运行原理(1)
- 【Android开发学习笔记】【第一课】初识New Project,工程文件介绍
- (转)Android开发学习笔记(二)——编译和运行原理(1)
- (转)Android开发学习笔记(二)——编译和运行原理(2)