一、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 文件也变化了。

最新文章

  1. Redux教程2:链接React
  2. 嵌入式Linux驱动学习之路(三)u-boot配置分析
  3. BZOJ 1008 题解
  4. 18. Word Ladder &amp;&amp; Word Ladder II
  5. 打开 Mac OS X 隐藏的用户资源库文件夹的方法
  6. pg 匹配中文字符
  7. HDU 3696 Farm Game(dp+拓扑排序)
  8. 【转】使用junit进行单元测试(中级篇)
  9. 【制作镜像Win*】环境准备(设置yum源)
  10. Java并发编程:Thread类的使用介绍
  11. android天气查询(二)之网络json数据的获取
  12. PHP操作数据库PDO
  13. io scheduler
  14. POJ 1584 A Round Peg in a Ground Hole[判断凸包 点在多边形内]
  15. Android开发之仿微信显示更多文字的View
  16. ipmitool 工具使用
  17. 历届试题 小数第n位 (求循环节)
  18. 监控服务器配置(四)-----OracleDb_exporter安装配置
  19. GHOST分区丢失只剩C盘
  20. 2018-2019-1 20189206 《Linux内核原理与分析》第六周作业

热门文章

  1. 【java异常】Unexpected error occurred in scheduled task. java.lang.StackOverflowError: null
  2. 一个小问题 关于 com.mysql.jdbc.PacketTooBigException: Packet for query is too large
  3. Linux修复小技巧
  4. ESA2GJK1DH1K基础篇: Android实现MQTT封装源码使用说明
  5. pytest--命令行常用参数
  6. Linux下进程间通信方式——信号量(Semaphore)
  7. 使用docker部署nginx+tomcat架构(2):访问mysql数据库
  8. 20165230田坤烨网络对抗免考报告_基于WIN10的渗透攻击
  9. windows下Apache2.4配置php的解析运行
  10. 【2019年05月20日】A股滚动市盈率PE历史新低排名