第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虛擬機運行應用程序的主要流程
小結