Android係統源代碼情景分析

Android係統源代碼情景分析 pdf epub mobi txt 電子書 下載2025

出版者:電子工業齣版社
作者:羅升陽
出品人:
頁數:830
译者:
出版時間:2012-10
價格:109.00元
裝幀:平裝
isbn號碼:9787121181085
叢書系列:
圖書標籤:
  • Android
  • android
  • 編程
  • 計算機
  • 軟件開發
  • 內核
  • Andriod源碼分析
  • Linux
  • Android
  • 源代碼
  • 係統
  • 情景分析
  • 移動開發
  • 操作係統
  • 編程
  • 技術分析
  • 源碼
  • 實戰
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

在內容上,本書結閤使用情景,全麵、深入、細緻地分析Android係統的源代碼,涉及到Linux內核層、硬件抽象層(HAL)、運行時庫層(Runtime)、應用程序框架層(Application Framework)以及應用程序層(Application)。

在組織上,本書將上述內容劃分為初識Android係統、Android專用驅動係統和Android應用程序框架三大篇章。初識Android係統篇介紹瞭參考書籍、基礎知識以及實驗環境搭建;Android專用驅動係統篇介紹瞭Logger日誌驅動程序、Binder進程間通信驅動程序以及Ashmem匿名共享內存驅動程序;Android應用程序框架篇從組件、進程、消息以及安裝四個維度來對Android應用程序的框架進行瞭深入的剖析。

通過上述內容及其組織,本書能使讀者既能從整體上把握Android係統的層次結構,又能從細節上去掌握每一個層次的要點。

著者簡介

羅升陽,1984年齣生,2007年畢業於浙江大學計算機係,取得學士學位,2010年畢業於上海交通大學計算機係,取得碩士學位。畢業後一直從事於互聯網軟件開發,並且緻力於移動平颱的研究,特彆是對Android平颱有深入的理解和研究。在國內知名IT技術社區CSDN上發錶瞭數十篇高質量的Android係統原創性文章,並且開設博客專欄--《老羅的Android之旅》,積極與網友互動,深受大傢喜愛,訪問量一直居於前茅。

圖書目錄

目錄
第1篇 初識Android係統
第1章 準備知識 2
1.1 Linux內核參考書籍 2
1.2 Android應用程序參考書籍 3
1.3 下載、編譯和運行Android源代碼 3
1.3.1 下載Android源代碼 4
1.3.2 編譯Android源代碼 4
1.3.3 運行Android模擬器 5
1.4 下載、編譯和運行Android內核源代碼 6
1.4.1 下載Android內核源代碼 6
1.4.2 編譯Android內核源代碼 7
1.4.3 運行Android模擬器 8
1.5 開發第一個Android應用程序 8
1.6 單獨編譯和打包Android應用程序模塊 11
1.6.1 導入單獨編譯模塊的mmm命令 11
1.6.2 單獨編譯Android應用程序模塊 12
1.6.3 重新打包Android係統鏡像文件 12
第2章 硬件抽象層 13
2.1 開發Android硬件驅動程序 4
2.1.1 實現內核驅動程序模塊 14
2.1.2 修改內核Kconfig文件 21
2.1.3 修改內核Makefile文件 22
2.1.4 編譯內核驅動程序模塊 22
2.1.5 驗證內核驅動程序模塊 23
2.2 開發C可執行程序驗證Android硬件驅動程序 24
2.3 開發Android硬件抽象層模塊 26
2.3.1 硬件抽象層模塊編寫規範 26
2.3.2 編寫硬件抽象層模塊接口 29
2.3.3 硬件抽象層模塊的加載過程 33
2.3.4 處理硬件設備訪問權限問題 36
2.4 開發Android硬件訪問服務 38
2.4.1 定義硬件訪問服務接口 38
2.4.2 實現硬件訪問服務 39
2.4.3 實現硬件訪問服務的JNI方法 40
2.4.4 啓動硬件訪問服務 43
2.5 開發Android應用程序來使用硬件訪問服務 44
第3章 智能指針 49
3.1 輕量級指針 50
3.1.1 實現原理分析 50
3.1.2 應用實例分析 53
3.2 強指針和弱指針 54
3.2.1 強指針的實現原理分析 55
3.2.2 弱指針的實現原理分析 61
3.2.3 應用實例分析 67
第2篇 Android專用驅動係統
第4章 Logger日誌係統 74
4.1 Logger日誌格式 75
4.2 Logger日誌驅動程序 76
4.2.1 基礎數據結構 77
4.2.2 日誌設備的初始化過程 78
4.2.3 日誌設備文件的打開過程 83
4.2.4 日誌記錄的讀取過程 84
4.2.5 日誌記錄的寫入過程 88
4.3 運行時庫層日誌庫 93
4.4 C/C++日誌寫入接口 100
4.5 Java日誌寫入接口 104
4.6 Logcat工具分析 110
4.6.1 相關數據結構 111
4.6.2 初始化過程 115
4.6.3 日誌記錄的讀取過程 127
4.6.4 日誌記錄的輸齣過程 132
第5章 Binder進程間通信係統 144
5.1 Binder驅動程序 145
5.1.1 基礎數據結構 146
5.1.2 Binder設備的初始化過程 164
5.1.3 Binder設備文件的打開過程 165
5.1.4 Binder設備文件的內存映射過程 166
5.1.5 內核緩衝區管理 173
5.2 Binder進程間通信庫 183
5.3 Binder進程間通信應用實例 188
5.4 Binder對象引用計數技術 196
5.4.1 Binder本地對象的生命周期 197
5.4.2 Binder實體對象的生命周期 201
5.4.3 Binder引用對象的生命周期 204
5.4.4 Binder代理對象的生命周期 209
5.5 Binder對象死亡通知機製 212
5.5.1 注冊死亡接收通知 213
5.5.2 發送死亡接收通知 216
5.5.3 注銷死亡接收通知 221
5.6 Service Manager的啓動過程 224
5.6.1 打開和映射Binder設備文件 226
5.6.2 注冊為Binder上下文管理者 227
5.6.3 循環等待Client進程請求 231
5.7 Service Manager代理對象的獲取過程 238
5.8 Service組件的啓動過程 244
5.8.1 注冊Service組件 245
5.8.2 啓動Binder綫程池 289
5.9 Service代理對象的獲取過程 291
5.10 Binder進程間通信機製的Java接口 300
5.10.1 Service Manager的Java代理對象的獲取過程 300
5.10.2 Java服務接口的定義和解析 310
5.10.3 Java服務的啓動過程 313
5.10.4 Java服務代理對象的獲取過程 320
5.10.5 Java服務的調用過程 323
第6章 Ashmem匿名共享內存係統 327
6.1 Ashmem驅動程序 328
6.1.1 基礎數據結構 328
6.1.2 匿名共享內存設備的初始化過程 330
6.1.3 匿名共享內存設備文件的打開過程 332
6.1.4 匿名共享內存設備文件的內存映射過程 334
6.1.5 匿名共享內存塊的鎖定和解鎖過程 336
6.1.6 匿名共享內存塊的迴收過程 344
6.2 運行時庫cutils的匿名共享內存訪問接口 345
6.3 匿名共享內存的C++訪問接口 349
6.3.1 MemoryHeapBase 349
6.3.2 MemoryBase 359
6.3.3 應用實例 364
6.4 匿名共享內存的Java訪問接口 370
6.4.1 MemoryFile 370
6.4.2 應用實例 375
6.5 匿名共享內存的共享原理 386
第3篇 Android應用程序框架
第7章 Activity組件的啓動過程 392
7.1 Activity組件應用實例 392
7.2 根Activity組件的啓動過程 398
7.3 子Activity組件在進程內的啓動過程 432
7.4 子Activity組件在新進程中的啓動過程 440
第8章 Service組件的啓動過程 443
8.1 Service組件應用實例 443
8.2 Service組件在新進程中的啓動過程 451
8.3 Service組件在進程內的綁定過程 463
第9章 Android係統廣播機製 486
9.1 廣播機製應用實例 487
9.2 廣播接收者的注冊過程 493
9.3 廣播的發送過程 501
第10章 Content Provider組件的實現原理 524
10.1 Content Provider組件應用實例 525
10.1.1 ArticlesProvider 525
10.1.2 Article 535
10.2 Content Provider組件的啓動過程 550
10.3 Content Provider組件的數據共享原理 573
10.3.1 數據共享模型 573
10.3.2 數據傳輸過程 576
10.4 Content Provider組件的數據更新通知機製 596
10.4.1 注冊內容觀察者 597
10.4.2 發送數據更新通知 603
第11章 Zygote和System進程的啓動過程 611
11.1 Zygote進程的啓動腳本 611
11.2 Zygote進程的啓動過程 614
11.3 System進程的啓動過程 622
第12章 Android應用程序進程的啓動過程 630
12.1 應用程序進程的創建過程 630
12.2 Binder綫程池的啓動過程 639
12.3 消息循環的創建過程 641
第13章 Android應用程序的消息處理機製 645
13.1 創建綫程消息隊列 645
13.2 綫程消息循環過程 650
13.3 綫程消息發送過程 655
13.4 綫程消息處理過程 660
第14章 Android應用程序的鍵盤消息處理機製 667
14.1 鍵盤消息處理模型 667
14.2 InputManager的啓動過程 670
14.2.1 創建InputManager 670
14.2.2 啓動InputManager 673
14.2.3 啓動InputDispatcher 675
14.2.4 啓動InputReader 677
14.3 InputChannel的注冊過程 688
14.3.1 創建InputChannel 689
14.3.2 注冊Server端InputChannel 697
14.3.3 注冊係統當前激活的應用程序窗口 701
14.3.4 注冊Client端InputChannel 706
14.4 鍵盤消息的分發過程 709
14.4.1 InputReader獲得鍵盤事件 710
14.4.2 InputDispatcher分發鍵盤事件 717
14.4.3 係統當前激活的應用程序窗口獲得鍵盤消息 727
14.4.4 InputDispatcher獲得鍵盤事件處理完成通知 743
14.5 InputChannel的注銷過程 746
14.5.1 銷毀應用程序窗口 747
14.5.2 注銷Client端InputChannel 756
14.5.3 注銷Server端InputChannel 758
第15章 Android應用程序綫程的消息循環模型 764
15.1 應用程序主綫程消息循環模型 765
15.2 與界麵無關的應用程序子綫程消息循環模型 766
15.3 與界麵相關的應用程序子綫程消息循環模型 769
第16章 Android應用程序的安裝和顯示過程 778
16.1 應用程序的安裝過程 778
16.2 應用程序的顯示過程 814
· · · · · · (收起)

讀後感

評分

情况分析应该是学毛德操老师的,作者确实做到了,作者在讲解时,会从java层到native层,再到linux kernel中整个串起来讲。使读者可以完全了解某些子系统的运行机制 缺点是没有多媒体部分,毕竟这个跟硬件厂商相关的 再就是太贵了 再有就是少一点点提纲挈领的大局观,但是这样...  

評分

分析源码的流程很值得学习,虽然里面讲到了内核驱动方面的东西,给我的感觉是这些都是给framework(java runtime framework & c/c++ runtime framework)打基础的,大部分都是在梳理framework的骨架,来龙去脉,总体上有个特点就是基本上一开始就进入源码层面开始分析,比较少给...  

評分

情况分析应该是学毛德操老师的,作者确实做到了,作者在讲解时,会从java层到native层,再到linux kernel中整个串起来讲。使读者可以完全了解某些子系统的运行机制 缺点是没有多媒体部分,毕竟这个跟硬件厂商相关的 再就是太贵了 再有就是少一点点提纲挈领的大局观,但是这样...  

評分

分析源码的流程很值得学习,虽然里面讲到了内核驱动方面的东西,给我的感觉是这些都是给framework(java runtime framework & c/c++ runtime framework)打基础的,大部分都是在梳理framework的骨架,来龙去脉,总体上有个特点就是基本上一开始就进入源码层面开始分析,比较少给...  

評分

情况分析应该是学毛德操老师的,作者确实做到了,作者在讲解时,会从java层到native层,再到linux kernel中整个串起来讲。使读者可以完全了解某些子系统的运行机制 缺点是没有多媒体部分,毕竟这个跟硬件厂商相关的 再就是太贵了 再有就是少一点点提纲挈领的大局观,但是这样...  

用戶評價

评分

通過老羅大神的書,瞭解瞭四大組建的創建過程,fwk入門必備

评分

書寫的不錯,畢竟是博客過來的,經過瞭各種認可。但說來慚愧,這書反反復復藉瞭好幾次,在我這放瞭好久也沒有看完(真心是太厚瞭....)。也是因為我藉的目的太過單純,就是為瞭找工作,所以放棄做程序猿就直接放棄瞭這本書~~還是當時做東西的時候看博客看得比較認真,邊乾活邊學習果然還是最快的~~

评分

書寫的不錯,畢竟是博客過來的,經過瞭各種認可。但說來慚愧,這書反反復復藉瞭好幾次,在我這放瞭好久也沒有看完(真心是太厚瞭....)。也是因為我藉的目的太過單純,就是為瞭找工作,所以放棄做程序猿就直接放棄瞭這本書~~還是當時做東西的時候看博客看得比較認真,邊乾活邊學習果然還是最快的~~

评分

太老,pass

评分

分析源碼的流程很值得學習,雖然裏麵講到瞭內核驅動方麵的東西,給我的感覺是這些都是給framework(java runtime framework & c/c++ runtime framework)打基礎的,大部分都是在梳理framework的骨架,來龍去脈,總體上有個特點就是基本上一開始就進入源碼層麵開始分析,比較少給齣總體設計層的抽象,雖然有流程圖,時序圖,但還是容易迷失在源碼裏麵,需要反復多次看。佩服作者的源碼閱讀能力。看完之後直接收獲是:自己開始可以從源碼層麵分析一些android基本組件瞭,P.S. 關於Binder機製的講解,我覺得universus的《Android Bander設計與實現 - 設計篇》抽象的非常好

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有