• 第1章 android framework概要 1
  • 1.1 android源代码组成 2
  • 1.2 通过启动过程分析android fram...
  • 第2章 搭建android开发环境 7
  • 2.1 主机环境构成 7
  • 2.1.1 安装virtualbox 7
  • 2.1.2 安装ubuntu 8
  • 2.2 搭建android平台编译环境 9
  • 2.2.1 编译工具 10
  • 2.2.2 安装repo 11
  • 2.2.3 下载android源代码 11
  • 2.2.4 编译android源代码 12
  • 2.3 搭建android sdk开发环境 13
  • 2.3.1 下载、安装eclipse 13
  • 2.3.2 下载android sdk starter 13
  • 2.3.3 安装adt插件 14
  • 2.3.4 设置android sdk路径 16
  • 2.3.5 安装android sdk 16
  • 2.4 开发android应用程序 18
  • .2.5 应用程序framework源码级别调...
  • 2.5.1 加载应用程序framework源 21
  • 2.5.2 调试helloworld framework(...
  • 2.6 小结 27
  • 第3章 init进程 29
  • 3.1 init进程运行过程 29
  • 3.2 init进程源码分析 31
  • 3.3 init.rc脚本文件分析与执行 40
  • 3.3.1 动作列表(action list) 41
  • 3.3.2 服务列表(service list) 43
  • 3.3.3 init.rc文件分析函数 44
  • 3.3.4 动作列表与服务列表的运行 48
  • 3.4 创建设备节点文件 52
  • 3.4.1 创建静态设备节点 52
  • 3.4.2 动态设备感知 57
  • 3.5 进程的终止与再启动 58
  • 3.6 属性服务 62
  • 3.6.1 属性初始化 63
  • 3.6.2 属性变更请求处理 65
  • 3.7 小结 67
  • 第4章 jni与ndk 69
  • 4.1 android与jni 69
  • 4.2 jni的基本原理 72
  • 4.2.1 在java中调用c库函数 72
  • 4.2.2 小结 83
  • 4.3 调用jni函数 84
  • 4.3.1 调用jni函数的示例程序结构 84
  • 4.3.2 java层代码(jnifuncmain.jav...
  • 4.3.3 分析jni本地函数代码 87
  • 4.3.4 编译及运行结果 101
  • 4.3.5 在android中的应用举例 102
  • 4.4 在c程序中运行java类 102
  • 4.4.1 invocation api应用示例 103
  • 4.4.2 编译及运行 108
  • 4.4.3 invocation api在android中...
  • 4.5 直接注册jni本地函数 110
  • 4.5.1 加载本地库时,注册jni本地...
  • 4.5.2 android中的应用举例 115
  • 4.6 使用android ndk开发 122
  • 4.6.1 安装android ndk 123
  • 4.6.2 使用android ndk开发步骤 127
  • 4.6.3 小结 136
  • 第5章 zygote 137
  • 5.1 zygote是什么 137
  • 5.2 由app_process运行zygoteinit ...
  • 5.2.1 生成appruntime对象 143
  • 5.2.2 调用appruntime对象 144
  • 5.2.3 创建dalvik虚拟机 145
  • 5.2.4 运行zygoteinit类 146
  • 5.3 zygoteinit类的功能 147
  • 5.3.1 绑定/dev/socket/zygote套接...
  • 5.3.2 加载应用程序framework中的...
  • 5.3.3 运行systemserver 155
  • 5.3.4 运行新android应用程序 158
  • 第6章 android服务概要 163
  • 6.1 示例程序:理解android服务的...
  • 6.2 android服务的种类 166
  • 6.3 android应用程序服务 168
  • 6.4 android系统服务 182
  • 6.5 运行系统服务 185
  • 6.5.1 分析媒体服务器(media serve...
  • 6.5.2 分析系统服务器(system serv...
  • 6.6 android service framework、b...
  • 第7章 android binder ipc 197
  • 7.1 linux内存空间与binder driver...
  • 7.2 android binder model 199
  • 7.2.1 binder ipc数据传递 201
  • 7.2.2 binder ipc数据流 202
  • 7.2.3 binder协议(binder protocol...
  • 7.2.4 rpc代码与rpc数据 206
  • 7.2.5 binder寻址(binder addressi...
  • 7.3 android binder driver分析 209
  • 7.3.1 从进程的角度看服务的使用 210
  • 7.3.2 从binder driver角度看服务...
  • 7.3.3 binder driver函数分析 219
  • 7.4 context manager 251
  • 7.5 小结 256
  • 第8章 android service framework 257
  • 8.1 服务框架(service framework) 257
  • 8.2 服务框架(service framework)...
  • 8.2.1 各层构成元素的配置 260
  • 8.2.2 各层构成元素间的相互作用 261
  • 8.2.3 类的结构 264
  • 8.3 运行机制 266
  • 8.3.1 服务接口 267
  • 8.3.2 服务 273
  • 8.3.3 服务代理(service proxy) 276
  • 8.3.4 binder ipc处理 280
  • 8.4 本地服务管理器(native servic...
  • 8.4.1 service manager概要 282
  • 8.4.2 service manager类 284
  • 8.4.3 service manager的运行 286
  • 8.5 编写本地服务 314
  • 8.5.1 设计helloworld系统服务 314
  • 8.5.2 helloworld服务接口 315
  • 8.5.3 helloworld服务 316
  • 8.5.4 helloworld服务代理 319
  • 8.5.5 运行helloworld服务 320
  • 8.6 小结 325
  • 第9章 本地系统服务(native system...
  • 9.1 相机服务(cameral service) 327
  • 9.2 相机应用程序 328
  • 9.3 相机服务框架(camera service ...
  • 9.3.1 相机服务框架层次结构 331
  • 9.3.2 相机服务框架类 333
  • 9.4 相机服务框架的运行 334
  • 9.4.1 初始化相机服务 334
  • 9.4.2 连接相机服务 335
  • 9.4.3 相机服务连接过程分析 337
  • 9.4.4 相机设置与控制 340
  • 9.4.5 相机设置与控制分析 341
  • 9.4.6 相机事件处理 342
  • 9.4.7 相机事件处理分析 343
  • 9.5 小结 345
  • 第10章 java服务框架(java service...
  • 10.1 java服务框架(java service f...
  • 10.1.1 java服务框架的层次结构 348
  • 10.1.2 java服务框架中各个类间的...
  • 10.2 运行机制 354
  • 10.2.1 java服务框架初始化 355
  • 10.2.2 binder 355
  • 10.2.3 binderproxy 361
  • 10.2.4 parcel 364
  • 10.3 java系统服务的实现 367
  • 10.3.1 闹钟服务(alarm manager se...
  • 10.3.2 编写helloworldservice系统...
  • 10.3.3 使用helloworldservice系统...
  • 10.3.4 编译helloworldservice系统...
  • 10.4 java service manager 380
  • 10.4.1 java service manager简介 380
  • 10.4.2 binderinternal 381
  • 10.4.3 java service manager的运...
  • 10.5 使用aidl生成服务代理与服务s...
  • 10.5.1 在aidl文件中定义服务接口 390
  • 10.5.2 使用aidl编译器,生成服务...
  • 10.5.3 继承stub类创建服务 392
  • 10.5.4 服务接口的调用 393
  • 10.6 小结 394
  • 第11章 java系统服务运行分析 395
  • 11.1 activity manager service 395
  • 11.2 activity manager service创...
  • 11.2.1 controller activity-调用s...
  • 11.2.2 activity manager service...
  • 11.2.3 activity manager service...
  • 11.2.4 运行activitythread类的mai...
  • 11.2.5 activity manager service...
  • 11.3 小结 421
  • 附录 aidl语法 423