第1章 準備工作
1.1 本章概述
1.1.1 什么是Dalvik虛擬機
1.1.2 Dalvik虛擬機的功能
1.1.3 Dalvik虛擬機與Java虛擬機的區(qū)別
1.1.4 Dalvik虛擬機的特性
1.2 Ubuntu Linux系統(tǒng)安裝
1.3 工作目錄設置
1.4 下載、編譯和運行Android內(nèi)核源代碼
1.4.1 下載Android內(nèi)核源代碼
1.4.2 整體編譯Android源代碼
1.4.3 運行Android模擬器
1.5 編譯經(jīng)過修改的Android源碼
1.6 開發(fā)**個Android應用程序
小結(jié)
第2章 源碼分析輔助工具
2.1 本章概述
2.2 Vim源碼閱讀環(huán)境搭建
2.3 Doxygen工具
2.4 GDBSERVER工具
小結(jié)
第3章 Dex文件及Dalvik字節(jié)碼格式解析
3.1 本章概述
3.2 Dex文件格式
3.2.1 Dex文件中的數(shù)據(jù)結(jié)構(gòu)
3.2.2 Dex文件結(jié)構(gòu)分析
3.3 Dalvik字節(jié)碼介紹
3.3.1 Dalvik字節(jié)碼總體設計
3.3.2 Dalvik字節(jié)碼指令格式
3.4 Odex文件簡介
3.4.1 什么是“優(yōu)化文件”
3.4.2 Odex文件結(jié)構(gòu)
3.4.3 Odex文件加速系統(tǒng)運行速度
3.4.4 手機“減負”問題再討論
小結(jié)
第4章 系統(tǒng)工具
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工具使用方法
小結(jié)
第5章 開發(fā)分析工具
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 進程監(jiān)控
5.4.5 使用文件瀏覽器
5.4.6 模擬器控制
5.4.7 應用程序日志
小結(jié)
第6章 Dalvik虛擬機執(zhí)行流程詳解
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虛擬機運行應用程序的主要流程
小結(jié)