導航:首頁 > 操作系統 > Android框架揭秘

Android框架揭秘

發布時間:2022-05-05 21:22:15

android框架揭秘的目錄

《android框架揭秘》
第1章android framework概要1
1.1android源代碼組成2
1.2通過啟動過程分析android framework3
第2章搭建android開發環境7
2.1主機環境構成7
2.1.1安裝virtualbox7
2.1.2安裝ubuntu8
2.2搭建android平台編譯環境9
2.2.1編譯工具10
2.2.2安裝repo11
2.2.3下載android源代碼11
2.2.4編譯android源代碼12
2.3搭建android sdk開發環境13
2.3.1下載、安裝eclipse13
2.3.2下載android sdk starter13
2.3.3安裝adt插件14
2.3.4設置android sdk路徑16
2.3.5安裝android sdk16
2.4開發android應用程序18
.2.5應用程序framework源碼級別調試21
2.5.1載入應用程序framework源21
2.5.2調試helloworld framework(源碼級)24
2.6小結27
第3章init進程29
3.1init進程運行過程29
3.2init進程源碼分析31
3.3init.rc腳本文件分析與執行40
3.3.1動作列表(action list)41
3.3.2服務列表(service list)43
3.3.3init.rc文件分析函數44
3.3.4動作列表與服務列表的運行48
3.4創建設備節點文件52
3.4.1創建靜態設備節點52
3.4.2動態設備感知57
3.5進程的終止與再啟動58
3.6屬性服務62
3.6.1屬性初始化63
3.6.2屬性變更請求處理65
3.7小結67
第4章jni與ndk69
4.1android與jni69
4.2jni的基本原理72
4.2.1在java中調用c庫函數72
4.2.2小結83
4.3調用jni函數84
4.3.1調用jni函數的示常式序結構84
4.3.2java層代碼(jnifuncmain.java)85
4.3.3分析jni本地函數代碼87
4.3.4編譯及運行結果101
4.3.5在android中的應用舉例102
4.4在c程序中運行java類102
4.4.1invocation api應用示例103
4.4.2編譯及運行108
4.4.3invocation api在android中的應用舉例:zygote進程110
4.5直接注冊jni本地函數110
4.5.1載入本地庫時,注冊jni本地函數111
4.5.2android中的應用舉例115
4.6使用android ndk開發122
4.6.1安裝android ndk123
4.6.2使用android ndk開發步驟127
4.6.3小結136
第5章zygote137
5.1zygote是什麼137
5.2由app_process運行zygoteinit class142
5.2.1生成appruntime對象143
5.2.2調用appruntime對象144
5.2.3創建dalvik虛擬機145
5.2.4運行zygoteinit類146
5.3zygoteinit類的功能147
5.3.1綁定/dev/socket/zygote套接字149
5.3.2載入應用程序framework中的類與平台資源150
5.3.3運行systemserver155
5.3.4運行新android應用程序158
第6章android服務概要163
6.1示常式序:理解android服務的運行163
6.2android服務的種類166
6.3android應用程序服務168
6.4android系統服務182
6.5運行系統服務185
6.5.1分析媒體伺服器(media server)的運行代碼186
6.5.2分析系統伺服器(system server)的運行代碼188
6.6android service framework、binder driver概要及相關術語192
第7章android binder ipc197
7.1linux內存空間與binder driver197
7.2android binder model199
7.2.1binder ipc數據傳遞201
7.2.2binder ipc數據流202
7.2.3binder協議(binder protocol)204
7.2.4rpc代碼與rpc數據206
7.2.5binder定址(binder addressing)206
7.3android binder driver分析209
7.3.1從進程的角度看服務的使用210
7.3.2從binder driver角度看服務的使用214
7.3.3binder driver函數分析219
7.4context manager251
7.5小結256
第8章android service framework257
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.4binder ipc處理280
8.4本地服務管理器(native service manager)282
8.4.1service manager概要282
8.4.2service manager類284
8.4.3service manager的運行286
8.5編寫本地服務314
8.5.1設計helloworld系統服務314
8.5.2helloworld服務介面315
8.5.3helloworld服務316
8.5.4helloworld服務代理319
8.5.5運行helloworld服務320
8.6小結325
第9章本地系統服務(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.1java服務框架(java service framework)347
10.1.1java服務框架的層次結構348
10.1.2java服務框架中各個類間的相互作用351
10.2運行機制354
10.2.1java服務框架初始化355
10.2.2binder355
10.2.3binderproxy361
10.2.4parcel364
10.3java系統服務的實現367
10.3.1鬧鍾服務(alarm manager service)分析368
10.3.2編寫helloworldservice系統服務372
10.3.3使用helloworldservice系統服務375
10.3.4編譯helloworldservice系統服務378
10.4java service manager380
10.4.1java service manager簡介380
10.4.2binderinternal381
10.4.3java service manager的運行實例383
10.5使用aidl生成服務代理與服務stub389
10.5.1在aidl文件中定義服務介面390
10.5.2使用aidl編譯器,生成服務介面、服務stub以及服務代理391
10.5.3繼承stub類創建服務392
10.5.4服務介面的調用393
10.6小結394
第11章java系統服務運行分析395
11.1activity manager service395
11.2activity manager service創建服務分析397
11.2.1controller activity-調用startservice()方法398
11.2.2activity manager service的startservice()方法的調用過程(使用binder rpc)399
11.2.3activity manager service——運行startservice() stub方法405
11.2.4運行activitythread類的main() 方法409
11.2.5activity manager service——attachapplication() stub方法414
11.3小結421
附錄aidl語法423

閱讀全文

與Android框架揭秘相關的資料

熱點內容
考駕照怎麼找伺服器 瀏覽:882
阿里雲伺服器如何更換地區 瀏覽:970
手機app調音器怎麼調古箏 瀏覽:501
銳起無盤系統在伺服器上需要設置什麼嗎 瀏覽:17
紅旗計程車app怎麼應聘 瀏覽:978
如何編寫linux程序 瀏覽:870
吉利車解壓 瀏覽:248
java輸入流字元串 瀏覽:341
安卓軟體沒網怎麼回事 瀏覽:785
dvd壓縮碟怎麼導出電腦 瀏覽:274
冒險島什麼伺服器好玩 瀏覽:541
如何在伺服器上做性能測試 瀏覽:793
命令序列錯 瀏覽:259
javaif的條件表達式 瀏覽:576
手機app上傳的照片怎麼找 瀏覽:531
雲伺服器面臨哪些威脅 瀏覽:748
c語言各種編譯特點 瀏覽:177
路由器多種加密方法 瀏覽:604
程序員阻止電腦自動彈出定位 瀏覽:168
如何做伺服器服務商 瀏覽:762