dex2oat程序参数总结--转发

Android从4.4开始正式引入了ART虚拟机,并从5.0开始取代了Dalvik成为默认的虚拟机。ART与Dalvik最大的不同就是,在程序安装的时候就将其编译成本地指令集(即所谓的Ahead Of Time,AOT),而不像Dalvik是在运行的时候对经常掉用的函数动态编译的(即所谓的Just In Time,JIT)。但是最终编译的动作,还是通过程序dex2oat来执行的。这个程序本身可带非常多的参数,本文就对一些常用参数的含义做一个简要的解释。

1)--dex-file=

指定要编译的文件路径,这个文件既可以是一个dex文件,也可以是一个内部包含dex文件的apk或jar文件。

对于一次要编译多个文件的情况,每个文件都要用单独的一个--dex-file来指定。

2)--dex-location=

指定要写入最终编译出目标oat文件内部的编译文件的路径。

对于一次要编译多个文件的情况,每一个路径都需要用--dex-location来指定,且出现的次序要和--dex-file指定的次序相同。

3)--zip-fd=

指定要编译文件的文件描述符。--zip-fd和--dex-file必须指定一个,但两者也相互冲突,不能同时出现,否则都会报错退出。

4)--zip-location=

说明前面通过--zip-fd参数传入的那个文件描述符号对应的文件的路径。这个参数和--zip-location必须配对使用,也就是说,如果没有--zip-fd但是传入了--zip-location,或者有--zip-fd但是没有传入--zip-location,两种情况dex2oat都会报错退出。

5)--oat-file=

指定编译输出的oat文件的路径。

6)--oat-fd=



你可能感兴趣的:(dex2oat程序参数总结--转发)