更新时间:2018-12-31 18:41:00
封面
版权信息
前言
第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