我们知道Dalvik使用APK,DEX和ODEX文件。 我们知道这个缩写意味着通过AOSP源或开发者网站。
(像这样 - https://source.android.com/devices/tech/dalvik/dex-format.html)
ART(Android RunTime)使用OAT和ART,但它们并没有在任何地方解释其含义。
有谁知道这些缩短词的含义?
答案 0 :(得分:38)
O f A 头时间, A 头 O的愚蠢重新排序强> f T ime。我们接着说,因为我们说将.dex
文件转换为.oat
文件的过程称为 quakerizing ,这真的很有趣。
答案 1 :(得分:13)
OAT是通过使用提前编译(AOT)编译DEX文件而生成的文件格式。
在AOT进入Android之前,dexopt
用于优化DEX到ODEX(优化的DEX),其中包含优化的字节码。
使用AOT,dex2oat
用于优化和编译DEX到OAT文件中,该文件可能包含ELF格式的机器代码。
答案 2 :(得分:2)
有些搜索找到了this page,其中说:
OAT文件扩展名与为各种便携式设备上使用的Google Android操作系统开发的应用程序相关联。 * .oat文件存储为Android 4.4及更高版本中提供的新Android RunTime(ART)设计的本机C ++应用程序代码。
Android RunTime是旧版Android使用的Dalvik流程虚拟机的继承者。
答案 3 :(得分:2)
即使这些文件格式有一段时间可用,仍然没有关于意义的解释(至少我没有找到)。所以对我自己来说,我想出了下一个意思:
.art - 代表第12页的AndroidRunTime(here,它指出该格式是专有的,并且在#ART中只使用了一个文件"因此' ;为什么我这样想?)
.oat - 找到至少三个解释,其中最好的imho是" O 优化 A ndroid文件 T ype&#34 ; (这个想法来自here)。
我的.oat的其他可能变体是:"优化的应用程序文件类型"或者只是简单的AOT-> OAT(从早期编译过程中生成的.oat)。
答案 4 :(得分:1)
由于dexopt
生成ODEX - O 优化的 D alvik EX 可执行文件,其中包含优化的字节码{{1}产生OAT,我猜它应该代表 O 优化 A T ime的负责人。
答案 5 :(得分:-1)
阅读ART和Dalvik之间的一些比较,我发现 AOT 指的是提前,你可以阅读更多关于它的信息 Here