欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


如何提升电脑运行安卓模拟器的速度
酷狗怎么设置定时播放音乐
软媒魔方6 Beta测试版问答大全
迅雷看看怎么截图
Gmail怎么样更换主题背景?
阿里旺旺如何清理内存缓存文件
迅雷字体模糊解决方法
wifi共享精灵无线网卡被禁用或被接管解决教程
WiFi共享精灵搜索不到热点怎么办
迅雷壁纸新版本功能介绍
配置安卓模拟器dex文件不被优化成odex
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

 最近做一个模块,需要将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 "dalvik.vm.dexopt-flags=v=n,o=v" >> /system/build.propecho "dalvik.vm.checkjni=false" >> /system/build.prop

这样,配制就改到模拟器里面了,验证之后发现dex果然没有被转化成odex。

可是在重启模拟器之后,发现build.prop里面的改动都没有了。

在网上搜了一下,参考了这个stackoverflow的提问:http://stackoverflow.com/questions/15417105/forcing-the-android-emulator-to-store-changes-to-system

具体步骤如下:

(1) 将system.img复制到一个地方,

(2) 用下面的命令启动模拟器:

emulator -avd [你的模拟器名字] -qemu -nand system,size=[模拟器需要的空间,16进制],file=[刚才复制的目录]/system.img
例如:
emulator -avd Galaxy_Nexus -qemu -nand system,size=0x1f400000,file=/home/fx/.android/avd/Galaxy_Nexus/system.img

(3) 按照之前的步骤修改build.prop

(4) 用这个命令关闭模拟器:

adb -e emu kill

这样,下次正常启动模拟器的时候(不必再用上面步骤2里面的命令),发现修改的内容已经被持久化到build.prop里面。

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站