注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)計算機組織與體系結(jié)構(gòu)Android系統(tǒng)源代碼情景分析(第三版)

Android系統(tǒng)源代碼情景分析(第三版)

Android系統(tǒng)源代碼情景分析(第三版)

定 價:¥129.00

作 者: 羅升陽 著
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: >程序設(shè)計 >計算機/網(wǎng)絡(luò) >移動開發(fā)

ISBN: 9787121325212 出版時間: 2017-09-01 包裝: 平裝
開本: 16開 頁數(shù): 848 字?jǐn)?shù):  

內(nèi)容簡介

  在內(nèi)容上,本書結(jié)合使用情景,全面、深入、細(xì)致地分析Android系統(tǒng)的源代碼,涉及到Linux內(nèi)核層、硬件抽象層(HAL)、運行時庫層(Runtime)、應(yīng)用程序框架層(Application Framework)以及應(yīng)用程序?qū)樱ˋpplication)。在組織上,本書將上述內(nèi)容劃分為初識Android系統(tǒng)、Android專用驅(qū)動系統(tǒng)和Android應(yīng)用程序框架三大篇章。初識Android系統(tǒng)篇介紹了參考書籍、基礎(chǔ)知識以及實驗環(huán)境搭建;Android專用驅(qū)動系統(tǒng)篇介紹了Logger日志驅(qū)動程序、Binder進(jìn)程間通信驅(qū)動程序以及Ashmem匿名共享內(nèi)存驅(qū)動程序;Android應(yīng)用程序框架篇從組件、進(jìn)程、消息以及安裝四個維度來對Android應(yīng)用程序的框架進(jìn)行了深入的剖析。通過上述內(nèi)容及其組織,本書能使讀者既能從整體上把握Android系統(tǒng)的層次結(jié)構(gòu),又能從細(xì)節(jié)上去掌握每一個層次的要點。

作者簡介

  2007年畢業(yè)于浙江大學(xué)計算機系,取得學(xué)士學(xué)位,2010年畢業(yè)于上海交通大學(xué)計算機系,取得碩士學(xué)位。畢業(yè)后一直從事互聯(lián)網(wǎng)軟件開發(fā),并且致力于移動平臺的研究,特別是對Android平臺有深入的理解和研究。在國內(nèi)知名IT技術(shù)社區(qū)CSDN上發(fā)表了數(shù)十篇高質(zhì)量的Android系統(tǒng)原創(chuàng)性文章,并且開設(shè)博客專欄――《老羅的Android之旅》,積極與網(wǎng)友互動,深受大家的喜愛,訪問量一直居于前茅。

圖書目錄

目  錄
第1篇 初識Android系統(tǒng)
第1章 準(zhǔn)備知識2
1.1 Linux內(nèi)核參考書籍2
1.2 Android應(yīng)用程序參考書籍3
1.3 下載、編譯和運行Android源代碼3
1.3.1 下載Android源代碼5
1.3.2 編譯Android源代碼6
1.3.3 運行Android模擬器7
1.4 下載、編譯和運行Android內(nèi)核源代碼8
1.4.1 下載Android內(nèi)核源代碼8
1.4.2 編譯Android內(nèi)核源代碼8
1.4.3 運行Android模擬器9
1.5 開發(fā)第一個Android應(yīng)用程序10
1.6 單獨編譯和打包Android應(yīng)用程序模塊12
1.6.1 導(dǎo)入單獨編譯模塊的mmm命令12
1.6.2 單獨編譯Android應(yīng)用程序模塊13
1.6.3 重新打包Android系統(tǒng)鏡像文件13
1.7 為真機編譯ROM14
1.7.1 下載LineageOS16
1.7.2 下載設(shè)備開源代碼16
1.7.3 下載設(shè)備私有文件17
1.7.4 編譯ROM17
1.7.5 刷入TWRP17
1.7.6 刷入ROM19
第2章 硬件抽象層21
2.1 開發(fā)Android硬件驅(qū)動程序22
2.1.1 實現(xiàn)內(nèi)核驅(qū)動程序模塊22
2.1.2 修改內(nèi)核Kconfig文件29
2.1.3 修改內(nèi)核Makefile文件30
2.1.4 編譯內(nèi)核驅(qū)動程序模塊30
2.1.5 驗證內(nèi)核驅(qū)動程序模塊31
2.2 開發(fā)C可執(zhí)行程序驗證Android硬件驅(qū)動程序32
2.3 開發(fā)Android硬件抽象層模塊34
2.3.1 硬件抽象層模塊編寫規(guī)范34
2.3.2 編寫硬件抽象層模塊接口37
2.3.3 硬件抽象層模塊的加載過程41
2.3.4 處理硬件設(shè)備訪問權(quán)限問題44
2.4 開發(fā)Android硬件訪問服務(wù)46
2.4.1 定義硬件訪問服務(wù)接口46
2.4.2 實現(xiàn)硬件訪問服務(wù)47
2.4.3 實現(xiàn)硬件訪問服務(wù)的JNI方法48
2.4.4 啟動硬件訪問服務(wù)51
2.5 開發(fā)Android應(yīng)用程序來使用硬件訪問服務(wù)52
第3章 智能指針57
3.1 輕量級指針58
3.1.1 實現(xiàn)原理分析58
3.1.2 應(yīng)用實例分析61
3.2 強指針和弱指針62
3.2.1 強指針的實現(xiàn)原理分析63
3.2.2 弱指針的實現(xiàn)原理分析69
3.2.3 應(yīng)用實例分析75
第2篇 Android專用驅(qū)動系統(tǒng)
第4章 Logger日志系統(tǒng)82
4.1 Logger日志格式83
4.2 Logger日志驅(qū)動程序84
4.2.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)85
4.2.2 日志設(shè)備的初始化過程86
4.2.3 日志設(shè)備文件的打開過程91
4.2.4 日志記錄的讀取過程92
4.2.5 日志記錄的寫入過程96
4.3 運行時庫層日志庫101
4.4 C/C++日志寫入接口108
4.5 Java日志寫入接口112
4.6 Logcat工具分析118
4.6.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)119
4.6.2 初始化過程123
4.6.3 日志記錄的讀取過程135
4.6.4 日志記錄的輸出過程140
第5章 Binder進(jìn)程間通信系統(tǒng)152
5.1 Binder驅(qū)動程序153
5.1.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)154
5.1.2 Binder設(shè)備的初始化過程172
5.1.3 Binder設(shè)備文件的打開過程173
5.1.4 Binder設(shè)備文件的內(nèi)存映射過程174
5.1.5 內(nèi)核緩沖區(qū)管理181
5.2 Binder進(jìn)程間通信庫191
5.3 Binder進(jìn)程間通信應(yīng)用實例196
5.4 Binder對象引用計數(shù)技術(shù)204
5.4.1 Binder本地對象的生命周期205
5.4.2 Binder實體對象的生命周期209
5.4.3 Binder引用對象的生命周期212
5.4.4 Binder代理對象的生命周期217
5.5 Binder對象死亡通知機制220
5.5.1 注冊死亡接收通知221
5.5.2 發(fā)送死亡接收通知224
5.5.3 注銷死亡接收通知229
5.6 Service Manager的啟動過程232
5.6.1 打開和映射Binder設(shè)備文件234
5.6.2 注冊為Binder上下文管理者235
5.6.3 循環(huán)等待Client進(jìn)程請求239
5.7 Service Manager代理對象的獲取過程246
5.8 Service組件的啟動過程252
5.8.1 注冊Service組件253
5.8.2 啟動Binder線程池297
5.9 Service代理對象的獲取過程299
5.10 Binder進(jìn)程間通信機制的Java接口308
5.10.1 Service Manager的Java代理對象的獲取過程308
5.10.2 Java服務(wù)接口的定義和解析318
5.10.3 Java服務(wù)的啟動過程321
5.10.4 Java服務(wù)代理對象的獲取過程328
5.10.5 Java服務(wù)的調(diào)用過程331
第6章 Ashmem匿名共享內(nèi)存系統(tǒng)335
6.1 Ashmem驅(qū)動程序336
6.1.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)336
6.1.2 匿名共享內(nèi)存設(shè)備的初始化過程338
6.1.3 匿名共享內(nèi)存設(shè)備文件的打開過程340
6.1.4 匿名共享內(nèi)存設(shè)備文件的內(nèi)存映射過程342
6.1.5 匿名共享內(nèi)存塊的鎖定和解鎖過程344
6.1.6 匿名共享內(nèi)存塊的回收過程352
6.2 運行時庫cutils的匿名共享內(nèi)存訪問接口353
6.3 匿名共享內(nèi)存的C++訪問接口357
6.3.1 MemoryHeapBase357
6.3.2 MemoryBase367
6.3.3 應(yīng)用實例372
6.4 匿名共享內(nèi)存的Java訪問接口378
6.4.1 MemoryFile378
6.4.2 應(yīng)用實例383
6.5 匿名共享內(nèi)存的共享原理394
第3篇 Android應(yīng)用程序框架
第7章 Activity組件的啟動過程400
7.1 Activity組件應(yīng)用實例400
7.2 根Activity組件的啟動過程406
7.3 子Activity組件在進(jìn)程內(nèi)的啟動過程440
7.4 子Activity組件在新進(jìn)程中的啟動過程448
第8章 Service組件的啟動過程451
8.1 Service組件應(yīng)用實例451
8.2 Service組件在新進(jìn)程中的啟動過程459
8.3 Service組件在進(jìn)程內(nèi)的綁定過程471
第9章 Android系統(tǒng)廣播機制494
9.1 廣播機制應(yīng)用實例495
9.2 廣播接收者的注冊過程501
9.3 廣播的發(fā)送過程509
第10章 Content Provider組件的實現(xiàn)原理532
10.1 Content Provider組件應(yīng)用實例533
10.1.1 ArticlesProvider533
10.1.2 Article543
10.2 Content Provider組件的啟動過程558
10.3 Content Provider組件的數(shù)據(jù)共享原理581
10.3.1 數(shù)據(jù)共享模型581
10.3.2 數(shù)據(jù)傳輸過程584
10.4 Content Provider組件的數(shù)據(jù)更新通知機制604
10.4.1 注冊內(nèi)容觀察者605
10.4.2 發(fā)送數(shù)據(jù)更新通知611
第11章 Zygote和System進(jìn)程的啟動過程619
11.1 Zygote進(jìn)程的啟動腳本619
11.2 Zygote進(jìn)程的啟動過程622
11.3 System進(jìn)程的啟動過程630
第12章 Android應(yīng)用程序進(jìn)程的啟動過程638
12.1 應(yīng)用程序進(jìn)程的創(chuàng)建過程638
12.2 Binder線程池的啟動過程647
12.3 消息循環(huán)的創(chuàng)建過程649
第13章 Android應(yīng)用程序的消息處理機制653
13.1 創(chuàng)建線程消息隊列653
13.2 線程消息循環(huán)過程658
13.3 線程消息發(fā)送過程663
13.4 線程消息處理過程668
第14章 Android應(yīng)用程序的鍵盤消息處理機制675
14.1 鍵盤消息處理模型675
14.2 InputManager的啟動過程678
14.2.1 創(chuàng)建InputManager678
14.2.2 啟動InputManager681
14.2.3 啟動InputDispatcher683
14.2.4 啟動InputReader685
14.3 InputChannel的注冊過程696
14.3.1 創(chuàng)建InputChannel697
14.3.2 注冊Server端InputChannel705
14.3.3 注冊系統(tǒng)當(dāng)前激活的應(yīng)用程序窗口709
14.3.4 注冊Client端InputChannel714
14.4 鍵盤消息的分發(fā)過程717
14.4.1 InputReader獲得鍵盤事件718
14.4.2 InputDispatcher分發(fā)鍵盤事件725
14.4.3 系統(tǒng)當(dāng)前激活的應(yīng)用程序窗口獲得鍵盤消息735
14.4.4 InputDispatcher獲得鍵盤事件處理完成通知751
14.5 InputChannel的注銷過程754
14.5.1 銷毀應(yīng)用程序窗口755
14.5.2 注銷Client端InputChannel764
14.5.3 注銷Server端InputChannel766
第15章 Android應(yīng)用程序線程的消息循環(huán)模型772
15.1 應(yīng)用程序主線程消息循環(huán)模型773
15.2 與界面無關(guān)的應(yīng)用程序子線程消息循環(huán)模型774
15.3 與界面相關(guān)的應(yīng)用程序子線程消息循環(huán)模型777
第16章 Android應(yīng)用程序的安裝和顯示過程786
16.1 應(yīng)用程序的安裝過程 786
16.2 應(yīng)用程序的顯示過程822

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號