<!-- @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 } -->