封面
版权信息
前言
第1章 准备工作
1.1 深入认识Android
1.1.1 Android的系统构架
1.1.2 Android的初始化流程
1.1.3 各个层次之间的相互关系
1.1.4 Android系统开发(移植)和应用开发
1.2 获取和编译Android的源码
1.2.1 环境配置
1.2.2 获取Android源码
1.2.3 编译Android的源码及其工具包
1.2.4 运行Android系统
1.3 开发环境搭建
1.3.1 应用开发环境搭建
1.3.2 源码开发环境搭建
1.4 Android源码结构
1.5 小结
第2章 Android的内核机制和结构剖析
2.1 Linux与Android的关系
2.1.1 为什么会选择Linux
2.1.2 Android不是Linux
2.2 Android对Linux内核的改动
2.2.1 Goldfish
2.2.2 YAFFS2
2.2.3 蓝牙
2.2.4 调度器(Scheduler)
2.2.5 Android新增的驱动
2.2.6 电源管理
2.2.7 杂项
2.3 Android对Linux内核的增强
2.3.1 Alarm(硬件时钟)
2.3.2 Ashmem(匿名内存共享)
2.3.3 Low Memory Killer(低内存管理)
2.3.4 Logger(日志设备)
2.3.5 Android PMEM
2.3.6 switch
2.3.7 Timed GPIO
2.3.8 Android Ram Console
2.4 小结
第3章 Android的IPC机制——Binder
3.1 Binder概述
3.1.1 为什么选择Binder
3.1.2 初识Binder
3.2 Binder驱动的原理和实现
3.2.1 Binder驱动的原理
3.2.2 Binder驱动的实现
3.3 Binder的构架与实现
3.3.1 Binder的系统构架
3.3.2 Binder的机制和原理
3.4 小结
第4章 电源管理
4.1 电源管理概述
4.2 电源管理结构
4.3 Android的电源管理机制
4.4 Android电源管理机制的实现
4.5 小结
第5章 驱动的工作原理及实现机制
5.1 显示驱动(Framebuffer)
5.1.1 Framebuffer的工作原理
5.1.2 Framebuffer的构架
5.1.3 Framebuffer驱动的实现机制
5.2 视频驱动(V4L和V4L2)
5.2.1 V4L2介绍
5.2.2 V4L2的原理和构架
5.2.3 V4L2的实现
5.3 音频驱动(OSS和ALSA)
5.3.1 OSS与ALSA介绍
5.3.2 OSS的构架与实现
5.3.3 ALSA的构架与实现
5.4 MTD驱动
5.4.1 MTD驱动的功能
5.4.2 MTD驱动的构架
5.4.3 MTD驱动的原理及实现
5.5 Event输入设备驱动
5.5.1 Input的系统构架
5.5.2 Event输入驱动的构架
5.5.3 Event输入驱动的原理
5.5.4 Event输入驱动的实现
5.6 蓝牙驱动(Bluetooth)
5.6.1 Bluetooth驱动的构架
5.6.2 BlueZ的原理及实现
5.7 WLAN驱动(Wi-Fi)
5.7.1 WLAN构架
5.7.2 Wi-Fi驱动的实现原理
5.8 小结
第6章 原生库的原理及实现
6.1 系统C库(Bionic Libc)
6.1.1 Bionic Libc功能概述
6.1.2 Bionic Libc实现原理
6.2 功能库
6.2.1 WebKit构架与实现
6.2.2 多媒体框架与实现
6.2.3 Android SQLite框架及原理
6.3 扩展库
6.3.1 Skia底层库分析
6.3.2 OpenGL底层库分析
6.3.3 Android-OpenSSL实现及运用
6.3.4 FreeType及Font Engine Manager
6.3.5 FreeType结构体系和渲染流程
6.4 原生服务
6.4.1 AudioFlinger实现
6.4.2 SurfaceFlinger实现
6.5 小结
第7章 硬件抽象层的原理与实现
7.1 硬件抽象层的实现原理
7.1.1 Android HAL构架
7.1.2 Android HAL的实现
7.2 Android Overlay构架与实现
7.2.1 Android Overlay系统构架
7.2.2 Overlay HAL框架与实现
7.2.3 Overlay与SurfaceFinger
7.3 Android Camera 构架与实现
7.3.1 Android Camera系统构架
7.3.2 Camera HAL框架与实现
7.3.3 Camera本地实现
7.4 Android Audio HAL实现
7.4.1 Audio HAL框架
7.4.2 Android默认的Audio HAL实现
7.4.3 DUMP功能的Audio HAL实现
7.4.4 基于A2dp的蓝牙音频设备HAL实现
7.4.5 模拟器上的Audio HAL实现
7.5 Android RIL实现
7.5.1 Android RIL构架
7.5.2 radiooptiongs实现
7.5.3 libril库实现
7.5.4 reference-ril库实现
7.5.5 RILD守护进程实现
7.5.6 request流程分析
7.5.7 response流程分析
7.6 Android Sensor HAL实现
7.6.1 Android Sensor构建
7.6.2 Sensor HAL接口
7.6.3 Sensor HAL实现
7.7 Android WIFI HAL实现
7.7.1 Android WIFI系统构架
7.7.2 wpa_supplicant框架
7.7.3 WIFI HAL实现
7.8 Android蓝牙本地实现
7.8.1 Android蓝牙构架
7.8.2 BlueZ结构体系
7.8.3 BlueZ适配层
7.9 Android 定位实现
7.9.1 定位系统构架
7.9.2 GPS HAL实现
7.10 Android Power HAL实现
7.11 Android Vibrator HAL实现
7.12 小结
第8章 Dalvik虚拟机的构架、原理与实现
8.1 Dalvik虚拟机概述
8.1.1 什么是Dalvik虚拟机
8.1.2 Dalvik虚拟机的功能
8.1.3 Dalvik虚拟机与Java虚拟机的区别
8.2 Dalvik构架与实现
8.2.1 Dalvik系统构架
8.2.2 dx和dexdump工具
8.2.3 .dex文件格式解析
8.2.4 Dalvik内部机制
8.2.5 Dalvik进程管理
8.2.6 Dalvik内存管理
8.2.7 Dalvik加载器
8.2.8 Dalvik解释器
8.2.9 Dalvik JIT
8.3 JNI的构架与实现
8.3.1 JNI构架
8.3.2 JNI实现
8.4 小结
第9章 Android 核心库
9.1 Android核心库简介
9.2 Android系统API
9.2.1 android包
9.2.2 android资源包
9.2.3 ApiCheck机制
9.3 小结
后记
更新时间:2018-12-31 18:41:00