内容简介
本系列丛书共分2卷,本书为第1卷,是一本以情景方式对Android的源代码进行深入分析的书,内容广泛,主要从Dalvik虚拟机整体结构、获取和编译Dalvik虚拟机的源码、源码分析辅助工具使用、.dex文件及Dalvik字节码格式解析、Dalvik虚拟机下的系统工具介绍及Dalvik虚拟机执行流程简述等方面进行阐述,帮助读者从宏观上了解Dalvik虚拟机的架构设计,为有兴趣阅读Dalvik虚拟机源码的读者提供必要的入门指导。 第1卷共6章: 第1章为准备工作,在这一章中主要介绍了Dalvik虚拟机的功用、分析Dalvik源码所用到的主要方法以及如何搭建Dalvik源码分析环境;第2章为源码分析辅助工具介绍,包括Vim、Doxygen、GDBSERVER等;第3章为Dex文件以及Dalvik字节码格式分析;第4章为系统工具介绍,在这一章中主要介绍了Dalvik虚拟机的一些重要系统工具,通过对系统工具的介绍,让读者对虚拟机内部的实现机制更加清晰;第5章为Dalvik虚拟机执行流程简述,通过这一章的介绍,旨在让读者对Dalvik虚拟机的整体功能架构有一个宏观的认识,为后续进一步掌握各个功能模块的原理功能做好相应的知识铺垫;第6章为调试支撑模块,在这一章中主要介绍了调试支撑模块的基本原理。 通过阅读本书,让读者了解Dalvik虚拟机在Android应用程序运行过程中所扮演的重要角色及其不可替代的价值;同时对Android应用程序的执行过程有更加细致的了解,可以帮助读者优化自己编写的应用程序,更加合理地设计应用程序结构,有效提高应用程序的运行速度。
目录
第1章 准备工作
1.1 本章概述
1.1.1 什么是Dalvik虚拟机
1.1.2 Dalvik虚拟机的功能
1.1.3 Dalvik虚拟机与Java虚拟机的区别
1.1.4 Dalvik虚拟机的特性
1.2 Ubuntu Linux系统安装
1.3 工作目录设置
1.4 下载、编译和运行Android内核源代码
1.4.1 下载Android内核源代码
1.4.2 整体编译Android源代码
1.4.3 运行Android模拟器
1.5 编译经过修改的Android源码
1.6 开发第一个Android应用程序
小结
第2章 源码分析辅助工具
2.1 本章概述
2.2 Vim源码阅读环境搭建
2.3 Doxygen工具
2.4 GDBSERVER工具
小结
第3章 Dex文件及Dalvik字节码格式解析
3.1 本章概述
3.2 Dex文件格式
3.2.1 Dex文件中的数据结构
3.2.2 Dex文件结构分析
3.3 Dalvik字节码介绍
3.3.1 Dalvik字节码总体设计
3.3.2 Dalvik字节码指令格式
3.4 Odex文件简介
3.4.1 什么是“优化文件”
3.4.2 Odex文件结构
3.4.3 Odex文件加速系统运行速度
3.4.4 手机“减负”问题再讨论
小结
第4章 系统工具
4.1 本章概述
4.2 dexdump工具
4.2.1 dexdump工具简介
4.2.2 dexdump工具使用方法
4.3 dexdeps工具
4.3.1 dexdeps工具简介
4.3.2 dexdeps工具使用方法
4.4 dexlist工具
4.4.1 dexlist工具简介
4.4.2 dexlist工具使用说明
4.5 dexopt工具
4.5.1 dexopt工具简介
4.5.2 dexopt工具使用方法
4.6 dvz工具
4.6.1 dvz工具简介
4.6.2 dvz工具使用方法
小结
第5章 开发分析工具
5.1 本章概述
5.2 trace文件分析工具
5.2.1 trace文件分析工具简介
5.2.2 trace文件分析工具使用方法
5.3 Heap Profile工具
5.3.1 Heap Profile工具简介
5.3.2 Heap Profile工具使用方法
5.4 DDMS工具
5.4.1 启动
5.4.2 DDMS原理和特性
5.4.3 DDMS具体功能
5.4.4 进程监控
5.4.5 使用文件浏览器
5.4.6 模拟器控制
5.4.7 应用程序日志
小结
第6章 Dalvik虚拟机执行流程详解
6.1 本章概述
6.2 Dalvik虚拟机的入口点介绍
6.2.1 Dalvik虚拟机在x86平台运行的入口点
6.2.2 Dalvik虚拟机运行在ARM平台的入口点
6.2.3 Dalvik虚拟机的初始化
6.3 Zygote进程
6.4 Dalvik虚拟机运行应用程序过程
6.4.1 apk文件生成
6.4.2 Dalvik虚拟机运行应用程序的主要流程
小结