apk反编译和再编译
apktool,可以从http://code.google.com/p/android-apktool/下载(Windows下需要apktool1.x.x.tar.bz2和apktool-install-windows-r04-brut1.tar.bz2两个文件),下载后解压,为了以后方便使用,可以把得到的3个文件都复制到某个文件夹(比如D:\workspace\apktool)下,使用步骤如下:
打开命令行窗口,切换到你复制到的目录,或者直接把目录路径添加到环境变量中;
1)apktool d X.apk Y
反编译X.apk到文件夹Y
例如在命令行窗口输入"apktool d E:\game.apk E:\game_out"(不包含引号),就会启动apktool反编译E盘根目录下的game.apk文件,反编译得到的文件放在到E:\game_out\文件夹。
2)apktool b Y
从文件夹Y重建为APK,输出到Y\dist\out.apk
例如"apktool b E:\game_out",将E:\game_out文件夹下的文件编译成新的apk文件,新文件会放在E:\game_out\dist\目录下,文件名为out.apk。
其他参数,请输入apktool -help查看,经过反编译后,
classes.dex文件被反编译为smali文件夹下的文件;
resources.arsc被分解成若干xml文件,放在res文件夹下;
apk中原有的xml文件也变转换为可以直接用文本编辑器查看的形式。
其他的文件会被解压到相应的文件夹。
本文绝大部分内容转载自“超越梦想” 博客(http://lbrant.blog.51cto.com/2400264/499893)
更多相关文章
- framework
- Android(安卓)Studio与Eclipse SDK无法更新解决方案
- Android学习--《数据的保存》
- Android--打包工具,100个渠道包只需要10秒钟
- Android(安卓)面试之常用开源库
- Android仿微信图片选择器(二)
- Cordova 3.x 源码分析(7) -- CordovaLib概要
- [Android]用图库打开指定的文件夹,没错是第一个画面直接是图库的
- android工程gen目录中R.java包名是怎么确定