图书介绍

Android系统源代码分析PDF|Epub|txt|kindle电子书版本下载

Android系统源代码分析
  • 李俊编著 著
  • 出版社: 北京:中国铁道出版社
  • ISBN:9787113191641
  • 出版时间:2015
  • 标注页数:549页
  • 文件大小:73MB
  • 文件页数:562页
  • 主题词:移动终端-应用程序-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Android系统源代码分析PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 Android系统介绍1

1.1 来到智能手机世界1

1.1.1 何谓智能手机1

1.1.2 百家争鸣2

1.2 Android的优势3

1.2.1 优点一——系出名门3

1.2.2 优点二——强大的开发团队3

1.2.3 优点三——诱人的奖励机制4

1.2.4 优点四——开源5

1.3 剖析Android系统架构5

1.4 五大组件7

1.4.1 用Activity来表现界面7

1.4.2 用Intent和Intent Filters实现切换8

1.4.3 Service服务8

1.4.4 用BroadcastIntent Receiver发送广播9

1.4.5 用Content Provider存储数据9

1.5 进程和线程9

1.5.1 先看进程9

1.5.2 再看线程9

1.6 获取Android源码10

1.6.1 在Linux平台获取Android源码10

1.6.2 在Windows平台获取Android源码11

1.7 分析Android源码结构13

1.8 编译源码18

1.8.1 Ubuntu系统编译源码19

1.8.2 常见错误19

1.8.3 运行Android源码20

1.9 编译Android Kemel21

1.9.1 获取Goldfish内核代码21

1.9.2 获取MSM内核代码24

1.9.3 获取OMAP内核代码24

1.9.4 编译Android的Linux内核24

1.10 Android模拟器(AVD)26

1.10.1 在Linux环境下运行模拟器26

1.10.2 模拟器辅助工具——adb27

1.10.3 在Windows中创建Android模拟器29

1.10.4 在模拟器上运行Android系统30

第2章 源码结构和SDK解析32

2.1 Android源码的目录结构32

2.2 目录结构在系统中的体现33

2.2.1 应用程序33

2.2.2 应用程序框架35

2.2.3 系统服务35

2.2.4 系统程序库38

2.2.5 系统运行库41

2.2.6 硬件抽象层41

2.3 编译源码生成SDK42

2.4 源码中提供的接口46

2.4.1 暴露的接口和隐藏的接口46

2.4.2 开发中如何调用隐藏接口52

第3章 分析JNI和Media56

3.1 JNI基础56

3.2 分析Java层的MediaScanner57

3.2.1 加载JNI库57

3.2.2 实现扫描工作59

3.2.3 读取并保存信息60

3.2.4 删除不是SD卡中的文件信息62

3.2.5 processDirectory63

3.2.6 扫描函数scanFile64

3.2.7 JNI中的异常处理64

3.3 分析JNI层的MediaScanner65

3.3.1 将Native对象的指针保存到Java对象65

3.3.2 创建Native层的MediaScanner对象66

3.4 Native层的MediaScanner66

3.4.1 JNI函数的注册66

3.4.2 完成注册工作68

3.4.3 动态注册70

3.4.4 processDirectory72

3.4.5 client.scanFile73

3.4.6 添加TAG信息73

3.4.7 总结函数JNI_OnLoad()与函数JNI_OnUnload()的用途74

3.4.8 Java与JNI基本数据类型转换75

3.4.9 J NIEnv接口76

3.4.10 JNI中的环境变量77

3.5 解析android.process.media78

3.5.1 MediaScannerReceiver78

3.5.2 MediaScannerService81

3.5.3 MediaProvider86

3.6 MediaScanner中的重要函数99

3.6.1 seekTo99

3.6.2 doProcessDirectory103

3.6.3 doScanFile105

3.6.4 android_media_MediaScanner_processFile106

3.6.5 processFile107

3.6.6 endFile108

3.6.7 handleStringTag108

3.6.8 fileMatchesExtension109

3.7 Camera模块JNI实例分析110

3.7.1 Java层预览接口110

3.7.2 注册预览的JNI函数111

3.7.3 C/C++层的预览函数115

第4章 分析init进程116

4.1 init基础116

4.2 分析入口函数117

4.3 分析配置文件120

4.3.1 init.rc简介121

4.3.2 分析init.rc的过程123

4.4 解析Service127

4.4.1 zygote对应的service action127

4.4.2 init组织Service128

4.4.3 解析Service用到的函数129

4.5 解析on134

4.5.1 zygote对应的on action134

4.5.2 init组织on135

4.5.3 解析on用到的函数136

4.6 init控制Service136

4.6.1 启动zygote137

4.6.2 启动Service137

4.6.3 总结四种启动Service的方式142

4.7 控制属性服务147

4.7.1 引入属性147

4.7.2 初始化属性服务150

4.7.3 启动属性服务151

4.7.4 处理设置属性的请求155

第5章 深入分析HAL层157

5.1 初识HAL层157

5.1.1 HAL层简介158

5.1.2 HAL_legacy和HAL的对比159

5.2 分析HAL层源码159

5.2.1 分析HAL module159

5.2.2 文件hardware.h160

5.2.3 文件hardware.c162

5.3 分析硬件抽象层的加载过程165

5.4 分析硬件访问服务169

5.4.1 定义硬件访问服务接口169

5.4.2 实现硬件访问服务170

5.5 分析mokoid工程171

5.5.1 直接调用service方法的实现代码172

5.5.2 通过Manager调用service的实现代码177

5.6 举例说明Sensor(传感器)在HAL层的表现180

5.6.1 HAL层的Sensor代码180

5.6.2 Sensor编程的流程182

5.7 HAL和系统移植183

5.7.1 移植各个Android部件的方式183

5.7.2 辅助工作183

第6章 分析Android的内存机制190

6.1 内存和进程的关系190

6.1.1 进程管理工具的纷争190

6.1.2 Android系统内存设计191

6.2 分析Android的进程通信机制192

6.2.1 Android的进程间通信(IPC)机制Binder192

6.2.2 Service Manager是Binder机制的上下文管理者193

6.2.3 分析Server和Client获得Service Manager的过程211

6.3 分析Android系统匿名共享内存C++调用接口215

6.3.1 Java程序217

6.3.2 相关程序226

6.4 内存优化229

6.4.1 sp和wp简析229

6.4.2 详解智能指针(android refbase类(sp和wp))231

第7章 分析ActivityManagerService233

7.1 AMS基础233

7.1.1 进程数据类ProcessRecord234

7.1.2 数据类HistoryRecord234

7.1.3 类TaskRecord235

7.1.4 AMS中的一些重要调度相关变量235

7.2 Activity的调度237

7.2.1 startActivity()的启动流程237

7.2.2 stopActivityLocked()停止Activity278

第8章 分析Binder和MessageQueue285

8.1 分析Binder285

8.1.1 Client、Server和ServiceManager285

8.1.2 MediaServer286

8.1.3 ServiceManager312

8.1.4 分析MediaPlayerService和Client316

8.2 初始化Java层Binder框架323

8.2.1 Binder类的初始化324

8.2.2 addService实例分析325

8.3 分析MessageQueue334

8.3.1 创建MessageQueue335

8.3.2 提取消息335

8.3.3 分析函数nativePollOnce340

第9章 分析SystemServer350

9.1 分析SystemServer350

9.1.1 分析主函数main350

9.1.2 分析函数init2353

9.2 分析EntropyService353

9.3 分析DropBoxManagerService356

9.3.1 分析DBMS构造函数356

9.3.2 添加dropbox日志文件358

9.3.3 DBMS和Settings数据库362

9.4 分析DiskStatsService363

9.5 分析DeviceStorageManagerService368

9.6 分析SamplingProfilerService371

9.6.1 分析SamplingProfilerService构造函数371

9.6.2 分析SamplingProfilerIntegration372

9.7 分析ClipboardService382

9.7.1 复制数据到剪贴板383

9.7.2 从剪贴板粘贴数据384

9.7.3 CBS中的权限管理387

第10章 分析WindowManagerService391

10.1 WindowManagerService概述391

10.2 分析计算Activity窗口大小的过程393

10.2.1 概览393

10.2.2 分析Activity计算窗口大小的过程394

10.3 分析WindowManagerService对窗口的组织方式419

10.3.1 概述419

10.3.2 分析操作源码420

第11章 分析安装应用程序的过程439

11.1 WindowManagerService概述439

11.2 分析安装过程441

11.2.1 主函数main441

11.2.2 初始化函数442

11.2.3 初始化服务442

11.2.4 调用静态成员函数446

11.2.5 创建了ServerThread线程447

11.2.6 启动服务447

11.2.7 创建PackageManagerService服务实例452

11.2.8 扫描函数scanDirLI460

11.2.9 归档处理464

11.2.10 解析application标签475

11.2.11 保存解析后的程序信息477

第12章 分析核心框架系统479

12.1 分析音频系统479

12.1.1 Audio系统的层次介绍479

12.1.2 Media库中的Audio框架481

12.1.3 本地代码488

12.1.4 JNI代码491

12.1.5 Java代码492

12.2 视频输出系统492

12.2.1 Overlay系统的基本层次结构492

12.2.2 Overlay系统硬件抽象层的接口494

12.2.3 实现硬件抽象层496

12.2.4 实现接口497

12.3 分析OpenMax多媒体框架498

12.3.1 分析OpenMax IL层的接口499

12.3.2 OpenMax适配层504

12.4 分析多媒体插件框架506

12.4.1 基本层次结构507

12.4.2 分析库libopencorecommon.so的结构508

12.4.3 分析库libopencoreplayer.so的结构509

12.4.4 分析库libopencoreauthor.so的结构510

12.4.5 其他的库511

12.4.6 OpenCore OSCL511

12.4.7 实现OpenCore中的OpenMax部分513

12.5 分析Camera照相机系统525

12.5.1 基本层次结构525

12.5.2 分析V4L2驱动程序527

12.5.3 硬件抽象层534

12.5.4 实现Camera系统的硬件抽象层535

12.6 分析传感器系统542

12.6.1 基本层次结构542

12.6.2 分析硬件抽象层544

12.6.3 实现上层部分545

热门推荐