odex vdex art区别
一、vdex
package 直接转化的 可执行二进制码 文件:
1.第一次开机就会生成在/system/app/<packagename>/oat/下;
2.在系统运行过程中,虚拟机将其 从 “/system/app” 下copy到 “/data/davilk-cache/” 下
二、odex
odex 是从vdex 这个文件中 提取了部分模块生成的一个新的 可执行二进制码 文件 , odex 从vdex 中提取后,vdex 的大小就减少了。
1.第一次开机就会生成在/system/app/<packagename>/oat/ 下
2.在系统运行过程中,虚拟机将其 从 “/system/app” 下copy到 “/data/davilk-cache/”下
3.odex + vdex = apk的全部源码(vdex 并不是独立于odex的文件 odex + vdex才代表一个apk )
三、art
odex进行优化生成的可执行二进制码文件,主要是apk启动的热点函数相关地址的记录,方便寻址相关
1.第一次开机不会生成在/system/app/<packagename>/oat/ 下,以后也不会;
2.odex 文件在运行时,虚拟机会计算函数调用频率,进行函数地址的修改;
3.最后在/data/davilk-cache/ 由虚拟机生成
4.生成art 文件后,/system/app 下的odex 和 vdex 会无效,即使你删除,apk也会正常运行
5.push 一个新的apk file 覆盖之前/system/app 下apk file ,会触发PKMS 扫描时下发force_dex flag ,强行生成新的vdex 文件 ,覆盖之前的vdex 文件,由于某种机制,这个新vdex 文件会copy到/data/dalvik-cache/下,于是art 文件也变化了。
最新文章
- Redux教程2:链接React
- 嵌入式Linux驱动学习之路(三)u-boot配置分析
- BZOJ 1008 题解
- 18. Word Ladder &;&; Word Ladder II
- 打开 Mac OS X 隐藏的用户资源库文件夹的方法
- pg 匹配中文字符
- HDU 3696 Farm Game(dp+拓扑排序)
- 【转】使用junit进行单元测试(中级篇)
- 【制作镜像Win*】环境准备(设置yum源)
- Java并发编程:Thread类的使用介绍
- android天气查询(二)之网络json数据的获取
- PHP操作数据库PDO
- io scheduler
- POJ 1584 A Round Peg in a Ground Hole[判断凸包 点在多边形内]
- Android开发之仿微信显示更多文字的View
- ipmitool 工具使用
- 历届试题 小数第n位 (求循环节)
- 监控服务器配置(四)-----OracleDb_exporter安装配置
- GHOST分区丢失只剩C盘
- 2018-2019-1 20189206 《Linux内核原理与分析》第六周作业
热门文章
- 【java异常】Unexpected error occurred in scheduled task. java.lang.StackOverflowError: null
- 一个小问题 关于 com.mysql.jdbc.PacketTooBigException: Packet for query is too large
- Linux修复小技巧
- ESA2GJK1DH1K基础篇: Android实现MQTT封装源码使用说明
- pytest--命令行常用参数
- Linux下进程间通信方式——信号量(Semaphore)
- 使用docker部署nginx+tomcat架构(2):访问mysql数据库
- 20165230田坤烨网络对抗免考报告_基于WIN10的渗透攻击
- windows下Apache2.4配置php的解析运行
- 【2019年05月20日】A股滚动市盈率PE历史新低排名