安卓dex的编译和反编译
反编译用法: baksmali
用于反编译 dex文件的。执行反编译后会在当前目录下产生一个 out 文件夹,这个文件夹中的资源(全部是扩展名为 .smali 的文件)即是反编译结果。
java -jar baksmali-2.0.5.jar -o c:\classout/ c:\classes.dex
把c:\classes.dex反编译为smali,输出到c:\classout目录
(尾部的dex文件是使用压缩工具[如WinRAR]从apk文件中释放出来的)
编译用法: smali
java -jar smali-2.0.5.jar c:\classout/ -o c:\classes.dex
把c:\classout目录下的smali文件编译为c:\classes.dex
(尾部的out即为前面反编译dex文件时所产生的目录名;执行后产生一个out.dex文件,将其重命名为classes.dex并替换掉apk文件中的同名文件即完成重新打包Android的dex文件)