《Android底层开发实战》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:周庆国,郑灵翔,康筱彬等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2015
  • ISBN:9787111516118
  • 页数:246 页
图书介绍:本书分为四个部分: 第一部分为预备知识篇,简要介绍嵌入式系统的定义与软硬件开发以及Android开发环境的搭建。第二部分为系统结构篇,主要介绍Android系统的源码结构、内核与相关工具以及环境库。第三部分为驱动设计篇,主要介绍Android系统中常用外接设备的驱动架构以及实现。内容包括NDK编程、Android中HAL模型架构与实现流程。作为教学实例,最后分析了Android系统中的Camera与WIFI两个功能部件的的驱动设计。第四部分为实例分析篇,通过对具体开发板硬件结构编程原理的介绍到系统级的实例讲解。在简要介绍系统底层开发流程的基础上,首先分析了主流的Zynq和pcDuino平台上开发环境的搭建、Linux内核以及Android系统的编译、下载;然后结合前文学习过的知识点,从零开始设计LED显示系统的Linux内核驱动、Android HAL支持和服务层设计、顶层App的实现;作为进阶部分,本书最后介绍了对Android内核进行跟踪调试与性能测试的工具软件、工作流程以及结果分析。

第1章 Android嵌入式系统导论 1

1.1 Android嵌入式系统概述 1

1.1.1 嵌入式系统定义 1

1.1.2 基于Android的嵌入式系统构成 5

1.1.3 移动电话系统 9

1.1.4 基于ARM的移动电话硬件结构 10

1.2 嵌入式系统实例 17

1.2.1 pcDuino部分硬件功能介绍 17

1.2.2 基于Android的嵌入式系统 30

第2章 Linux系统详解 34

2.1 系统简介 34

2.2 基础命令 35

2.2.1 cd和ls命令 35

2.2.2 touch和mkdir命令 37

2.2.3 rm和rmdir命令 38

2.2.4 cp和mv命令 38

2.2.5 find和awk命令 39

2.2.6 vim编辑器的使用 43

2.3 Bash Shell 44

2.3.1 Bash Shell简介 44

2.3.2 Bash Shell脚本简介 44

2.4 Linux源码与Android源码介绍 45

2.4.1 Linux源码简介 45

2.4.2 Android源码简介 45

第3章 Android系统开发环境搭建 47

3.1 编译前奏——Android上的开发工作 47

3.1.1 Android的移植开发 47

3.1.2 系统开发 48

3.1.3 应用开发 49

3.2 Android的系统架构 49

3.2.1 软件结构 49

3.2.2 源代码的结构 51

3.3 搭建开发环境 54

3.3.1 搭建编译环境 54

3.3.2 使用repo 64

3.3.3 Android的编译 66

第4章 Android系统底层源码结构分析 69

4.1 源码结构分析 69

4.1.1 底层库结构介绍 71

4.1.2 C基础函数库bionic 73

4.1.3 C语言底层库libcutils 74

4.1.4 C++工具库libutils 74

4.1.5 底层文件系统库system 75

4.1.6 增加本地库的方法 76

4.2 Android编译系统介绍 78

4.2.1 build系统 78

4.2.2 SDK 79

4.3 init初始化脚本语言介绍 82

4.3.1 概述 82

4.3.2 init进程源码分析 82

4.3.3 脚本文件的创建与分析 85

4.3.4 创建设备节点文件 89

4.3.5 子进程的创建与终止 92

4.3.6 属性服务 93

4.4 Zygote 95

4.4.1 Zygote概述 95

4.4.2 AppRuntime分析 95

4.4.3 system server分析 100

第5章 Android系统内核分析 109

5.1 Linux内核基础 109

5.1.1 概述 109

5.1.2 Linux内核的主要子系统 110

5.1.3 Linux启动过程分析 111

5.2 Android内核概况 112

5.3 Android启动过程分析 113

5.4 Binder框架分析 115

5.4.1 概述 116

5.4.2 Binder的系统架构 117

5.4.3 Binder的机制和原理 125

5.5 Ashmem内存管理方式 128

5.5.1 概述 128

5.5.2 Ashmem初始化 128

5.5.3 内存的创建和释放 131

5.5.4 内存的映射 135

5.5.5 内存的锁定和解锁 137

5.6 低内存管理 139

5.7 Logger 145

5.7.1 Logger概述 145

5.7.2 Logger实现原理 146

第6章 Android系统相关工具及运行环境 156

6.1 Android开发工具分类及介绍 156

6.1.1 应用程序开发工具 156

6.1.2 框架开发工具 157

6.1.3 交叉编译工具 159

6.1.4 内核开发工具 159

6.2 Dalvik虚拟机 160

6.2.1 概述 160

6.2.2 dex文件 163

6.2.3 Dalvik内存管理 165

6.2.4 Dalvik编译器 169

6.3 JNI 171

6.3.1 概述 171

6.3.2 JNI的架构 171

6.3.3 JNI的实现方式 172

6.4 Boot Loader 173

6.4.1 概述 173

6.4.2 Boot Loader的操作模式 174

6.4.3 启动过程 175

6.5 busybox的使用 176

第7章 Android驱动程序设计 177

7.1 Android驱动概述 177

7.2 Android NDK编程 178

7.3 Android系统中的HAL层 183

7.3.1 HAL_legacy和HAL对比 184

7.3.2 HAL module架构分析 184

7.3.3 HAL实现流程 186

7.4 Android系统Camera与WiFi实现 187

7.4.1 Android中的Camera实现 187

7.4.2 Android系统WiFi实现 190

第8章 Android底层开发实例讲解 193

8.1 底层开发相关技术概览 193

8.2 实例讲解——基于Zynq的Android移植 193

8.2.1 主机开发环境的搭建 194

8.2.2 Linux内核的编译 194

8.2.3 Android文件系统的编译 203

8.2.4 SD卡的准备以及Android系统的启动 205

8.3 移植讲解——基于pcDuino的Android移植 205

8.3.1 pcDuino介绍 206

8.3.2 环境搭建 208

8.3.3 编译内核 209

8.3.4 编译Android 210

8.3.5 烧录镜像 211

8.4 Android LED驱动设计 212

8.4.1 硬件原理 212

8.4.2 Linux驱动设计 212

8.4.3 Android HAL层驱动 220

8.4.4 硬件服务层 224

8.4.5 App应用编写 229

8.5 进阶讲解——针对Android系统的内核跟踪与测试 231

8.5.1 使用平台简介 231

8.5.2 测试环境的建立 232

8.5.3 测试工具 235

8.5.4 Android内核调试与性能测试 239