转载至: https://www.jb51.net/books/680737.html
下载链接: 点我一键跳转到 下载链接
下载声明: 本资料仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!
《最强Android书:架构大剖析》通过实验而不是源码,将Android 系统层层拆解,令读者深刻透彻地掌握Android 系统的内部技术:以init 进程为切入点详细阐述了Android 的启动过程和关键服务;从Android 作为资源协调者和服务提供者的角度,重点分析了servicemanager 和system_server 这两个进程。同时,作者比较了Linux 与Android 系统的区别,并对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
                            支付宝打赏
                        
                            微信打赏
                        
                        


