目录

关于本书 XIV

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

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

Froyo(冻酸奶) 3

Gingerbread(姜饼人) 3

Honeycomb(蜂巢) 4

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

JellyBean(果冻豆) 5

KitKat(奇巧) 6Lollipop(棒棒糖) 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

硬件抽象层 28Linux 内核 29

1.3 Android 的衍生产品 30

谷歌官方的衍生产品 30非谷歌官方的衍生品 33

1.4 对前方道路的思考 36

兼容64 位 36

ART(Android 运行时) 37

多画面 38把Android 用作台式机操作系统 38Android 和ARA 项目 39

Brillo 40

本章小结 40参考文献 41

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

2.1 分区架构 43需要许多单独分区的原因 44

GUID 分区表 45闪存(Flash Storage)系统 46

文件系统 46Android 设备中的分区 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 伪文件系统 78cgroupfs 78debugfs 79

functionfs(/dev/usb-ffs/adb) 80procfs(/proc) 81pstore(/sys/fs/pstore) 81

selinuxfs(/sys/fs/selinux) 82sysfs(/sys) 83

本章小结 84参考文献 84第3 章 Android 的启动、备份和重置 86

3.1 Android 系统镜像 87Boot Loader 89Boot 镜像 93内核 95

RAM disk 97/System 和/Data 分区镜像 993.2 启动过程 101

固件启动过程 101内核启动过程 1053.3 关机和重启 109

3.4 应用的备份和恢复 112命令行工具 113

本地备份 114监视备份操作 1173.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 的其他角色 152ueventd 153watchdogd 154本章小结 154

XIV ┃ 最强Android 书:架构大剖析本章讨论所涉及的文件 155

第5 章 Android 的守护进程 1565.1 core 类中的服务 156adbd 156

servicemanager 160

healthd 161

lmkd(Android L) 165

logd(Android L) 168

vold 173

5.2 网络相关服务 182

netd 182

mdnsd 187

mtpd 187racoon 188

rild 189

5.3 图形及多媒体服务 190

surfaceflinger 190

bootanimation 192

mediaserver 194drmserver 1965.4 其他服务 197

installd 197keystore 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 240fd 243

fdinfo 245status 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攻击之道 2788.2 Linux 层上的安全措施 281

Android 使用Linux 权限的方式 281Linux 权能 289

SELinux 294其他值得注意的特性 301

8.3 Dalvik 层上的安全措施 305Dalvik 层上的权限 305Dalvik 代码签名 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 331Root 对安全的影响 332

本章小结 334参考文献 334

207最新android书籍,《最强Android书 架构大剖析》PDF(高清版)相关推荐

  1. Android开发应该了解的Binder原理,分享PDF高清版

    正文 Android行业主要问题是初级Android太多了,会写xml和Activity的程序员太多了,初中级程序员面临很大的竞争,现状也就偏于高级开发者.越来越多的初中级Android程序员找不到满 ...

  2. 《最强Android书 架构大剖析》读书笔记

    文章目录 第一章 Android 体系结构的变革之路 1.2 Android系统源码目录 与Linux的异同 Android的框架 原生二进制可执行文件 Android 的原生库 核心(core)库 ...

  3. Android之内存泄漏调试学习与总结,分享PDF高清版

    前言 今天来跟大家分享TIM最强保活思路的几种实现方法.这篇文章我将通过ioctl跟binder驱动交互,实现以最快的方式唤醒新的保活服务,最大程度防止保活失败.同时,我也将跟您分享,我是怎么做到在不 ...

  4. 最新BAT大厂面试者整理的Android面试题目模板,分享PDF高清版

    前言 从毕业到现在面试也就那么几家公司,单前几次都比较顺利,在面到第三家时都给到了我offer!前面两次找工作,没考虑到以后需要什么,自己的对未来的规划是什么,只要有份工作,工资符合自己的要求就行!所 ...

  5. Android高级工程师进阶学习,分享PDF高清版

    前言 笔者是某211非计算机相关专业2018届本科生,在校期间有半年多的互联网小公司实习经历. 毕业之后投递360 ,入职了360企业安全成为专门的前端开发工程师,有幸进入一个很赞的团队,遇到很棒的导 ...

  6. 程序员的中年危机,史上最全的Android面试题集锦,分享PDF高清版

    前言 很多次小伙伴问到学习方法,我也很想写这样的一篇文章来跟大家讨论下关于学习方法这件事情. 其实学习方法这个事情,我没啥发言权,因为我自己本身都是没啥方法可言的,就瞎折腾那种,但是大家想看这样的一篇 ...

  7. 安卓客户端开发!如何试出一个Android开发者真正的水平?分享PDF高清版

    程序员与别的专业有所不同,其他专业都是越老越香,而程序员却是一个例外,因为计算机技术更新太快,而且工作强度很大,因此大部分程序员只会写 3 年代码.3 年后要不晋升做项目经理,要么转行,个别研究所除外 ...

  8. Android工作经验6年,Android事件分发机制收藏这一篇就够了,分享PDF高清版

    前言 首先介绍一下自己,计算机水本,考研与我无缘.之前在帝都某公司算法部实习,公司算大公司吧,然而个人爱好偏开发,大二的时候写个一个app,主要是用各种框架. 饿了么Android岗一面 1:双亲委托 ...

  9. 一本书读懂大数据(每个人都看得懂的大数据入门书) - 电子书下载(高清版PDF格式+EPUB格式)...

    一本书读懂大数据(每个人都看得懂的大数据入门书)-黄颖 在线阅读                   百度网盘下载(635f) 书名:一本书读懂大数据(每个人都看得懂的大数据入门书) 作者:黄颖 格式 ...

最新文章

  1. 我所经历的大文件数据导出(后台执行,自动生成)
  2. 7.1 pdo 宝塔面板php_小白入门基础傻瓜式操作PHP面板安装使用_Bt宝塔面板
  3. python编程基础(一):编程思想
  4. MacBook 调度中心设置
  5. 【LeetCode笔记】121. 买卖股票的最佳时机 / 剑指 Offer 63. 股票的最大利润(Java、动态规划)
  6. 快钱接口php,快钱支付接口
  7. 如何解决android studio的模拟器有密码的问题
  8. ajax结合接口 分页插件
  9. 没有业务思维,数据分析只能是一堆废纸
  10. ie下解决PNG图片不透明问题
  11. kafka消息会不会丢失?为什么?看了这个你就清楚了
  12. 基于PHP的学生选课管理系统
  13. 区块链底层架构概览:第一原则框架
  14. layui二级下拉菜单
  15. 「成都站」SOFAStack Erda 邀你聊一聊云原生的基础设施建设
  16. Don't Starve,好脚本,好欢乐
  17. 组合数的几种计算方法
  18. 矩阵论笔记(七)——矩阵的微分和积分
  19. python导入py文件报错
  20. JC-1、python学习笔记

热门文章

  1. Python:OpenCV4识别一个蓝色的圆并估算到相机的距离
  2. .\Fire_FreeRTOS.axf: Error: L6221E: Execution region ER_RO with Execution range [0x00000000,0x000001
  3. 数据库(笔记)——候选码、主码、外码以及关系的完整性
  4. 马尔可夫随机场(Markov Random Field)与马尔可夫链
  5. wps表格户主序号_WPS表格怎么设置自动排列序号?
  6. 使用 Bumblebee 控制 NVIDIA 双显卡(ubuntu13.04-X64)
  7. 远程桌面 CredSSP加密Oracle修正 解决方法
  8. MySql连接数据库
  9. 图论 —— 图的遍历 —— 哈密顿问题
  10. 第一课.极大似然估计与有偏性无偏性