最近做一个模块,需要将apk里面加载的dex文件dump出来,所以需要配置让dalvik不要把dex文件优化成odex。
1. 配置build.prop
主要是通过修改文件/system/build.prop里面的配置。
(1) dalvik.vm.dexopt-flags
本参数控制Dalvik虚拟机的程序代码校验和优化。可填写的值有m、v和o。
m为标准选项,可以是m=y或m=n。若m=y则启用不安全代码的校验和托管代码的优化。兼容性和安全性最高。
v为校验选项,可与o并存。可以是v=a或v=n。若v=a则表示校验所有代码,v=n则关闭代码的校验。
o为优化选项,可与v并存。可以是o=v或o=a。若o=v则表示优化以校验过的代码,o=a则表示优化所有代码。
这里我们配置成:dalvik.vm.dexopt-flags=v=n,o=v,表示关闭代码校验,并只优化校验过的代码,也就是所有代码都不会被优化。
(2) dalvik.vm.checkjni
这里我们配置成:dalvik.vm.checkjni=false,这个会把checkjni设置成false
2. 把配置持久化到模拟器
(1) 首先重新挂载系统分区,使系统分区可写。如果不执行这个,会发现没法修改build.prop文件。
adb remount
(2) 接下来,进入模拟器的命令行:
adb shell
(3) 将配置写到build.prop:
echo "da