搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
最强Android书:架构大剖析:the power user's view
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121318139
  • 作      者:
    (美)Jonathan Levin著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2018
收藏
编辑推荐

本书作者以研究操作系统并从事相关培训工作为生,是业内著名的操作系统专家、极客、果粉……著有多本操作系统的畅销书。本书是他针对Android系统写的第本书。根据以往读者的反馈,在本书的内容上摒弃了以源代码讲解的方式,而改用实验的方法,直接拉低了学习的门槛——读者无须费力也可根据实验轻松地理解掌握Android内部技术的精髓!如业内众大咖所说:本书是目前了流的Android书,也是学习Android内部技术的优选!

本书被美国中情局,国内部分手机厂商作为内部员工学习教材。

 

写作特色

√  抛弃传统以源代码讲解的形式,直接从实验入手,读者无须了解代码也能深入掌握Android技术精髓

√  各章节相对独立,可以跳跃式阅读

√  大量使用图表、图片,直观易懂

√  作者有多年培训经验,针对读者的痛点下工夫,思路清晰、表述到位


展开
作者简介

JonathanLevin是一位经验丰富的技术培训师和咨询师,他的关注点是"三大系统"(Windows、Linux和MacOS)以及它们的移动版本(Android和iOS)原理。15年来,Jonathan坚持传播内核工程和修改技术的真知灼见,在DefCON会议上发表了很多技术演讲。他是Technologeeks.com公司的创始人和首席技术官(CTO)这是由一些志趣相投的专家合伙创办的公司,致力于通过技术培训传播知识,通过咨询解决棘手的技术难题。他们的专业领域覆盖软件架构中的实时及其他关键部分、系统/核级编程、调试、逆向工程以及性能优化。

译者简介

崔孝晨,教师,专注于信息安全领域,研究深入。翻译出版了多部著作,包括《黑客大追踪》、《Android安全攻防实战》,并致力于推动安全技术的发展。


展开
内容介绍

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

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

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


展开
精彩书评

这本书的确是目前一流的Android 书。

——wushi(吴石),腾讯科恩实验室负责人

 

一本对Android 底层架构全面、深入剖析的书,结合Linux 有针对性地帮助读者从整体上把握Android 架构的整体知识,并对每个模块都做了十分详尽的解读,帮助读者从细节上掌握每一个模块的要点。

——张鸿洋

 

也许你是刚入行的 Android 菜鸟,也许你已经是有丰富经验的 Android 高工,但是每个Android 开发者都应该阅读一下这本书,它会让你了解真正的 Android,让你对 Android 底层系统有一个全新的认识。

——Stormzhang,公众号: stormzhang

 

作者用“上帝”的视角,向我们展示了一个Android 系统的设计与架构,庖丁解牛般地让读者无须接触大量源代码就能了解整个系统的实现思想,而这是比源代码更加重要的东西。相信读者们在这本书的指引下一定会对Android 系统有更加深入的理解和认识。

——徐宜生,《Android 群英传》作者

 

这本书很适合用来学习、研究Android 的系统架构。书中对比了Android 与Linux 系统,涵盖了文件系统,框架服务架构和安全等各个方面,为我们展现了具体且全面的Android 系统的内部细节。此外,作者条理清晰,擅于将复杂的事情讲得简单透彻,显然造诣相当深厚。

——段建华,技术小黑屋(droidyue.com)博主,公众号:droidyue_com

展开
目录

关于本书  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

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证