就Android 5.0 (棒棒糖)的,Dalvik的已完全与Android运行时(ART),其处理天然二进制文件代替。
Verifying App Behavior on the Android Runtime
Android的运行时(ART)是用于运行Android 5.0(API级21)和更高设备的默认运行时。
在安装时,ART使用设备上的dex2oat工具编译应用程序。此实用工具接受DEX文件作为输入并产生一个已编译的应用程序可执行用于目标设备
更具体地,Dalvik的提倡使用ODEX文件,这些文件是在地塞米松的预处理优化版本Dalvik文件解释或JIT编译。
ART促进使用ELF文件,这是一种通用格式,可指导将某些功能和对象链接到设备的本机指令,并在安装时执行。
Wikipedia - Android Runtime
不同于Dalvik的,ART推出由使用名列前茅的时间(AOT)编译的在他们安装编译整个应用程序到本地机器代码。
ART使用相同的输入字节码的Dalvik,通过标准.DEX文件中提供的作为文件APK部分,而.odex文件与可执行和链接格式(ELF)可执行替换。一旦应用程序是通过使用设备上的dex2oat效用ART的编译,它从已编译的ELF可执行单独运行
Executable and Linkable Format - Applications
Android使用ELF的.so(共享对象)库的Java本地接口。借助Android运行时(ART),由于Android 5.0“棒棒糖”在默认情况下,所有的应用程序被编译成ELF格式的二进制文件上安装
ART不包含的Dalvik的一个实例,虽然大多compatable,它提到了一些ART不支持Dalvik支持的功能。
Verifying App Behavior on the Android Runtime
然而,一些技术,对Dalvik的工作,不上的艺术作品。本文档让您了解在迁移现有应用程序以与ART兼容时需要注意的事项。使用ART运行时,大多数应用程序应该可以工作
Dalvik不再使用,ART使用AOT编译,所以我认为这个二进制文件是原生的。 –
意思是,你想知道在采用ART之后Android所使用的VM,因为ART只是一个运行环境? –
@AnkurSamarya我想知道如果使用ART,VM仍然是必需的。 –