所需工具:
(2)baksmali.jar
(3)smali.jar
步骤:
(1)用解压工具解压apk文件
(2)打开终端,进入解压目录
(3)用 AXMLPrinter2.jar查看apk中的布局xml文件:
执行命令:java -jar AXMLPrinter2.jar xxx.xml > xxx.txt
打开 xxx.txt 文件可以查看 xxx.xml 的布局代码。
(在minSdkVersion<=7时,可以正常反编译出xml文件,大于7后就不能反编译文件了,AndroidManifest.xml 除外)
(4)用baksmali.jar反编译classes.dex:
执行命令:java -jar baksmali.jar -o classout/ classes.dex
生成一个 classout文件夹,可以查看代码目录结构
(5)用smali.jar编译classout成classes.dex:
执行命令:java -jar smali.jar classout/ -o classes.dex
可以把反编译的 .smali 文件编译成为classes.dex文件,覆盖原来的一样能用。