《Android框架揭秘》電子書[PDF]
本文關鍵詞:Android框架揭秘,由筆耕文化傳播整理發(fā)布。
簡介:
目錄:
第1章 android framework概要 1
1.1 android源代碼組成 2
1.2 通過啟動過程分析android framework 3
第2章 搭建android開發(fā)環(huán)境 7
2.1 主機環(huán)境構成 7
2.1.1 安裝virtualbox 7
2.1.2 安裝ubuntu 8
2.2 搭建android平臺編譯環(huán)境 9
2.2.1 編譯工具 10
2.2.2 安裝repo 11
2.2.3 下載android源代碼 11
2.2.4 編譯android源代碼 12
2.3 搭建android sdk開發(fā)環(huán)境 13
2.3.1 下載、安裝eclipse 13
2.3.2 下載android sdk starter 13
2.3.3 安裝adt插件 14
2.3.4 設置android sdk路徑 16
2.3.5 安裝android sdk 16
2.4 開發(fā)android應用程序 18
.2.5 應用程序framework源碼級別調試 21
2.5.1 加載應用程序framework源 21
2.5.2 調試helloworld framework(源碼級) 24
2.6 小結 27
第3章 init進程 29
3.1 init進程運行過程 29
3.2 init進程源碼分析 31
3.3 init.rc腳本文件分析與執(zhí)行 40
3.3.1 動作列表(action list) 41
3.3.2 服務列表(service list) 43
3.3.3 init.rc文件分析函數(shù) 44
3.3.4 動作列表與服務列表的運行 48
3.4 創(chuàng)建設備節(jié)點文件 52
3.4.1 創(chuàng)建靜態(tài)設備節(jié)點 52
3.4.2 動態(tài)設備感知 57
3.5 進程的終止與再啟動 58
3.6 屬性服務 62
3.6.1 屬性初始化 63
3.6.2 屬性變更請求處理 65
3.7 小結 67
第4章 jni與ndk 69
4.1 android與jni 69
4.2 jni的基本原理 72
4.2.1 在java中調用c庫函數(shù) 72
4.2.2 小結 83
4.3 調用jni函數(shù) 84
4.3.1 調用jni函數(shù)的示例程序結構 84
4.3.2 java層代碼(jnifuncmain.java) 85
4.3.3 分析jni本地函數(shù)代碼 87
4.3.4 編譯及運行結果 101
4.3.5 在android中的應用舉例 102
4.4 在c程序中運行java類 102
4.4.1 invocation api應用示例 103
4.4.2 編譯及運行 108
4.4.3 invocation api在android中的應用舉例:zygote進程 110
4.5 直接注冊jni本地函數(shù) 110
4.5.1 加載本地庫時,注冊jni本地函數(shù) 111
4.5.2 android中的應用舉例 115
4.6 使用android ndk開發(fā) 122
4.6.1 安裝android ndk 123
4.6.2 使用android ndk開發(fā)步驟 127
4.6.3 小結 136
第5章 zygote 137
5.1 zygote是什么 137
5.2 由app_process運行zygoteinit class 142
5.2.1 生成appruntime對象 143
5.2.2 調用appruntime對象 144
5.2.3 創(chuàng)建dalvik虛擬機 145
5.2.4 運行zygoteinit類 146
5.3 zygoteinit類的功能 147
5.3.1 綁定/dev/socket/zygote套接字 149
5.3.2 加載應用程序framework中的類與平臺資源 150
5.3.3 運行systemserver 155
5.3.4 運行新android應用程序 158
第6章 android服務概要 163
6.1 示例程序:理解android服務的運行 163
6.2 android服務的種類 166
6.3 android應用程序服務 168
6.4 android系統(tǒng)服務 182
6.5 運行系統(tǒng)服務 185
6.5.1 分析媒體服務器(media server)的運行代碼 186
6.5.2 分析系統(tǒng)服務器(system server)的運行代碼 188
6.6 android service framework、binder driver概要及相關術語 192
第7章 android binder ipc 197
7.1 linux內存空間與binder driver 197
7.2 android binder model 199
7.2.1 binder ipc數(shù)據(jù)傳遞 201
7.2.2 binder ipc數(shù)據(jù)流 202
7.2.3 binder協(xié)議(binder protocol) 204
7.2.4 rpc代碼與rpc數(shù)據(jù) 206
7.2.5 binder尋址(binder addressing) 206
7.3 android binder driver分析 209
7.3.1 從進程的角度看服務的使用 210
7.3.2 從binder driver角度看服務的使用 214
7.3.3 binder driver函數(shù)分析 219
7.4 context manager 251
7.5 小結 256
第8章 android service framework 257
8.1 服務框架(service framework) 257
8.2 服務框架(service framework)的構成 259
8.2.1 各層構成元素的配置 260
8.2.2 各層構成元素間的相互作用 261
8.2.3 類的結構 264
8.3 運行機制 266
8.3.1 服務接口 267
8.3.2 服務 273
8.3.3 服務代理(service proxy) 276
8.3.4 binder ipc處理 280
8.4 本地服務管理器(native service manager) 282
8.4.1 service manager概要 282
8.4.2 service manager類 284
8.4.3 service manager的運行 286
8.5 編寫本地服務 314
8.5.1 設計helloworld系統(tǒng)服務 314
8.5.2 helloworld服務接口 315
8.5.3 helloworld服務 316
8.5.4 helloworld服務代理 319
8.5.5 運行helloworld服務 320
8.6 小結 325
第9章 本地系統(tǒng)服務(native system service)分析 327
9.1 相機服務(cameral service) 327
9.2 相機應用程序 328
9.3 相機服務框架(camera service framework) 331
9.3.1 相機服務框架層次結構 331
9.3.2 相機服務框架類 333
9.4 相機服務框架的運行 334
9.4.1 初始化相機服務 334
9.4.2 連接相機服務 335
9.4.3 相機服務連接過程分析 337
9.4.4 相機設置與控制 340
9.4.5 相機設置與控制分析 341
9.4.6 相機事件處理 342
9.4.7 相機事件處理分析 343
9.5 小結 345
第10章 java服務框架(java service framework) 347
10.1 java服務框架(java service framework) 347
10.1.1 java服務框架的層次結構 348
10.1.2 java服務框架中各個類間的相互作用 351
10.2 運行機制 354
10.2.1 java服務框架初始化 355
10.2.2 binder 355
10.2.3 binderproxy 361
10.2.4 parcel 364
10.3 java系統(tǒng)服務的實現(xiàn) 367
10.3.1 鬧鐘服務(alarm manager service)分析 368
10.3.2 編寫helloworldservice系統(tǒng)服務 372
10.3.3 使用helloworldservice系統(tǒng)服務 375
10.3.4 編譯helloworldservice系統(tǒng)服務 378
10.4 java service manager 380
10.4.1 java service manager簡介 380
10.4.2 binderinternal 381
10.4.3 java service manager的運行實例 383
10.5 使用aidl生成服務代理與服務stub 389
10.5.1 在aidl文件中定義服務接口 390
10.5.2 使用aidl編譯器,生成服務接口、服務stub以及服務代理 391
10.5.3 繼承stub類創(chuàng)建服務 392
10.5.4 服務接口的調用 393
10.6 小結 394
第11章 java系統(tǒng)服務運行分析 395
11.1 activity manager service 395
11.2 activity manager service創(chuàng)建服務分析 397
11.2.1 controller activity-調用startservice()方法 398
11.2.2 activity manager service的startservice()方法的調用過程(使用binder rpc) 399
11.2.3 activity manager service——運行startservice() stub方法 405
11.2.4 運行activitythread類的main() 方法 409
11.2.5 activity manager service——attachapplication() stub方法 414
11.3 小結 421
附錄 aidl語法 423
電子書鏈接
內容介紹:
《Android框架揭秘》通過對android系統(tǒng)源代碼的分析,主要介紹android框架的初始化過程及主要組件的工作原理。作者直接分析和整理了android框架的主要源代碼,,并詳細講解了理解框架工作原理所需的各種基礎知識和構成實際android平臺骨干的服務框架。其中的主要內容包括:通過啟動程序了解android框架的概要,移植android以及如何開發(fā)適合各種機器的應用程序,分析android框架所需的基礎知識,jni(java native interface)與binder基礎知識,zygote、service manager、service server等android核心組件,android服務框架的結構與理解,通過camera service、activity manager service等服務分析實際的android服務等。
《Android框架揭秘》不僅可以供具備一定開發(fā)經驗的android開發(fā)人員參考閱讀,也可作為android開發(fā)初學者的android框架入門教材使用。
內容截圖:
本文關鍵詞:Android框架揭秘,由筆耕文化傳播整理發(fā)布。
本文編號:271320
本文鏈接:http://www.sikaile.net/wenshubaike/mishujinen/271320.html