Android — 解决Android反编译XML文件乱码问题

反编译遇到的问题,仅作记录:

  1. 准备反编译工具;

  2. 将apk后缀改为.zip并解压,发现res文件夹下打开的布局文件乱码;

  3. 反编译工具包里有一个AXMLPrinter2.jar可用于将XML变为可读文件,但是会引起数组越界的异常;这里提供另一个jar包AXMLPrinter2.S.jar,可实现解析;

  4. 下载完jar包后,打开命令行,cd到该jar包路径下,运行Java -jar AXMLPrinter2.S.jar 文件所在路径\指定文件名.xml 命令即可反编译出xml文件;

  5. 但是如果XML文件很大,一屏看不完,则在命令窗口可能无法看全,这时候可以执行命令|more的指令,即Java -jar AXMLPrinter2.S.jar 文件所在路径\指定文件名.xml | more,发现屏幕最后会有--more--的字样,按回车键可逐行显示出来,但是无法返回看原先的数据;

  6. 如果想简单的到处全部数据,可执行下面的命令Java -jar AXMLPrinter2.S.jar 文件所在路径\指定文件名.xml > 指定路径\文件名.txt(或XML),则该XML数据将全部写入该文件中;


参考:

Android 反编译XML代码乱码问题解决

你可能感兴趣的:(工具教程)