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