<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

为了挖掘Dalvik虚拟机的秘密,需要仔细分析Dalvik的每一个目录,每一个文件,才能把它的细节了然于胸。下面就开始吧!

 

Android.mk

这个文件是虚拟机编译的makefile文件。

 

dalvikvm

这个目录是虚拟机命令行调用入口文件的目录,主要用来解释命令行参数,调用库函数接口等。

 

dexdump

这个目录是生成dex文件反编译查看工具,主要用来查看编译出来的代码文件是否对,查看编译出来的文件结构怎么样。

 

dexlist

这个目录是生成查看dex文件里所有类的方法的工具。

 

dexopt

这个目录是生成dex优化工具。

 

docs

这个目录是保存dalvik虚拟机相关帮助文档。

 

dvz

这个目录是生成从zygote请求生成虚拟机实例的工具。

 

dx

这个目录是生成从java字节码转换为dalvik机器码的工具。

 

hit

这个目录是生成显示堆栈信信/对象信息的工具。

 

libcore

这个目录是dalvik虚拟机的核心类库,提供给上层的应用程序调用。

 

libcore-disabled

这个目录是一些禁用的库。

 

libdex

这个目录是生成主机和设备处理DEX文件的库。

 

libnativehelper

这个目录是dalvik虚拟核心库的支持库函数。

 

 

MODULE_LICENSE_APACHE2

这个是APCHE2的版权声明文件。

 

NOTICE

这个文件是说明虚拟机源码的版权注意事项。

 

README.txt

这个文件是说明本目录相关内容和版权。

 

run-core-tests.sh

这个文件是用来运行核心库测试。

 

tests

这个目录是保存测试相关测试用例。

 

tools

这个目录是保存一些编译/运行相关的工具。

 

vm

这个目录是保存虚拟机绝大部份代码,包括读取指令读取,指令执行等等。

 

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } A:link { so-language: zxx } -->