最強Android書
作 者: (美)喬納森·列維(Jonathan Levin) 著;崔孝晨 譯 著作
定 價: 89
出?版?社: 電子工業出版社
出版日期: 2018年07月01日
頁 數: 336
裝 幀: 平裝
ISBN: 9787121318139
●關於本書 XVIII
章 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
本章討論所涉及的文件 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 204
gatekeeper(Android M) 207
sdcard 208
Zygote 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的內部工作機制整理成了文檔,揭示了Android中各種組件的執行邏輯和工作流程。本書通過實驗而不是源碼,將Android繫統層層拆解,令讀者深刻透徹地掌握Android繫統的內部技術:以init進程為切入點詳細闡述了Android的啟動過程和關鍵服務;從Android作為資源協調者和服務提供者的角度,重點分析了servicemanager 和system_server 這兩個進程。同時,作者比較了Linux與Android繫統的區別,並對Android繫統的安全性做了深入的闡述。本書采用了大量的圖表示例和實驗,表達新穎清晰,讓讀者能直觀地掌握Android 的技術精髓。本書適合廣大移動開發者及對Android繫統感興趣的人員閱讀。
(美)喬納森·列維(Jonathan Levin) 著;崔孝晨 譯 著作
喬納森·列維(Jonathan Levin)是一位經驗豐富的技術培訓師和咨詢師,他的關注點是"三大繫統"(Windows、Linux和MacOS)以及它們的移動版本(Android和iOS)原理。15年來,Jonathan堅持傳播內核工程和修改技術的真知灼見,在DefCON會議上發表了很多技術演講。他是Technologeeks.com公司的創始人和首席技術官(CTO)這是由一些志趣相投的專家合伙創辦的公司,致力於通過技術培訓傳播知識,通過咨詢解決棘手的技術難題。他們的專業領域覆蓋軟件架構中的實時及其他關鍵部分、繫統/核級編程、調試、逆向工程以及性能優化。
崔孝晨,教師,專注於信息......
"