OAT是什么意思?

时间:2015-02-10 15:47:41

标签: android android-5.0-lollipop android-runtime

我们知道Dalvik使用APK,DEX和ODEX文件。 我们知道这个缩写意味着通过AOSP源或开发者网站。

(像这样 - https://source.android.com/devices/tech/dalvik/dex-format.html

  • DEX表示Dalvik EXcutable文件。
  • ODEX表示优化的Dalvik EXcutable文件。
  • APK表示Android PacKage。

ART(Android RunTime)使用OAT和ART,但它们并没有在任何地方解释其含义。

有谁知道这些缩短词的含义?

6 个答案:

答案 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格式的机器代码

参考:https://stackoverflow.com/a/26263071/2872712

答案 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