android系统服务开发是一本不错的android系统开发书籍,通过本书可以了解系统进程间通信、通信(RIL)框架、电源管理等内容的相关细节,对致力于这方面开发的程序员来说大有裨益。本书由[韩]金大佑,朴宰永,文炳元编著,邸春红翻译,人民邮电出版社出版。全书详细的分析了Android提供的硬件控制机制和测试平台源代码和日志作为范例,并且还介绍了目前尚未普及的Android平台的硬件控制基本原理及实际框架的操作,能使观看者最大程度的了解Androidd的系统服务开发,从而达到学习,提升自己的目的,能够适用于初学者以及Android开发高手。
内容简介
《Android系统服务开发》分析了安卓提供的硬件控制机制。编写团队目前均从事相关工作,直接对平台源代码及日志进行分析及测试,介绍了目前尚未普及的安卓平台的硬件控制基本原理及实际框架的操作。
与安卓刚出现时相比,安卓开发人员现在已有了大幅增长,人们也可轻松搜索到相关资料。但安卓开发仍然很有难度,每当版本升级时,结构变动都会使之前的代码无法重新使用。虽然需要深入掌握安卓平台,但开发人员的主要工作就是修复Bug,所以对实际情况往往“只见树木不见森林”。本书着眼点在于“开发人员如何改善开发流程”,这个问题的关键就是深入挖掘安卓的基本实现原理。
基本功扎实的开发人员可以主导顺应智能手机时代发展的“Smart”开发。通过本书可以掌握安卓平台的操作原理,并将其直接应用于开发业务。
android系统服务开发章节目录
第1 章 Android 系统服务开发 1 1.1 Android 系统服务开发简介 2 1.1.1 Android 的出现 2 1.1.2 移动设备的硬件结构 5 1.1.3 Android 硬件服务开发概要 11 1.1.4 本书的叙述方向 14 1.2 IPC 16 1.2.1 Android 的进程 16 1.2.2 进程的fork() 及exec() 函数 17 1.2.3 Linux 内核的IPC 19 1.2.4 Linux 管道 20 1.2.5 网络套接字 21 1.2.6 UNIX 套接字 27 1.3 I/O 多路复用 30 1.3.1 服务器端/ 客户端模型 30 1.3.2 使用select() 函数的I/O 多路复用 33 1.3.3 select() 函数示例 34 1.4 ITC 36 1.4.1 多线程 36 1.4.2 Android 的ITC 模型 39 1.4.3 消息 42 1.4.4 Looper 45 1.4.5 Handler 49 1.4.6 HandlerThread 54 1.5 守护进程服务分析 56 1.5.1 普通守护进程程序的结构 56 1.5.2 生成init 进程的守护进程服务 58 1.5.3 守护进程与多客户端间的通信 65 第2 章 RIL 70 2.1 RIL 简介 71 2.1.1 RIL 简介 71 2.1.2 AP 与调制解调器间的相互作用 72 2.1.3 AP 与调制解调器间的通信:RIL 命令 73 2.2 RIL 结构 75 2.2.1 Android 通信栈 76 2.2.2 Android RIL 的调制解调器控制模型 77 2.3 RIL 守护进程的结构 78 2.3.1 RIL 守护进程的构成要素 79 2.3.2 RIL 事件 80 2.3.3 RIL 事件调度程序 81 2.4 RIL 守护进程初始化 87 2.4.1 守护进程的启动 87 2.4.2 RIL 守护进程初始化过程 90 2.4.3 动态加载Vendor RIL 库 91 2.4.4 生成RIL 事件调度程序 92 2.4.5 Vendor RIL 初始化 97 2.4.6 注册Vendor RIL 的Radio控制函数及生成I/O 事件专用套接字 100 2.5 RIL 事件处理机制 103 2.5.1 RIL 事件调度程序的运行原理 103 2.5.2 RIL 事件处理回调函数 110 2.5.3 RIL req 处理机制 119 2.5.4 RIL resp 处理机制 124 2.5.5 RIL ind 处理机制 129 第3 章 通信框架 136 3.1 通信框架概要 137 3.1.1 通信框架的功能 137 3.1.2 通信框架提供的服务 139 3.2 通信框架的结构 140 3.2.1 通信框架的分层构成要素 140 3.2.2 PhoneApp 类 142 3.2.3 PhoneProxy 类 142 3.2.4 Phone 接口 144 3.2.5 Radio 接口 146 3.2.6 state tracker 类 148 3.2.7 CallManager 类 149 3.2.8 不同版本中通信框架的变化(1.5~4.2) 151 3.3 通信框架的初始化 152 3.3.1 Phone 应用程序的生成 153 3.3.2 通信框架的初始化 155 3.3.3 RILJava 的初始化 160 3.4 通信框架的服务模型 164 3.4.1 通信框架的服务结构 164 3.4.2 通信框架的服务req/resp 处理机制 165 3.4.3 通信框架的服务ind 处理机制 172 3.5 RILJava 的RIL req 处理示例 186 3.5.1 Phone 应用程序的通信框架API 调用 187 3.5.2 调用RILJava 的Radio API 189 3.5.3 生成RILJava 的RILRequest对象 191 3.5.4 向RILSender 线程传送RILRequest 对象 193 3.5.5 发送RILSender 线程的RIL req 194 3.6 RILJava 的RIL resp 处理示例 197 3.6.1 从RIL 守护进程接收RIL resp 198 3.6.2 发送RILReceiver 线程的服务resp 消息 200 3.6.3 处理客户端对象handler 的服务resp 消息 202 3.7 RILJava 的RIL ind 处理示例 203 3.7.1 注册Subscriber 对象的服务ind 204 3.7.2 接收RILReceive 线程的RIL ind 205 3.7.3 调用RILReceive 线程的 notifyRegistrant() 方法 206 3.7.4 处理Subscriber 对象handler的服务ind 消息 209 第4 章 USIM 211 4.1 USIM 简介 212 4.1.1 智能卡的定义 213 4.1.2 智能卡的启动过程 213 4.1.3 使用APDU 的智能卡通信 215 4.1.4 USIM 的由来 215 4.1.5 USIM 的主要功能 216 4.2 USIM 的数据结构及运行 219 4.2.1 USIM 的数据结构 219 4.2.2 USIM 的移动通信相关EF 221 4.2.3 通过APDU 读取EF 的过程 223 4.3 Android USIM 软件结构 225 4.3.1 调制解调器 225 4.3.2 RIL 226 4.3.3 通信框架 226 4.3.4 Android 应用程序 229 4.4 Android USIM 初始化及运行 230 4.4.1 UICC 初始化及UICC 相关对象的生成 230 4.4.2 系统启动后调制解调器通电 235 4.4.3 进入SIM_READY 状态 240 4.4.4 查看USIM 状态及执行EF读取 244 4.4.5 分析通信框架的EF 读取 246 4.5 Android USAT 初始化及运行 254 4.5.1 USAT 初始化 254 4.5.2 通过Display Text 分析Proactive Command 258 4.5.3 Android 的Proactive Command处理 263 第5 章 Android 电源管理 270 5.1 电源管理概述 272 5.1.1 电功率 273 5.1.2 了解电池 273 5.1.3 默认电源状态 274 5.1.4 Android 电源管理的作用 275 5.2 Android 电源管理的结构 276 5.2.1 Android 电源管理的层级结构 277 5.2.2 Power Manager 278 5.2.3 Power Manager Service 279 5.2.4 本地空间 280 5.2.5 内核空间 282 5.2.6 Android 电源管理主要方法调用过程 283 5.3 Power Manager Service 的初始化 284 5.3.1 Power Manager Service 的类结构及方法 285 5.3.2 生成并注册Power ManagerService 286 5.3.3 Power Manager Service 初始化:init() 方法 290 5.3.4 Power Manager Service 初始化:systemReady() 方法 302 5.4 Power Manager Service 的主要操作 304 5.4.1 Power Manager Service 状态 304 5.4.2 决定Power Manager Service状态 307 5.4.3 屏幕亮度时间的结构 315 5.4.4 根据屏幕亮度时间控制屏幕亮度 318 5.4.5 屏幕亮度转换的结构要素 320 5.4.6 屏幕亮度转换操作 321 5.4.7 Wake Lock 标记与标签 328 5.4.8 生成Wake Lock 330 5.4.9 获取Wake Lock 334 5.4.10 解除Wake Lock 344 5.5 间接应用电源管理服务 344 5.5.1 Power Manager 类提供的方法 345 5.5.2 Power Manager 类的实例化及获取 345 5.5.3 获取Wake Lock:PARTIAL_WAKE_LOCK 347 5.5.4 Wake Lock 获取示例:PARTIAL_WAKE_LOCK 348 5.5.5 获取Wake Lock:屏幕亮度控制标记 350 5.5.6 Wake Lock 获取示例:FULL_WAKE_LOCK 352 5.5.7 获取Wake Lock:ACQUIRE_CAUSES_WAKEUP 353 5.5.8 解除Wake Lock:PARTIAL_WAKE_LOCK 357 5.5.9 解除Wake Lock:屏幕亮度控制标记 358 5.5.10 解除Wake Lock:ON_AFTER_RELEASE 360 5.6 直接应用Power Manager Service 361 5.6.1 屏幕亮度设置 362 5.6.2 Poke Lock 363 5.7 不应用Power Manager Service的Wake Lock 364 第6 章 Android 内核电源管理 367 6.1 Linux 内核电源管理 369 6.1.1 APM 与ACPI 369 6.1.2 设备电源管理 372 6.2 Android 内核电源管理 372 6.2.1 Android 内核修订内容 372 6.2.2 kobject 与sysfs 文件系统 373 6.2.3 生成用于电源管理的sysfs文件 376 6.3 电源管理初始化 378 6.4 Early Suspend 381 6.4.1 Early Suspend 结构体与注册 382 6.4.2 Early Suspend 操作 384 6.5 Wake Lock 387 6.5.1 Wake Lock 结构 387 6.5.2 生成Wake Lock 389 6.5.3 激活Wake Lock 390 6.5.4 禁用Wake Lock 393 6.6 Suspend 394 6.6.1 执行Suspend 394 6.6.2 准备Suspend 395 6.6.3 进入Suspend 396 6.7 Resume 399 6.7.1 Early Resume 400 6.7.2 设备Resume 401 6.7.3 Resume 完成 402 6.8 Late Resume 402 6.9 Surface Flinger 与内核之间的相互操作 405 6.9.1 屏幕On(开)状态到Off (关)状态的转换 406 6.9.2 屏幕Off(关)状态到On(开)状态的转换 409 索引 412
使用说明
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
发表评论
0条评论软件排行榜
热门推荐
- 有柿电脑版 v11.5.784.12M / 简体中文
- 南方Plus电脑版 v11.8.027.22M / 简体中文
- 网易新闻电脑版 v112.697.63M / 简体中文
- 数据挖掘导论 官方版61.61M / 简体中文
- 开源阅读电脑版 v3.2517.96M / 简体中文
- 京东读书电脑版 v1.13.4官方版1.98M / 简体中文
- 未公开的Oracle数据库秘密 迪贝斯pdf扫描版34.69M / 简体中文
- PHP语言精粹电子书 pdf扫描版25.72M / 简体中文
- C++黑客编程揭秘与防范第2版 冀云pdf扫描版54.58M / 简体中文
- HotSpot实战(陈涛著) 中文pdf扫描版82M / 简体中文