最強 Android 書 : 架構大剖析 最强Android书:架构大剖析

Jonathan Levin

  • 出版商: 電子工業出版社
  • 出版日期: 2018-07-01
  • 定價: $474
  • 售價: $474
  • 貴賓價: 9.5$450
  • 語言: 簡體中文
  • 頁數: 360
  • 裝訂: 平裝
  • ISBN: 712131813X
  • ISBN-13: 9787121318139
  • 相關分類: Android

下單後立即進貨 (4週~6週)

買這商品的人也買了...

相關活動主題

20181003 %e7%b0%a1%e9%ab%94%e6%9c%80%e6%96%b0%e5%88%b0%e8%b2%a8 small

商品描述

《最強Android書:架構大剖析》內容提要
《最強Android書:架構大剖析》通過實驗而不是源碼,將Android 系統層層拆解,令讀者深刻透徹地掌握Android 系統的內部技術:以init 進程為切入點詳細闡述了Android 的啟動過程和關鍵服務;從Android 作為資源協調者和服務提供者的角度,重點分析了servicemanager 和system_server 這兩個進程。同時,作者比較了Linux 與Android 系統的區別,並對Android 系統的安全性做了深入的闡述。
《最強Android書:架構大剖析》採用了大量的圖表示例和實驗,表達新穎清晰,讓讀者能直觀地掌握Android 的技術精髓。
《最強Android書:架構大剖析》適合廣大移動開發者及對Android 系統感興趣的人員閱讀。

作者簡介

JonathanLevin是一位經驗豐富的技術培訓師和諮詢師,他的關注點是"三大系統"(Windows、Linux和MacOS)以及它們的移動版本(Android和iOS)原理。15年來,Jonathan堅持傳播內核工程和修改技術的真知灼見,在DefCON會議上發表了很多技術演講。他是Technologeeks.com公司的創始人和首席技術官(CTO)這是由一些志趣相投的專家合夥創辦的公司,致力於通過技術培訓傳播知識,通過諮詢解決棘手的技術難題。他們的專業領域覆蓋軟件架構中的實時及其他關鍵部分、系統/核級編程、調試、逆向工程以及性能優化。

目錄大綱

關於本書XVIII 
第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 
本章討論所涉及的文件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