第1章 概述
1.1 Android操作系統(tǒng)介紹
1.2 Android軟件架構(gòu)介紹
1.3 Android子系統(tǒng)介紹
1.4 Android應(yīng)用程序開發(fā)過程
小結(jié)
習(xí)題
第2章 Android源碼開發(fā)環(huán)境搭建
2.1 搭建主機虛擬機環(huán)境
2.1.1 vMwareWorkstation介紹
2.1.2 安裝vMwareWorkstation虛擬機軟件
2.1.3 安裝ubuntu操作系統(tǒng)
2.1.4 VMware網(wǎng)絡(luò)配置
2.1.5 vMware與主機數(shù)據(jù)共享
2.1.6 VMware添加新硬件
2.2 搭建Linux編譯環(huán)境
2.2.1 建立ubuntu編譯環(huán)境
2.2.2 JDK安裝
2.2.3 安裝Android編譯工具
2.2.4 下載Android源碼
2.2.5 下載Linux內(nèi)核源碼
2.3 編譯Android源碼
2.3.1 Android源碼目錄結(jié)構(gòu)
2.3.2 編譯Android
2.3.3 編譯nux內(nèi)核
2.4 搭建AndroidSDK開發(fā)環(huán)境
2.4.1 下載、安裝Eclipse
2.4.2 安裝ADT插件
2.4.3 下載、配置AndroidSDK工具包
2.4.4 下載AndroidSDK平臺
2.4.5 通過AndroidSDK.Manager創(chuàng)建模擬器
2.4.6 應(yīng)用程序Framework源碼級調(diào)試
2.5 定制Android模擬器
2.6 實訓(xùn):Android4.0開發(fā)環(huán)境搭建及源碼編譯
小結(jié)
習(xí)題
第3章 Android系統(tǒng)的啟動
3.1 Androidinit進程啟動
3.2 Android本地守護進程
3.2.1 ueventd進程
3.2.2 adbd進程
3.2.3 servicemanager進程
3.2.4 vold進程
3.2.5 ril—daemon進程
3.2.6 Sillfaceflinger進程
3.3 zygote守護進程與system—setver進程
3.3.1 zygote守護進程的啟動
3.3.2 zygoteInit類的功能與system—sei.ver進程的創(chuàng)建
3.3.3 system—serve進程的運行
3.3.4 HOME桌面的啟動
3.4 實訓(xùn):通過Init肌腳本開機啟動Android應(yīng)用程序
小結(jié)
習(xí)題
第4章 Android編譯系統(tǒng)與定制Android平臺系統(tǒng)
4.1 Andloid編譯系統(tǒng)
4.1.1 Android編譯系統(tǒng)介紹
4.1.2 Android.mk文件
4.2 實訓(xùn):編譯HelloWorld應(yīng)用程序
4.3 定制Android平臺系統(tǒng)
4.3.1 添加新產(chǎn)品編譯項
4.3.2 定制產(chǎn)品的意義及定制要點
4.4 實訓(xùn):定制開機界面
4.5 實訓(xùn):定制開機文字
4.6 實訓(xùn):定制系統(tǒng)開機動畫
小結(jié)
習(xí)題
第5章 JNI機制
5.1 JM概述
5.2 JNI原理
5.3 JNI中的數(shù)據(jù)傳遞
5.3.1 JNI基本類型
5.3.2 JNI引用類型
5.4.Java訪問本地方法
5.5 JNI訪問Java成員
5.5.1 取得Java屬性ID和方法ID
5.5.2 JNI類型簽名
5.5.3 JNI操作Java屬性和方法
5.5.4 在本地代碼中創(chuàng)建Java對象
5.5.5 Java數(shù)組在本地代碼中的處理
5.6 局部引用與全局引用
5.6.1 局部引用
5.6.2 全局引用
5.6.3 在Java環(huán)境中保存JNI對象
5.7 本地方法的注冊
5.7.1 JNI—OnLoad方法
5.7.2 RegisterNatives方法
5.8 實訓(xùn):JNI調(diào)用實訓(xùn)
小結(jié)
習(xí)題
第6章 Android的對象管理
6.1 智能指針
6.2 輕量級指針
6.3 RefBase類
6.4 弱引用指針wp
6.5 智能指針的示例
小結(jié)
習(xí)題
第7章 Binder通信
7.1 Android進程空間與Binder機制
7.1.1 Android的Binder機制
7.1.2 面向?qū)ο蟮模築inderIPC
7.2 Binder框架分析
7.2.1 BindelDriver
7.2.2 OpenBinderDriver
7.2.3 SeiviceManager與實名Binder
7.3 AndroidBinder協(xié)議
7.3.1 BINDER—wRITE—READ之寫操作
7.3.2 BINDER—wRITE—READ之從Binder.讀出數(shù)據(jù)
7.3.3 structbinder—transaction—data收發(fā)數(shù)據(jù)包結(jié)構(gòu)
小結(jié)
習(xí)題
第8章 Android HAL硬件抽象層
8.1 AndroidHAL介紹
8.1.1 HAL存在的原因
8.1.2 Module架構(gòu)
8.1.3 新的HAL架構(gòu)
8.2 HALStub構(gòu)架
8.2.1 HALStub框架分析
8.2.2 HALStub注冊
8.2.3 HALstub操作
8.3 LedHAL實例
8.3.1 LedHAL框架
8.3.2 LEDHAL代碼架構(gòu)
8.3.3 LEDDemo代碼分析
8.3.4 LedService代碼分析
8.3.5 Led本地服務(wù)代碼分析
8.3.6 L,EDHAL深入理解
8.4 實訓(xùn):基于Android4.0平板的LED燈控制
小結(jié)
習(xí)題
第9章 HAL硬件抽象層進階Sensor HAL實例
9.1 AndroidSensor架構(gòu)
9.1.1 AndroidSensor框架
9.1.2 AndroidSensor工作流程
9.2 SensorHAL應(yīng)用程序
9.2.1 SensorHAL應(yīng)用程序
9.2.2 AndroidManager機制
9.2.3 獲得Sensor系統(tǒng)服務(wù)
9.3 SensorManager
9.3.1 本地SensorManagm.創(chuàng)建
9.3.2 獲得SensorSmvice服務(wù)
9.3.3 獲得SensorService監(jiān)聽及事件捕獲
9.3.4 本地封裝類Sensm—Device
9.4 SensorHAL回顧
9.5 實訓(xùn):SensorDemo的編譯
小結(jié)
習(xí)題