第1部分 基礎篇
因為 Android 核心研究必須基於Unix-Like 的主機系統上,常見的有Ubuntu 和 Mac OS X,因此,本篇將介紹Linux的一些基礎知識,以及在Linux上管理原始碼的工具git。
第1章 Linux基礎
第2章 Java基礎
第3章 Android原始碼下載及開發環境設定
第4章 使用git
第2部分 核心篇
Android 核心的核心就是一套 GUI 系統。本篇主要包含視圖的內部工作機制及視圖管理器(Window Manager Service)和 Activity 管理器(Activity Manager Service)的內部工作機制。
第5章 Binder
第6章 Framework概述
第7章 理解Context
第8章 建立視窗的過程
第9章 Framework的啟動過程
第10章 AmS內部原理
第11章 從輸入裝置中取得訊息
第12章 螢幕繪圖基礎
第13章 View工作原理
第14章 WmS工作原理
第3部分 系統篇
核心不等於作業系統,Android 是一個作業系統,因此,除了核心之外,還必須定義一套系統架構,比如應用程式的格式定義,以及應用程式如何被安裝和卸載、輸入法框架等,有時候這部分內容也叫做外殼(Shell)。
第15章 資源存取機制
第16章 套裝程式管理(Package Manager Service)
第17章 輸入法框架
第4部分 編譯篇
Android 相關的原始碼據說超過 1000 萬行,這套原始碼由眾多的子項目組成,因此,聯合編譯這些子專案就是一個複雜的問題。Android原始碼中定義了一套編譯框架,該框架可以方便地編譯不同類型的子項目,比如一個動態連結程式庫項目、Jar 包項目等。瞭解該套編譯架構後,就可以自由地在原始碼中新增需要的子專案,並控制系統中已有子專案的編譯過程。