Android系统服务开发

Android系统服务开发
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [韩] , , ,
2015-02
版次: 1
ISBN: 9787115375544
定价: 139.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 411页
字数: 715千字
  •   《Android系统服务开发》分析了安卓提供的硬件控制机制。编写团队目前均从事相关工作,直接对平台源代码及日志进行分析及测试,介绍了目前尚未普及的安卓平台的硬件控制基本原理及实际框架的操作。  与安卓刚出现时相比,安卓开发人员现在已有了大幅增长,人们也可轻松搜索到相关资料。但安卓开发仍然很有难度,每当版本升级时,结构变动都会使之前的代码无法重新使用。虽然需要深入掌握安卓平台,但开发人员的主要工作就是修复Bug,所以对实际情况往往“只见树木不见森林”。本书着眼点在于“开发人员如何改善开发流程”,这个问题的关键就是深入挖掘安卓的基本实现原理。  基本功扎实的开发人员可以主导顺应智能手机时代发展的“Smart”开发。通过本书可以掌握安卓平台的操作原理,并将其直接应用于开发业务。   金大佑,西江大学电子工程学士及硕士学位。大学时期沉迷于Linux,并创建了一个Linux社团。曾参与LG电子安卓项目,目前在瑞萨移动参与安卓LTE手机项目。虽然热衷于安卓开发,但目前仍在使用非智能手机。主要关注领域是安卓平台、SW设计以及ARM架构。希望有一天可以将创建开源项目作为个人爱好。
      朴宰永,高丽大学无线电工程学士及硕士学位,进入LG电子后从事手机开发业务至今。尤其在10余年的开发过程中,从与硬件相关的BSP业务到UI业务,乃至批量生产相关业务均有所涉猎,积累了丰富经验。比较关注的领域是无线通信、移动平台、ARM架构、USIM、电源管理,今后想通过授课对社会做出贡献。
      文炳元,曾在LG电子参与手机开发业务,目前在一家游戏公司负责数据分析。认为程序员的能力不仅在于了解丰富的知识,更在于能够找到解决问题的方法。现在仍然为了每天都有进步而不断付出努力。 第1 章 Android 系统服务开发  11.1 Android 系统服务开发简介  21.1.1 Android 的出现  21.1.2 移动设备的硬件结构  51.1.3 Android 硬件服务开发概要  111.1.4 本书的叙述方向  141.2 IPC  161.2.1 Android 的进程  161.2.2 进程的fork() 及exec() 函数  171.2.3 Linux 内核的IPC  191.2.4 Linux 管道  201.2.5 网络套接字  211.2.6 UNIX 套接字  271.3 I/O 多路复用  301.3.1 服务器端/ 客户端模型  301.3.2 使用select() 函数的I/O 多路复用  331.3.3 select() 函数示例  341.4 ITC  361.4.1 多线程  361.4.2 Android 的ITC 模型  391.4.3 消息  421.4.4 Looper  451.4.5 Handler  491.4.6 HandlerThread  541.5 守护进程服务分析  561.5.1 普通守护进程程序的结构  561.5.2 生成init 进程的守护进程服务  581.5.3 守护进程与多客户端间的通信  65第2 章 RIL  702.1 RIL 简介  712.1.1 RIL 简介  712.1.2 AP 与调制解调器间的相互作用  722.1.3 AP 与调制解调器间的通信:RIL 命令  732.2 RIL 结构  752.2.1 Android 通信栈  762.2.2 Android RIL 的调制解调器控制模型  772.3 RIL 守护进程的结构  782.3.1 RIL 守护进程的构成要素  792.3.2 RIL 事件  802.3.3 RIL 事件调度程序  812.4 RIL 守护进程初始化  872.4.1 守护进程的启动  872.4.2 RIL 守护进程初始化过程  902.4.3 动态加载Vendor RIL 库  912.4.4 生成RIL 事件调度程序  922.4.5 Vendor RIL 初始化  972.4.6 注册Vendor RIL 的Radio控制函数及生成I/O 事件专用套接字  1002.5 RIL 事件处理机制  1032.5.1 RIL 事件调度程序的运行原理  1032.5.2 RIL 事件处理回调函数  1102.5.3 RIL req 处理机制  1192.5.4 RIL resp 处理机制  1242.5.5 RIL ind 处理机制  129第3 章 通信框架  1363.1 通信框架概要  1373.1.1 通信框架的功能  1373.1.2 通信框架提供的服务  1393.2 通信框架的结构  1403.2.1 通信框架的分层构成要素  1403.2.2 PhoneApp 类  1423.2.3 PhoneProxy 类  1423.2.4 Phone 接口  1443.2.5 Radio 接口  1463.2.6 state tracker 类  1483.2.7 CallManager 类  1493.2.8 不同版本中通信框架的变化(1.5~4.2)  1513.3 通信框架的初始化  1523.3.1 Phone 应用程序的生成  1533.3.2 通信框架的初始化  1553.3.3 RILJava 的初始化  1603.4 通信框架的服务模型  1643.4.1 通信框架的服务结构  1643.4.2 通信框架的服务req/resp 处理机制  1653.4.3 通信框架的服务ind 处理机制  1723.5 RILJava 的RIL req 处理示例  1863.5.1 Phone 应用程序的通信框架API 调用  1873.5.2 调用RILJava 的Radio API  1893.5.3 生成RILJava 的RILRequest对象  1913.5.4 向RILSender 线程传送RILRequest 对象  1933.5.5 发送RILSender 线程的RIL req  1943.6 RILJava 的RIL resp 处理示例  1973.6.1 从RIL 守护进程接收RIL resp  1983.6.2 发送RILReceiver 线程的服务resp 消息  2003.6.3 处理客户端对象handler 的服务resp 消息  2023.7 RILJava 的RIL ind 处理示例  2033.7.1 注册Subscriber 对象的服务ind  2043.7.2 接收RILReceive 线程的RIL ind  2053.7.3 调用RILReceive 线程的notifyRegistrant() 方法  2063.7.4 处理Subscriber 对象handler的服务ind 消息  209第4 章 USIM  2114.1 USIM 简介  2124.1.1 智能卡的定义  2134.1.2 智能卡的启动过程  2134.1.3 使用APDU 的智能卡通信  2154.1.4 USIM 的由来  2154.1.5 USIM 的主要功能  2164.2 USIM 的数据结构及运行  2194.2.1 USIM 的数据结构  2194.2.2 USIM 的移动通信相关EF  2214.2.3 通过APDU 读取EF 的过程  2234.3 Android USIM 软件结构  2254.3.1 调制解调器  2254.3.2 RIL  2264.3.3 通信框架  2264.3.4 Android 应用程序  2294.4 Android USIM 初始化及运行  2304.4.1 UICC 初始化及UICC 相关对象的生成  2304.4.2 系统启动后调制解调器通电  2354.4.3 进入SIM_READY 状态  2404.4.4 查看USIM 状态及执行EF读取  2444.4.5 分析通信框架的EF 读取  2464.5 Android USAT 初始化及运行  2544.5.1 USAT 初始化  2544.5.2 通过Display Text 分析Proactive Command  2584.5.3 Android 的Proactive Command处理  263第5 章 Android 电源管理  2705.1 电源管理概述  2725.1.1 电功率  2735.1.2 了解电池  2735.1.3 默认电源状态  2745.1.4 Android 电源管理的作用  2755.2 Android 电源管理的结构  2765.2.1 Android 电源管理的层级结构  2775.2.2 Power Manager  2785.2.3 Power Manager Service  2795.2.4 本地空间  2805.2.5 内核空间  2825.2.6 Android 电源管理主要方法调用过程  2835.3 Power Manager Service 的初始化  2845.3.1 Power Manager Service 的类结构及方法  2855.3.2 生成并注册Power ManagerService  2865.3.3 Power Manager Service 初始化:init() 方法  2905.3.4 Power Manager Service 初始化:systemReady() 方法  3025.4 Power Manager Service 的主要操作  3045.4.1 Power Manager Service 状态  3045.4.2 决定Power Manager Service状态  3075.4.3 屏幕亮度时间的结构  3155.4.4 根据屏幕亮度时间控制屏幕亮度  3185.4.5 屏幕亮度转换的结构要素  3205.4.6 屏幕亮度转换操作  3215.4.7 Wake Lock 标记与标签  3285.4.8 生成Wake Lock  3305.4.9 获取Wake Lock  3345.4.10 解除Wake Lock  3445.5 间接应用电源管理服务  3445.5.1 Power Manager 类提供的方法  3455.5.2 Power Manager 类的实例化及获取  3455.5.3 获取Wake Lock:PARTIAL_WAKE_LOCK  3475.5.4 Wake Lock 获取示例:PARTIAL_WAKE_LOCK  3485.5.5 获取Wake Lock:屏幕亮度控制标记  3505.5.6 Wake Lock 获取示例:FULL_WAKE_LOCK  3525.5.7 获取Wake Lock:ACQUIRE_CAUSES_WAKEUP  3535.5.8 解除Wake Lock:PARTIAL_WAKE_LOCK  3575.5.9 解除Wake Lock:屏幕亮度控制标记  3585.5.10 解除Wake Lock:ON_AFTER_RELEASE  3605.6 直接应用Power Manager Service  3615.6.1 屏幕亮度设置  3625.6.2 Poke Lock  3635.7 不应用Power Manager Service的Wake Lock  364第6 章 Android 内核电源管理  3676.1 Linux 内核电源管理  3696.1.1 APM 与ACPI  3696.1.2 设备电源管理  3726.2 Android 内核电源管理  3726.2.1 Android 内核修订内容  3726.2.2 kobject 与sysfs 文件系统  3736.2.3 生成用于电源管理的sysfs文件  3766.3 电源管理初始化  3786.4 Early Suspend  3816.4.1 Early Suspend 结构体与注册  3826.4.2 Early Suspend 操作  3846.5 Wake Lock  3876.5.1 Wake Lock 结构  3876.5.2 生成Wake Lock  3896.5.3 激活Wake Lock  3906.5.4 禁用Wake Lock  3936.6 Suspend  3946.6.1 执行Suspend  3946.6.2 准备Suspend  3956.6.3 进入Suspend  3966.7 Resume  3996.7.1 Early Resume  4006.7.2 设备Resume  4016.7.3 Resume 完成  4026.8 Late Resume  4026.9 Surface Flinger 与内核之间的相互操作  4056.9.1 屏幕On(开)状态到Off(关)状态的转换  4066.9.2 屏幕Off(关)状态到On(开)状态的转换  409索引  412
  • 内容简介:
      《Android系统服务开发》分析了安卓提供的硬件控制机制。编写团队目前均从事相关工作,直接对平台源代码及日志进行分析及测试,介绍了目前尚未普及的安卓平台的硬件控制基本原理及实际框架的操作。  与安卓刚出现时相比,安卓开发人员现在已有了大幅增长,人们也可轻松搜索到相关资料。但安卓开发仍然很有难度,每当版本升级时,结构变动都会使之前的代码无法重新使用。虽然需要深入掌握安卓平台,但开发人员的主要工作就是修复Bug,所以对实际情况往往“只见树木不见森林”。本书着眼点在于“开发人员如何改善开发流程”,这个问题的关键就是深入挖掘安卓的基本实现原理。  基本功扎实的开发人员可以主导顺应智能手机时代发展的“Smart”开发。通过本书可以掌握安卓平台的操作原理,并将其直接应用于开发业务。
  • 作者简介:
      金大佑,西江大学电子工程学士及硕士学位。大学时期沉迷于Linux,并创建了一个Linux社团。曾参与LG电子安卓项目,目前在瑞萨移动参与安卓LTE手机项目。虽然热衷于安卓开发,但目前仍在使用非智能手机。主要关注领域是安卓平台、SW设计以及ARM架构。希望有一天可以将创建开源项目作为个人爱好。
      朴宰永,高丽大学无线电工程学士及硕士学位,进入LG电子后从事手机开发业务至今。尤其在10余年的开发过程中,从与硬件相关的BSP业务到UI业务,乃至批量生产相关业务均有所涉猎,积累了丰富经验。比较关注的领域是无线通信、移动平台、ARM架构、USIM、电源管理,今后想通过授课对社会做出贡献。
      文炳元,曾在LG电子参与手机开发业务,目前在一家游戏公司负责数据分析。认为程序员的能力不仅在于了解丰富的知识,更在于能够找到解决问题的方法。现在仍然为了每天都有进步而不断付出努力。
  • 目录:
    第1 章 Android 系统服务开发  11.1 Android 系统服务开发简介  21.1.1 Android 的出现  21.1.2 移动设备的硬件结构  51.1.3 Android 硬件服务开发概要  111.1.4 本书的叙述方向  141.2 IPC  161.2.1 Android 的进程  161.2.2 进程的fork() 及exec() 函数  171.2.3 Linux 内核的IPC  191.2.4 Linux 管道  201.2.5 网络套接字  211.2.6 UNIX 套接字  271.3 I/O 多路复用  301.3.1 服务器端/ 客户端模型  301.3.2 使用select() 函数的I/O 多路复用  331.3.3 select() 函数示例  341.4 ITC  361.4.1 多线程  361.4.2 Android 的ITC 模型  391.4.3 消息  421.4.4 Looper  451.4.5 Handler  491.4.6 HandlerThread  541.5 守护进程服务分析  561.5.1 普通守护进程程序的结构  561.5.2 生成init 进程的守护进程服务  581.5.3 守护进程与多客户端间的通信  65第2 章 RIL  702.1 RIL 简介  712.1.1 RIL 简介  712.1.2 AP 与调制解调器间的相互作用  722.1.3 AP 与调制解调器间的通信:RIL 命令  732.2 RIL 结构  752.2.1 Android 通信栈  762.2.2 Android RIL 的调制解调器控制模型  772.3 RIL 守护进程的结构  782.3.1 RIL 守护进程的构成要素  792.3.2 RIL 事件  802.3.3 RIL 事件调度程序  812.4 RIL 守护进程初始化  872.4.1 守护进程的启动  872.4.2 RIL 守护进程初始化过程  902.4.3 动态加载Vendor RIL 库  912.4.4 生成RIL 事件调度程序  922.4.5 Vendor RIL 初始化  972.4.6 注册Vendor RIL 的Radio控制函数及生成I/O 事件专用套接字  1002.5 RIL 事件处理机制  1032.5.1 RIL 事件调度程序的运行原理  1032.5.2 RIL 事件处理回调函数  1102.5.3 RIL req 处理机制  1192.5.4 RIL resp 处理机制  1242.5.5 RIL ind 处理机制  129第3 章 通信框架  1363.1 通信框架概要  1373.1.1 通信框架的功能  1373.1.2 通信框架提供的服务  1393.2 通信框架的结构  1403.2.1 通信框架的分层构成要素  1403.2.2 PhoneApp 类  1423.2.3 PhoneProxy 类  1423.2.4 Phone 接口  1443.2.5 Radio 接口  1463.2.6 state tracker 类  1483.2.7 CallManager 类  1493.2.8 不同版本中通信框架的变化(1.5~4.2)  1513.3 通信框架的初始化  1523.3.1 Phone 应用程序的生成  1533.3.2 通信框架的初始化  1553.3.3 RILJava 的初始化  1603.4 通信框架的服务模型  1643.4.1 通信框架的服务结构  1643.4.2 通信框架的服务req/resp 处理机制  1653.4.3 通信框架的服务ind 处理机制  1723.5 RILJava 的RIL req 处理示例  1863.5.1 Phone 应用程序的通信框架API 调用  1873.5.2 调用RILJava 的Radio API  1893.5.3 生成RILJava 的RILRequest对象  1913.5.4 向RILSender 线程传送RILRequest 对象  1933.5.5 发送RILSender 线程的RIL req  1943.6 RILJava 的RIL resp 处理示例  1973.6.1 从RIL 守护进程接收RIL resp  1983.6.2 发送RILReceiver 线程的服务resp 消息  2003.6.3 处理客户端对象handler 的服务resp 消息  2023.7 RILJava 的RIL ind 处理示例  2033.7.1 注册Subscriber 对象的服务ind  2043.7.2 接收RILReceive 线程的RIL ind  2053.7.3 调用RILReceive 线程的notifyRegistrant() 方法  2063.7.4 处理Subscriber 对象handler的服务ind 消息  209第4 章 USIM  2114.1 USIM 简介  2124.1.1 智能卡的定义  2134.1.2 智能卡的启动过程  2134.1.3 使用APDU 的智能卡通信  2154.1.4 USIM 的由来  2154.1.5 USIM 的主要功能  2164.2 USIM 的数据结构及运行  2194.2.1 USIM 的数据结构  2194.2.2 USIM 的移动通信相关EF  2214.2.3 通过APDU 读取EF 的过程  2234.3 Android USIM 软件结构  2254.3.1 调制解调器  2254.3.2 RIL  2264.3.3 通信框架  2264.3.4 Android 应用程序  2294.4 Android USIM 初始化及运行  2304.4.1 UICC 初始化及UICC 相关对象的生成  2304.4.2 系统启动后调制解调器通电  2354.4.3 进入SIM_READY 状态  2404.4.4 查看USIM 状态及执行EF读取  2444.4.5 分析通信框架的EF 读取  2464.5 Android USAT 初始化及运行  2544.5.1 USAT 初始化  2544.5.2 通过Display Text 分析Proactive Command  2584.5.3 Android 的Proactive Command处理  263第5 章 Android 电源管理  2705.1 电源管理概述  2725.1.1 电功率  2735.1.2 了解电池  2735.1.3 默认电源状态  2745.1.4 Android 电源管理的作用  2755.2 Android 电源管理的结构  2765.2.1 Android 电源管理的层级结构  2775.2.2 Power Manager  2785.2.3 Power Manager Service  2795.2.4 本地空间  2805.2.5 内核空间  2825.2.6 Android 电源管理主要方法调用过程  2835.3 Power Manager Service 的初始化  2845.3.1 Power Manager Service 的类结构及方法  2855.3.2 生成并注册Power ManagerService  2865.3.3 Power Manager Service 初始化:init() 方法  2905.3.4 Power Manager Service 初始化:systemReady() 方法  3025.4 Power Manager Service 的主要操作  3045.4.1 Power Manager Service 状态  3045.4.2 决定Power Manager Service状态  3075.4.3 屏幕亮度时间的结构  3155.4.4 根据屏幕亮度时间控制屏幕亮度  3185.4.5 屏幕亮度转换的结构要素  3205.4.6 屏幕亮度转换操作  3215.4.7 Wake Lock 标记与标签  3285.4.8 生成Wake Lock  3305.4.9 获取Wake Lock  3345.4.10 解除Wake Lock  3445.5 间接应用电源管理服务  3445.5.1 Power Manager 类提供的方法  3455.5.2 Power Manager 类的实例化及获取  3455.5.3 获取Wake Lock:PARTIAL_WAKE_LOCK  3475.5.4 Wake Lock 获取示例:PARTIAL_WAKE_LOCK  3485.5.5 获取Wake Lock:屏幕亮度控制标记  3505.5.6 Wake Lock 获取示例:FULL_WAKE_LOCK  3525.5.7 获取Wake Lock:ACQUIRE_CAUSES_WAKEUP  3535.5.8 解除Wake Lock:PARTIAL_WAKE_LOCK  3575.5.9 解除Wake Lock:屏幕亮度控制标记  3585.5.10 解除Wake Lock:ON_AFTER_RELEASE  3605.6 直接应用Power Manager Service  3615.6.1 屏幕亮度设置  3625.6.2 Poke Lock  3635.7 不应用Power Manager Service的Wake Lock  364第6 章 Android 内核电源管理  3676.1 Linux 内核电源管理  3696.1.1 APM 与ACPI  3696.1.2 设备电源管理  3726.2 Android 内核电源管理  3726.2.1 Android 内核修订内容  3726.2.2 kobject 与sysfs 文件系统  3736.2.3 生成用于电源管理的sysfs文件  3766.3 电源管理初始化  3786.4 Early Suspend  3816.4.1 Early Suspend 结构体与注册  3826.4.2 Early Suspend 操作  3846.5 Wake Lock  3876.5.1 Wake Lock 结构  3876.5.2 生成Wake Lock  3896.5.3 激活Wake Lock  3906.5.4 禁用Wake Lock  3936.6 Suspend  3946.6.1 执行Suspend  3946.6.2 准备Suspend  3956.6.3 进入Suspend  3966.7 Resume  3996.7.1 Early Resume  4006.7.2 设备Resume  4016.7.3 Resume 完成  4026.8 Late Resume  4026.9 Surface Flinger 与内核之间的相互操作  4056.9.1 屏幕On(开)状态到Off(关)状态的转换  4066.9.2 屏幕Off(关)状态到On(开)状态的转换  409索引  412
查看详情