1.vdex
package 直接轉化的 可執行二進制碼 文件:
1.第一次開機就會生成在/system/app/<packagename>/oat/ 下;
2.在系統運行過程中,虛擬機將其 從 “/system/app” 下 copy 到 “/data/davilk-cache/” 下
2.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 )
3.art
odex 進行優化 生成的 可執行二進制碼 文件,主要是apk 啓動的熱點函數相關地址的記錄,方便尋址相關;
1.第一次開機不會生成在/system/app/<packagename>/oat/ 下,以後也不會;
2.odex 文件在運行時,虛擬機會計算函數調用頻率,進行函數地址的修改;
3.最後在/data/davilk-cache/ 由虛擬機生成;
4.生成art 文件後,/system/app 下的odex 和 vdex 會無效,即使你刪除,apk也會正常運行