第1章 Android Framework概要
1.1 Android源代码组成
1.2 通过启动过程分析Android Framework
第2章 搭建Android开发环境
2.1 主机环境构成
2.1.1 安装VirtualBox
2.1.2 安装Ubuntu
2.2 搭建Android平台编译环境
2.2.1 编译工具
2.2.2 安装Repo
2.2.3 下载Android源代码
2.2.4 编译Android源代码
2.3 搭建Android SDK开发环境
2.3.1 下载、安装Eclipse
2.3.2 下载Android SDK starter
2.3.3 安装ADT插件
2.3.4 设置Android SDK路径
2.3.5 安装Android SDK
2.4 开发Android应用程序
2.5 应用程序Framework源码级别调试
2.5.1 加载应用程序Framework源
2.5.2 调试HelloWorld Framework(源码级)
2.6 小结
第3章 init进程
3.1 init进程运行过程
3.2 init进程源码分析
3.3 init.rc脚本文件分析与执行
3.3.1 动作列表(Action List)
3.3.2 服务列表(Service List)
3.3.3 init.rc文件分析函数
3.3.4 动作列表与服务列表的运行
3.4 创建设备节点文件
3.4.1 创建静态设备节点
3.4.2 动态设备感知
3.5 进程的终止与再启动
3.6 属性服务
3.6.1 属性初始化
3.6.2 属性变更请求处理
3.7 小结
第4章 JNI与NDK
4.1 Android与JNI
4.2 JNI的基本原理
4.2.1 在Java中调用C库函数
4.2.2 小结
4.3 调用JNI函数
4.3.1 调用JNI函数的示例程序结构
4.3.2 Java层代码(JniFuncMain.java)
4.3.3 分析JNI本地函数代码
4.3.4 编译及运行结果
4.3.5 在Android中的应用举例
4.4 在C程序中运行Java类
4.4.1 Invocation API应用示例
4.4.2 编译及运行
4.4.3 Invocation API在Android中的应用举例:Zygote进程
4.5 直接注册JNI本地函数
4.5.1 加载本地库时,注册JNI本地函数
4.5.2 Android中的应用举例
4.6 使用Android NDK开发
4.6.1 安装Android NDK
4.6.2 使用Android NDK开发步骤
4.6.3 小结
第5章 Zygote
5.1 Zygote是什么
5.2 由app_process运行ZygoteInit class
5.2.1 生成AppRuntime对象
5.2.2 调用AppRuntime对象
5.2.3 创建Dalvik虚拟机
5.2.4 运行ZygoteInit类
5.3 ZygoteInit类的功能
5.3.1 绑定/dev/socket/zygote套接字
5.3.2 加载应用程序Framework中的类与平台资源
5.3.3 运行SystemServer
5.3.4 运行新Android应用程序
第6章 Android服务概要
6.1 示例程序:理解Android服务的运行
6.2 Android服务的种类
6.3 Android应用程序服务
6.4 Android系统服务
6.5 运行系统服务
6.5.1 分析媒体服务器(Media Server)的运行代码
6.5.2 分析系统服务器(System Server)的运行代码
6.6 Android Service Framework、Binder Driver概要及相关术语
第7章 Android Binder IPC
7.1 Linux内存空间与Binder Driver
7.2 Android Binder Model
7.2.1 Binder IPC数据传递
7.2.2 Binder IPC数据流
7.2.3 Binder协议(Binder Protocol)
7.2.4 RPC代码与RPC数据
7.2.5 Binder寻址(Binder Addressing)
7.3 Android Binder Driver分析
7.3.1 从进程的角度看服务的使用
7.3.2 从Binder Driver角度看服务的使用
7.3.3 Binder Driver函数分析
7.4 Context Manager
7.5 小结
第8章 Android Service Framework
8.1 服务框架(Service Framework)
8.2 服务框架(Service Framework)的构成
8.2.1 各层构成元素的配置
8.2.2 各层构成元素间的相互作用
8.2.3 类的结构
8.3 运行机制
8.3.1 服务接口
8.3.2 服务
8.3.3 服务代理(Service Proxy)
8.3.4 Binder IPC处理
8.4 本地服务管理器(Native Service Manager)
8.4.1 Service Manager概要
8.4.2 Service Manager类
8.4.3 Service Manager的运行
8.5 编写本地服务
8.5.1 设计HelloWorld系统服务
8.5.2 HelloWorld服务接口
8.5.3 HelloWorld服务
8.5.4 HelloWorld服务代理
8.5.5 运行HelloWorld服务
8.6 小结
第9章 本地系统服务(Native System Service)分析
9.1 相机服务(Cameral Service)
9.2 相机应用程序
9.3 相机服务框架(Camera Service Framework)
9.3.1 相机服务框架层次结构
9.3.2 相机服务框架类
9.4 相机服务框架的运行
9.4.1 初始化相机服务
9.4.2 连接相机服务
9.4.3 相机服务连接过程分析
9.4.4 相机设置与控制
9.4.5 相机设置与控制分析
9.4.6 相机事件处理
9.4.7 相机事件处理分析
9.5 小结
第10章 Java服务框架(Java Service Framework)
10.1 Java服务框架(Java Service Framework)
10.1.1 Java服务框架的层次结构
10.1.2 Java服务框架中各个类间的相互作用
10.2 运行机制
10.2.1 Java服务框架初始化
10.2.2 Binder
10.2.3 BinderProxy
10.2.4 Parcel
10.3 Java系统服务的实现
10.3.1 闹钟服务(Alarm Manager Service)分析
10.3.2 编写HelloWorldService系统服务
10.3.3 使用HelloWorldService系统服务
10.3.4 编译HelloWorldService系统服务
10.4 Java Service Manager
10.4.1 Java Service Manager简介
10.4.2 BinderInternal
10.4.3 Java Service Manager的运行实例
10.5 使用AIDL生成服务代理与服务Stub
10.5.1 在AIDL文件中定义服务接口
10.5.2 使用AIDL编译器,生成服务接口、服务Stub以及服务代理
10.5.3 继承Stub类创建服务
10.5.4 服务接口的调用
10.6 小结
第11章 Java系统服务运行分析
11.1 Activity Manager Service
11.2 Activity Manager Service创建服务分析
11.2.1 Controller Activity-调用startService()方法
11.2.2 Activity Manager Service的startService()方法的调用过程(使用Binder RPC)
11.2.3 Activity Manager Service--运行startService() Stub方法
11.2.4 运行ActivityThread类的main() 方法
11.2.5 Activity Manager Service--attachApplication() Stub方法
11.3 小结
附录 AIDL语法
· · · · · · (
收起)
0 有用 nonocast 2012-10-20 13:38:55
思路很清晰,少了图形加速这块
0 有用 fred zheng 2015-07-08 13:48:30
第一次读棒子的书。通过本书你可以大略了解一下Android的源码,当然,首先你要下载了40G得源码。还是不错的入门书。
0 有用 Matias 2016-03-08 00:31:13
Linux。。。基础不行 还是滚回去看看鸟叔的私房菜
1 有用 henices 2017-08-29 14:18:49
非常不错,比国内一些书写的好多了,有深度。
2 有用 jason 2014-02-07 21:14:37
条理清晰,通俗易懂。
0 有用 蟑螂Hoop 2021-05-05 22:59:08
感觉没有豆瓣吹的那么神 是我太菜了么..
0 有用 Marine 2021-01-07 15:49:29
略陈旧
1 有用 书虫 2019-06-10 17:55:53
主要讲的是底层。只看了binder那一章,因为只有binder那一章对做安卓上层应用开发有帮助。其余章节感觉对做系统定制对更有帮助。binder那一章讲的还算通俗易懂,前半部分都看懂了,后半部分是binder源码相关的没怎么看,以后有机会再看吧。只看这一章都值回书价了,推荐阅读。不过上曾开发的同学还是推荐看柯元旦《安卓内核剖析》。
0 有用 yacyet 2019-01-06 00:52:30
确实很棒!!
0 有用 flowingtc 2018-08-31 14:04:20
主要讲解了Android本地服务框架和Java服务框架。解释比较详细,值得二刷。