Dalvik虚拟机学习1——Dalvik虚拟机源码结构分析

来源:互联网 发布:哈登数据库 编辑:程序博客网 时间:2024/06/05 04:30

一、Dalvik虚拟机源码结构分析

1,dexdump

这个目录保存了dexdump工具的源码,dexdump是objdump工具的模仿版,可以使用与之形似的参数。dexdump工具可以用来查看dex文件的信息。可以通过这个工具将dex文件dump到txt文件中进行信息查看。下面是一些使用参考。

dexdump: [-c] [-d] [-f] [-h] [-i] [-l layout] [-m] [-t tempfile] dexfile…

-c : verify checksum and exit

-d : disassemble code sections

-f : display summary information from file header

-h : display file header details

-i : ignore checksum failures

-l : output layout, either ‘plain’ or ‘xml’

-m : dump register maps (and nothing else)

-t : temp file name (defaults to /sdcard/dex-temp-*)

参考文章:通过dexdump来学习DEX文件格式

2,dexgen

它是dex代码生成器的主工程目录,里面存储了很多跟dex相关的信息,如dex结构,LEB128等。它提供了在运行时创建dex classes的API。这个解决方案是基于dx工具的,并且广泛的使用了它的类。

3,dexlist

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

4,dexopt

对dex进行优化生成odex文件

5,docs

dalvik虚拟机的一些说明文档。包括怎样调试、执行模式等。

6,dx

是dx工具源码目录,可以把class文件转为dex文件。

7,hit

生成显示堆栈信信/对象信息的工具源码

8,libdex

用于生成主机和设备处理DEX文件的库

9,opcode-gen

包含了字节码定义等

10,tests

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

11,tools

在这个目录中保存了一些编译运行工具

12,unit-tests

在这个目录中有一个dvmHumanReadableDescriptor_test文件。主要是测试一些类型的签名写法是否对应。

13,vm

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

14,MODULE_LICENSE_APACHE2

APCHE2的版权声明文件

15,NOTICE

说明虚拟机源码的版权注意事项。

16,README.txt

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

原创粉丝点击