完全立足於Android系統原始碼,深入解析Android核心的架構設計與實作原理
徹底分析Android核心層、硬體抽象層以及系統執行階段程式庫層各個功能模組的底層機制
「如果你是一位資深的Android應用程式開發工程師,或者是一位Android系統開發工程師,或者是一位Android移植工程師,再或者是一位Android應用程式架構師,本書對你來說都將非常有價值。它對Android系統的Linux核心層、硬體抽象層和系統執行階段程式庫層的各個模組都進行了細緻入微的分析,足以幫你解決平時開發過程中會遇到的與系統底層相關的難題。極力推薦!」
——Andriod開發者社群
Android已從最初的智慧型手機領域,拓展至智慧型電視、平板電腦、小筆電、MP3、MP4、智慧型相機等;在不久的未來,將會有更多採用Android系統的高科技產品進入我們的生活。這些設備將產生各式各樣的應用程式需求,尤其是與Android系統底層相關的應用程式,這將給開發者帶來大量的機會,尤其是系統層級應用程式的開發工程師。
Android基於Linux核心,但並不是標準的Linux。因為Google為了讓Android更適合行動手持設備,對Linux核心進行了各種最佳化和增強,這些增強部分正是從事Android系統開發的嵌入式系統工程師需要瞭解的內容。Android的原始碼不僅複雜,而且程式碼數量龐大,各模組之間聯繫緊密,這讓大多數Android應用程式開發者不知從何處著手。本書針對Android核心架構和實作原理進行分析,作者以自身的實戰經驗進行總結和整理,希望能夠幫助眾多Android應用程式開發者更快、更深入地理解Android各個部分的具體實作,進而為開發各種系統層級的應用程式做好準備。
Android的五層架構可以分為兩個部分,即系統和應用程式。本書主要分析Android系統部分的實作,包括下面三層:Linux核心層、硬體抽象層、系統執行階段程式庫層;其餘的上面兩層(包括應用程式框架層和應用程式層)則不在本書的範疇。主要分析Android系統底層的架構與實作原理,從原始碼的取得和系統開發環境的建立,到Android Kernel的核心實作,再到硬體抽象層和Android執行階段程式庫等各個模組的細部實作,讓讀者可以從更深的層次去理解Android的系統架構,並對Android系統進行移植和二次開發。
本書適合對Linux核心有一定的瞭解的讀者。
目錄
前言
第1章 準備工作
第2章 剖析Android核心機制和結構
第3章 Android的IPC機制—Binder
第4章 電源管理
第5章 驅動程式的工作原理及實作機制
第6章 原生程式庫的原理及實作
第7章 硬體抽象層的原理與實作
第8章 Dalvik虛擬機器的架構、原理與實作
第9章 Android核心程式庫
前言
第1章 準備工作
第2章 剖析Android核心機制和結構
第3章 Android的IPC機制—Binder
第4章 電源管理
第5章 驅動程式的工作原理及實作機制
第6章 原生程式庫的原理及實作
第7章 硬體抽象層的原理與實作
第8章 Dalvik虛擬機器的架構、原理與實作
第9章 Android核心程式庫