应用程序使用odex编译而不是燕麦

时间:2016-03-11 11:07:12

标签: android compilation dalvik android-runtime

正如谷歌提到的ART运行时(AOT)应用程序将以燕麦格式/完全用本机代码编译。

检查Nexus 6P设备&系统应用程序有oat文件夹但在odex文件中存在。我期待相应的oat文件类似于boot.oat 据我所知,odex只是在dalvik使用dexopt工具时使用的优​​化dex。

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

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

谢谢, 维奈

1 个答案:

答案 0 :(得分:4)

文件 oat文件,无论文件扩展名如何。一种简单的检查方法是查看文件的前几个字节。 odex文件应该有"dey\n035\0"64 65 0x79 0a 30 33 35 00),而oat文件是elf文件,因此它们应该具有7F 45 4C 46的精灵魔法值