- Android底層接口與驅動開發技術詳解
- 陳強
- 1984字
- 2019-10-12 15:38:26
前言
Foreword
Android是一款于2007年11月5日宣布基于Linux平臺的開源手機操作系統的名稱,該平臺由操作系統、中間件、用戶界面和應用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。根據國際數據公司(IDC)公布的統計數據,在2013年第一季度,Android和iOS系統裝機量占到所有智能手機出貨量的92.3%。在2014年第一季度,安裝Android系統的新智能手機數量躍升至1.621億部,超過2013年同期的9030萬部。這意味著,在運往世界各地的所有新智能手機中,移動操作系統Android的市場占有率已經達到75%,比2012年第一季度的59.1%有顯著提高。75%,這是一個具有突出性優勢的比重,足以令后面的追趕者汗顏。我們有理由相信,在未來一段時間內,Android依舊牢牢地占據著智能手機操作系統第一的寶座。
市場需求分析
強大的市場占有率造就了更多開發人員關注于這款神奇的系統,同時Android系統的應用者對該系統的功能需求也與日俱增,這也說明應用市場正在渴求著更多的Android開發高手,因此更多稍有基礎的Android開發人員需要不斷掌握更多的Android關鍵技術,提升開發功能。
可以說底層驅動開發是通往Android殿堂級高手的必經之路!為了讓廣大初學者可以對Android系統實現“靈與肉”的感知,而不是停留在原始、抽象的原理和概念之上,本書對Android系統中的底層驅動方面的知識進行了細致的分析,這樣做的目的是“提煉”出Android系統埋藏在深處的本質,了解這款神奇的系統究竟是怎樣誕生的。并依此為基礎,詳細講解了系統移植和驅動開發的基本原理和具體實現。相信閱讀完本書,經“細嚼慢咽”并消化之后,您一定會成為殿堂級的Android高手。
本書的內容
本書內容分為三篇,共計24章,循序漸進地講解了Android系統中底層驅動方面的知識。本書從獲取源碼和源碼結構分析講起,依次講解了Android驅動開發基礎,獲取并編譯Android源碼,Android驅動移植基礎,分析三大內核系統,分析JNI,硬件設備驅動程序,Binder驅動程序,Logger日志驅動,內存系統驅動,分析電源管理模塊,分析低內存管理模塊,分析物理內存驅動,分析Time Device驅動,分析調試機制驅動Ram Console,分析時鐘系統驅動Alarm,分析USB Gadget驅動,FrameBuffer顯示系統驅動,輸入系統驅動應用,音頻系統驅動,視頻輸出系統驅動,振動器系統驅動,傳感器系統驅動,照相機系統,Wi-Fi系統、藍牙系統和GPS系統等高級知識。本書幾乎涵蓋了Android源碼中的所有主要內容,并且全書內容言簡意賅,講解方法通俗易懂,不但適用于應用高手們,也適合初學者學習并消化。
本書的版本
Android系統自2008年9月發布第一個版本1.1以來,截至2014年6月發布新版本Preview L,一共存在十多個版本。由此可見,Android系統升級頻率較快,一年中最少有兩個新版本誕生。如果過于追求新版本,就會造成力不從心的結果。在此建議廣大讀者,不必追求最新的版本,我們只需關注最流行的版本即可。據官方統計,截至2014年3月25日,占據前三位的版本分別是Android 4.3,Android 4.4和Android 4.2,其實這三個版本的區別并不是很大,只是在某個領域的細節上進行了更新。因此,在本書中使用的版本是Android 4.4。
對于Android 4.4來說,對應的Linux內核是3.10,本書將以Linux 3.10和Android 4.4為對象,詳細分析Android平臺中驅動系統的實現和移植。
本書特色
本書內容豐富全面,分析細致。我們的目標是通過一本圖書,提供多本圖書的價值,讀者可以根據自己的需要有選擇地進行閱讀。在內容的編寫上,本書具有以下特色。
(1)結構合理
從用戶的實際需要出發,科學安排知識結構,內容由淺入深,敘述清楚。全書詳細地講解了和Android應用開發有關的源碼,內容循序漸進,由淺入深。
(2)遵循“內核分析—驅動實現—JNI層分析—Java應用層—系統移植”這一主線
為了使廣大讀者徹底弄清楚Android平臺中的各個驅動系統,在講解每一個驅動系統時,都從Linux內核開始講起,依次剖析了驅動層實現、JNI層分析、Java應用和系統移植改造等內容。遵循了從底層到頂層,實現了驅動系統大揭秘的目標。
(3)易學易懂
本書內容條理清晰、語言簡潔,可以幫助讀者快速掌握每個知識點。使讀者既可以按照本書編排的章節順序進行學習,也可以根據自己的需求對某一章節進行有針對性的學習。和傳統難懂的計算機書籍相比,閱讀本書會帶來很大的樂趣。
(4)實用性強
本書徹底摒棄枯燥的理論和簡單的操作,注重實用性和可操作性,通過簡潔的語言和細膩的筆法,詳細講解了各個知識點的基本知識。
(5)內容全面
本書可以號稱“內容非常全面的一本Android驅動開發書”,無論是獲取源碼,還是各個常用、常見的驅動系統,您都能在本書中找到解決問題的答案。
讀者對象
● 初學Android編程的自學者;
● Linux開發人員;
● 大中專院校的老師和學生;
● 畢業設計的學生;
● Android編程愛好者;
● 相關培訓機構的老師和學員;
● 從事Android開發的程序員。
本團隊在編寫過程中,得到了中國鐵道出版社工作人員的大力支持,特別是荊波編輯的大力支持。正是各位編輯的求實、耐心和高效,才能使得本書在這么短的時間內出版。另外,也十分感謝我的家人,在我寫作的時候給予的巨大支持。由于本團隊水平有限,如有紕漏和不盡如人意之處在所難免,誠請讀者提出意見或建議,以便修訂并使之更加完善。
編者
2014年12月
- Cocos2d Cross-Platform Game Development Cookbook(Second Edition)
- Go Web編程
- Arduino by Example
- AngularJS Web Application Development Blueprints
- Android 7編程入門經典:使用Android Studio 2(第4版)
- Scratch 3.0少兒編程與邏輯思維訓練
- JavaScript:Moving to ES2015
- OpenCV 4計算機視覺項目實戰(原書第2版)
- 響應式架構:消息模式Actor實現與Scala、Akka應用集成
- Python爬蟲、數據分析與可視化:工具詳解與案例實戰
- Go語言從入門到精通
- 3ds Max 2018從入門到精通
- SAS編程演義
- Bitcoin Essentials
- Scratch超人漫游記:創意程序設計:STEAM創新教育指南