Android反编译获取资源文件-android学习之旅(69)

时间:2022-11-05 18:19:32

有时候你看到一些很好看的布局,会考虑别人怎么实现的,回想参考一下,那么这时候反编译一下是很必要的.

要用到的工具apktool.bat和aapt.exe和apktool.jar(要最新版本)

下载前两个网址是http://apktool.shoujifans.com/

apktool.jar要求是最新版,所以到官网去下载http://ibotpeaches.github.io/Apktool/

要是嫌麻烦,就去我的网址下载,打包好了. 下载链接http://download.csdn.net/detail/u010321471/8989979

操作步骤:

把这三个文件放到一个目录底下,然后把apk文件放进去

在cmd模式下切换到相应的目录.使用命令apktool d [-s] -f -o 例如: apktool d [-s] -f free.apk -o test

说明获取成功,之后发现在文件夹下多了个test文件,点击便可以查看该应用的所有资源文件了。如果你想将反编译完的文件重新打包成apk,那你可以:输入apktool.bat b test(你编译出来文件夹)便可,效果如下:之后在之前的test文件下便可以发现多了2个文件夹:build 和dist(里面存放着打包出来的APK文件)

常见错误:

apktool反编译时经常会出现下面的信息

1.Input file was not found or was not readable.

2.Destination directory (C:\Users\user\a) already exists. Use -f switch if you want to overwrite it.

3.Exception in thread “main” brut.androlib.AndrolibException: Could not decode ars c fil……….

解决方案:

1和2是因为apktool升级到2.0以上时,使用方式已经替换,格式为:apktool d [-s] -f -o ,参数具体的意思可以直接打apktool回车(windows)查看帮助

3是因为apktool版本过低导致,请升级到最新版本