如Google所述,ART运行时(AOT)应用程序将以燕麦格式/完全以本机代码进行编译。

经检查的Nexus 6P设备和系统应用程序具有oat文件夹,但内部odex文件存在。我期待与boot.oat类似的燕麦文件
据我所知,odex只是使用dexopt工具在达尔维克时代就使用的优化dex。

安装过程中ART应该使用dex2oat,然后为什么要存储odex文件。

有人可以提供有关此行为的解释吗?

谢谢,
维奈

最佳答案

这些文件是燕麦文件,与文件扩展名无关。一种简单的检查方法是查看文件的前几个字节。 odex文件应具有"dey\n035\0"(64 65 0x79 0a 30 33 35 00),而燕麦文件是elf文件,因此它们应具有7F 45 4C 46的elf magic值

08-05 15:41