最强Android书 架构大剖析pdf

图书网 2022年4月4日17:48:09
评论
1.2K

最强Android书 架构大剖析 作者:[美] Jonathan Levin(乔纳森·列维)

最强Android书 架构大剖析 出版社:电子工业出版社

最强Android书 架构大剖析 内容简介

本书通过实验而不是源码,将Android 系统层层拆解,令读者深刻透彻地掌握Android 系统的内部技术:以init 进程为切入点详细阐述了Android 的启动过程和关键服务;从Android 作为资源协调者和服务提供者的角度,重点分析了servicemanager 和system_server 这两个进程。同时,作者比较了Linux 与Android 系统的区别,并对Android 系统的安全性做了深入的阐述。

本书采用了大量的图表示例和实验,表达新颖清晰,让读者能直观地掌握Android 的技术精髓。

本书适合广大移动开发者及对Android 系统感兴趣的人员阅读。

最强Android书 架构大剖析 目录

关于本书 XIV

第1 章 Android 体系结构的变革之路 1

1.1 Android 系统版本的历史变迁 2

Froyo(冻酸奶) 3

Gingerbread(姜饼人) 3

Honeycomb(蜂巢) 4

Ice Cream Sandwich(冰激凌三明治) 5

JellyBean(果冻豆) 5

KitKat(奇巧) 6

Lollipop(棒棒糖) 7

Marshmallow(棉花糖) 8

Nougat(牛轧糖) 9

1.2 Android 与Linux 11

并非另一个Linux 发布版本 11

然后Android 就登场了 12

与Linux 的异同 13

Android 的框架 15

Dalvik 虚拟机 18

JNI 19

原生二进制可执行文件 20

Bionic 22

Android 的原生库 25

源自其他项目的原生库 27

硬件抽象层 28

Linux 内核 29

1.3 Android 的衍生产品 30

谷歌官方的衍生产品 30

非谷歌官方的衍生品 33

1.4 对前方道路的思考 36

兼容64 位 36

ART(Android 运行时) 37

多画面 38

把Android 用作台式机操作系统 38

Android 和ARA 项目 39

Brillo 40

本章小结 40

参考文献 41

第2 章 Android 的分区和文件系统 43

2.1 分区架构 43

需要许多单独分区的原因 44

GUID 分区表 45

闪存(Flash Storage)系统 46

文件系统 46

Android 设备中的分区 49

2.2 Android 文件系统中存储的内容 53

root 文件系统 53

/system 分区 54

/data 分区 65

/cache 分区 71

/vendor 目录 72

SD 卡 73

2.3 受保护的文件系统 74

OBB:Opaque Binary Blobs 74

ASec:Android 安全存储(Android Secure Storage) 76

2.4 Linux 伪文件系统 78

cgroupfs 78

debugfs 79

functionfs(/dev/usb-ffs/adb) 80

procfs(/proc) 81

pstore(/sys/fs/pstore) 81

selinuxfs(/sys/fs/selinux) 82

sysfs(/sys) 83

本章小结 84

参考文献 84

第3 章 Android 的启动、备份和重置 86

3.1 Android 系统镜像 87

Boot Loader 89

Boot 镜像 93

内核 95

RAM disk 97

/System 和/Data 分区镜像 99

3.2 启动过程 101

固件启动过程 101

内核启动过程 105

3.3 关机和重启 109

3.4 应用的备份和恢复 112

命令行工具 113

本地备份 114

监视备份操作 117

3.5 系统重置(recovery)和升级 119

OTA(Over-The-Air)升级包 121

制作你自己的ROM 124

制作ROM 时可用的网上资源 128

本章小结 130

参考文献 130

第4 章 init 132

4.1 init 的角色和任务 132

系统属性 134

.rc 文件 140

总结:init 的执行流程 146

4.2 init 和USB 150

4.3 init 的其他角色 152

ueventd 153

watchdogd 154

本章小结 154

XIV ┃ 最强Android 书:架构大剖析

本章讨论所涉及的文件 155

第5 章 Android 的守护进程 156

5.1 core 类中的服务 156

adbd 156

servicemanager 160

healthd 161

lmkd(Android L) 165

logd(Android L) 168

vold 173

5.2 网络相关服务 182

netd 182

mdnsd 187

mtpd 187

racoon 188

rild 189

5.3 图形及多媒体服务 190

surfaceflinger 190

bootanimation 192

mediaserver 194

drmserver 196

5.4 其他服务 197

installd 197

keystore 200

debuggerd[64] 204

gatekeeper(Android M) 207

sdcard 208

Zygote[64] 211

本章小结 214

本章讨论涉及的文件 214

参考文献 215

第6 章 框架服务的架构 216

6.1 再探servicemanager 217

6.2 服务调用的模式 222

优点和缺点 224

序列化和Android 接口定义语言(AIDL) 225

6.3 Binder 228

简明历史 228

那么,Binder 究竟是什么 229

使用Binder 230

分析Binder 的当前使用情况 231

6.4 system_server 232

启动及执行流程 232

修改启动时的行为 234

本章小结 237

本章讨论涉及的文件 237

参考文献 237

第7章 从Linux 角度看Android 238

7.1 重温/proc 239

符号链接:cwd、exe 和root 240

fd 243

fdinfo 245

status 247

7.2 用户模式内存管理 254

虚拟内存的分类和生命周期 254

内存的相关术语 258

内存不足时的应对方案 266

7.3 跟踪系统调用 269

toolbox ps 工具 269

wchan 和syscall 文件 270

strace 工具 271

本章小结 272

参考文献 272

第8 章 Android 安全性 274

8.1 移动安全威胁建模 275

攻击向量 275

攻击之道 278

8.2 Linux 层上的安全措施 281

Android 使用Linux 权限的方式 281

Linux 权能 289

SELinux 294

其他值得注意的特性 301

8.3 Dalvik 层上的安全措施 305

Dalvik 层上的权限 305

Dalvik 代码签名 310

8.4 用户层上的安全措施 312

锁屏机制 312

支持多用户 316

密钥管理 318

证书管理 318

密钥和私钥管理 322

8.5 存储安全 323

加密/data 分区 323

基于文件的加密(Nougat 7.1) 326

Direct Boot (Nougat 的新特性) 326

启动过程中加强验证 327

8.6 Root Android 设备 328

在设备启动环节中root 329

利用安全漏洞root 331

Root 对安全的影响 332

本章小结 334

参考文献 334

图书网:最强Android书 架构大剖析pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

人在职场

面试沟通巧技能pdf

适读人群 :本书可为广大求职者面试提供有益指导,也适合作为各层次毕业生找工作的指导用书。 面试,实质是沟通!谁掌握了面试沟通的巧技能,谁就获得了面试的致胜法宝。本书讲述了求职者在面...
人工智能

深度学习之PyTorch实战计算机视觉pdf

适读人群 :本书面向对深度学习技术感兴趣,但是相关基础知识较为薄弱或者零基础的读者。 作者的文笔很好,对深度学习、Python、PyTorch、神经网络、迁移学习及相关数学知识讲解...
项目管理IT人文

关键链pdf

关键链 作者: 艾利·高德拉特 译者: 罗嘉颖 关键链 出版社: 电子工业出版社 关键链 内容简介 《关键链(修订本)》内容简介:项目无处不在.但都有一定的特征:可动用的资源有限;有完成日期及开支限制...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: