资源说明:《android技术内幕:系统卷》
前言
第1章 准备工作 /1
1.1 深入认识android /2
1.1.1 android的系统构架 /2
1.1.2 android的初始化流程 /5
1.1.3 各个层次之间的相互关系 /8
1.1.4 android系统开发(移植)和应用开发 /11
1.2 获取和编译android的源码 /13
1.2.1 环境配置 /13
1.2.2 获取android源码 /14
1.2.3 编译android的源码及其工具包 /16
1.2.4 运行android系统 /21
1.3 开发环境搭建 /23
1.3.1 应用开发环境搭建 /23
1.3.2 源码开发环境搭建 /26
1.4 android源码结构 /32
1.5 小结 /33
第2章 android的内核机制和结构剖析 /34
2.1 linux与android的关系 /35
.2.1.1 为什么会选择linux /35
2.1.2 android不是linux /35
2.2 android对linux内核的改动 /37
2.2.1 goldfish /37
2.2.2 yaffs2 /38
2.2.3 蓝牙 /39
2.2.4 调度器(scheduler)/39
2.2.5 android新增的驱动 /40
2.2.6 电源管理 /41
2.2.7 杂项 /41
2.3 android对linux内核的增强 /42
2.3.1 alarm(硬件时钟)/43
2.3.2 ashmem(匿名内存共享)/46
2.3.3 low memory killer(低内存管理)/52
2.3.4 logger(日志设备)/56
2.3.5 android pmem /65
2.3.6 switch /79
2.3.7 timed gpio /88
2.3.8 android ram console /94
2.4 小结 /99
第3章 android的ipc机制--binder /100
3.1 binder概述 /101
3.1.1 为什么选择binder /101
3.1.2 初识binder /102
3.2 binder驱动的原理和实现 /102
3.2.1 binder驱动的原理 /102
3.2.2 binder驱动的实现 /103
3.3 binder的构架与实现 /132
3.3.1 binder的系统构架 /132
3.3.2 binder的机制和原理 /133
3.4 小结 /150
第4章 电源管理 /151
4.1 电源管理概述 /152
4.2 电源管理结构 /152
4.3 android的电源管理机制 /153
4.4 android电源管理机制的实现 /154
4.5 小结 /187
第5章 驱动的工作原理及实现机制 /188
5.1 显示驱动(framebuffer)/189
5.1.1 framebuffer的工作原理 /189
5.1.2 framebuffer的构架 /190
5.1.3 framebuffer驱动的实现机制 /190
5.2 视频驱动(v4l和v4l2)/201
5.2.1 v4l2介绍 /201
5.2.2 v4l2的原理和构架 /201
5.2.3 v4l2的实现 /202
5.3 音频驱动(oss和alsa)/208
5.3.1 oss与alsa介绍 /208
5.3.2 oss的构架与实现 /209
5.3.3 alsa的构架与实现 /213
5.4 mtd驱动 /214
5.4.1 mtd驱动的功能 /214
5.4.2 mtd驱动的构架 /215
5.4.3 mtd驱动的原理及实现 /215
5.5 event输入设备驱动 /223
5.5.1 input的系统构架 /223
5.5.2 event输入驱动的构架 /224
5.5.3 event输入驱动的原理 /224
5.5.4 event输入驱动的实现 /225
5.6 蓝牙驱动(bluetooth)/235
5.6.1 bluetooth驱动的构架 /235
5.6.2 bluez的原理及实现 /237
5.7 wlan驱动(wi-fi)/244
5.7.1 wlan构架 /244
5.7.2 wi-fi驱动的实现原理 /245
5.8 小结 /245
第6章 原生库的原理及实现 /246
6.1 系统c库(bionic libc)/247
6.1.1 bionic libc功能概述 /247
6.1.2 bionic libc实现原理 /248
6.2 功能库 /258
6.2.1 webkit构架与实现 /258
6.2.2 多媒体框架与实现 /275
6.2.3 android sqlite框架及原理 /285
6.3 扩展库 /289
6.3.1 skia底层库分析 /289
6.3.2 opengl底层库分析 /299
6.3.3 android-openssl实现及运用 /306
6.3.4 freetype及font engine manager /317
6.3.5 freetype结构体系和渲染流程 /317
6.4 原生服务 /328
6.4.1 audioflinger实现 /328
6.4.2 surfaceflinger实现 /341
6.5 小结 /353
第7章 硬件抽象层的原理与实现 /354
7.1 硬件抽象层的实现原理 /355
7.1.1 android hal构架 /355
7.1.2 android hal的实现 /357
7.2 android overlay构架与实现 /361
7.2.1 android overlay系统构架 /361
7.2.2 overlay hal框架与实现 /362
7.2.3 overlay与surfacefinger /369
7.3 android camera 构架与实现 /375
7.3.1 android camera系统构架 /375
7.3.2 camera hal框架与实现 /377
7.3.3 camera本地实现 /385
7.4 android audio hal实现 /394
7.4.1 audio hal框架 /395
7.4.2 android默认的audio hal实现 /398
7.4.3 dump功能的audio hal实现 /400
7.4.4 基于a2dp的蓝牙音频设备hal实现 /402
7.4.5 模拟器上的audio hal实现 /403
7.5 android ril实现 /404
7.5.1 android ril构架 /404
7.5.2 radiooptiongs实现 /407
7.5.3 libril库实现 /409
7.5.4 reference-ril库实现 /415
7.5.5 rild守护进程实现 /418
7.5.6 request流程分析 /423
7.5.7 response流程分析 /427
7.6 android sensor hal实现 /434
7.6.1 android sensor构建 /434
7.6.2 sensor hal接口 /435
7.6.3 sensor hal实现 /438
7.7 android wifi hal实现 /441
7.7.1 android wifi系统构架 /441
7.7.2 wpa_supplicant框架 /442
7.7.3 wifi hal实现 /444
7.8 android蓝牙本地实现 /447
7.8.1 android蓝牙构架 /447
7.8.2 bluez结构体系 /448
7.8.3 bluez适配层 /452
7.9 android 定位实现 /453
7.9.1 定位系统构架 /453
7.9.2 gps hal实现 /454
7.10 android power hal实现 /459
7.11 android vibrator hal实现 /461
7.12 小结 /462
第8章 dalvik虚拟机的构架、原理与实现 /463
8.1 dalvik虚拟机概述 /464
8.1.1 什么是dalvik虚拟机 /464
8.1.2 dalvik虚拟机的功能 /464
8.1.3 dalvik虚拟机与java虚拟机的区别 /465
8.2 dalvik构架与实现 /466
8.2.1 dalvik系统构架 /466
8.2.2 dx和dexdump工具 /468
8.2.3 .dex文件格式解析 /470
8.2.4 dalvik内部机制 /487
8.2.5 dalvik进程管理 /492
8.2.6 dalvik内存管理 /501
8.2.7 dalvik加载器 /509
8.2.8 dalvik解释器 /517
8.2.9 dalvik jit /519
8.3 jni的构架与实现 /523
8.3.1 jni构架 /523
8.3.2 jni实现 /524
8.4 小结 /526
第9章 android 核心库 /527
9.1 android核心库简介 /528
9.2 android系统api /529
9.2.1 android包 /529
9.2.2 android资源包 /529
9.2.3 apicheck机制 /529
9.3 小结 /532
后记 /533
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。