1.解压apk文件,获取classes.dex并拷贝到资源根目录(使用zip或其他解压工具即可)
2.使用baksmali工具将classes.dex转为smali文件,在命令行定位到资源根目录并执行:
java -jar baksmali-2.0.3.jar -x classes.dex
执行完后会在当前目录下生成out目录,目录结构跟源码相同,在对应目录下查找对应的smali文件
3.使用smali-2.0.3.jar工具把smali文件转为dex文件,把命令行定位到资源根目录并执行:
java -jar smali-2.0.3.jar -o classes.dex out
执行完后会生成并替换掉根目录下的classes.dex文件,这样就修改成功了
4.把新生成的classes.dex文件替换到原来的apk文件里(使用压缩工具)
5.使用签名工具对apk进行签名,把apk拷贝到资源根目录下的sign_tool目录,把命令行定位到该目录并执行:
java -jar signapk.jar platform.x509.pem platform.pk8 test.apk Signed.apk
执行完后会在该目录下生成Signed.apk文件,这个文件就是最终的文件了