Android系统服务开发

出版日期:2015-2
ISBN:9787115375542
作者:[韩] 金大佑,[韩] 朴宰永,[韩] 文炳元
页数:424页

内容概要

金大佑
西江大学电子工程学士及硕士学位。大学时期沉迷于Linux,并创建了Linux社团。曾参与LG电子Android项目,目前在瑞萨移动参与Android LTE手机项目。虽然热衷于Android开发,但目前仍在使用非智能手机。主要关注领域是Android平台、SW设计以及ARM架构。希望有一天可以将创建开源项目作为个人爱好。
朴宰永
高丽大学无线电工程学士及硕士学位,进入LG电子后,至今一直从事手机开发业务。十余年开发过程中,从与硬件相关的BSP业务到UI业务,乃至批量生产相关业务均有涉猎,积累了丰富经验。比较关注的领域是无线通信、移动平台、ARM架构、USIM、电源管理。今后想通过授课对社会做出贡献。
文炳元
曾在LG电子参与手机开发,目前在游戏公司负责数据分析。认为程序员的能力不仅在于了解丰富的知识,更在于能够找到解决问题的方法。现在仍然不断努力,希望每天都有新突破。
陈家林
Marvell高级研发经理,有7年多智能手机平台研发经验,专注于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

作者简介

•基于Jellybean(4.1.2)版本的Android系统服务
•线程间通信(Inter-Thread Communication)必备知识(Message、Message Queue、Looper、Handler等)
•针对进程间通信(Inter-Process Communication)的UNIX套接字使用方法
•守护进程程序结构
•面向移动通信网络的通信栈:RIL、通信框架、USIM
•Android的Power Management Service


 Android系统服务开发下载



发布书评

 
 


精彩短评 (总计1条)

  •     第一次看韩国人写的技术方面的书 还不错
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024