做android开发有一段时间了,总是会遇到这样的问题,有时候看到某个软件写的不错,就有种想分析它一下的欲望,而在网上又找不到原码,这个时候怎么办?那我们就可以对安装包进行反编译,我们都知道android中的.apk文件是一个压缩文件 ,可以用WinRAR解压,所以,先解压你要反编译的安装包。
解压之后,会得到包目录、classes.dex等文件;
classes.dex文件也是可以反编译的,但是得到的文件内容,描述了类的信息,但实在是不好读啊~~~~,而且意义也不大,毕竟得到的不是Java的原码,在这里就不多做介绍了。
还有就是xml文件的反编译,这才是我们的重点,其实也很简单,用AXMLPrinter2.jar工具就可以轻松搞定,用法如下:
1、java -jar AXMLPrinter2.jar D:\play\AndroidManifest.xml > AndroidManifest.txt
2、java -jar AXMLPrinter2.jar D:\play\res\layout\main.xml > main.txt
顺便说一下,AXMLPrinter2.jar工具在我的CSDN下载资源里有哦~~~
AXMLPrinter2.jar工具下载地址:http://download.csdn.net/detail/suichungang/3792718