第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 搭建主機(jī)虛擬機(jī)環(huán)境
2.1.1 vMwareWorkstation介紹
2.1.2 安裝vMwareWorkstation虛擬機(jī)軟件
2.1.3 安裝ubuntu操作系統(tǒng)
2.1.4 VMware網(wǎng)絡(luò)配置
2.1.5 vMware與主機(jī)數(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平臺(tái)
2.4.5 通過AndroidSDK.Manager創(chuàng)建模擬器
2.4.6 應(yīng)用程序Framework源碼級(jí)調(diào)試
2.5 定制Android模擬器
2.6 實(shí)訓(xùn):Android4.0開發(fā)環(huán)境搭建及源碼編譯
小結(jié)
習(xí)題
第3章 Android系統(tǒng)的啟動(dòng)
3.1 Androidinit進(jìn)程啟動(dòng)
3.2 Android本地守護(hù)進(jìn)程
3.2.1 ueventd進(jìn)程
3.2.2 adbd進(jìn)程
3.2.3 servicemanager進(jìn)程
3.2.4 vold進(jìn)程
3.2.5 ril—daemon進(jìn)程
3.2.6 Sillfaceflinger進(jìn)程
3.3 zygote守護(hù)進(jìn)程與system—setver進(jìn)程
3.3.1 zygote守護(hù)進(jìn)程的啟動(dòng)
3.3.2 zygoteInit類的功能與system—sei.ver進(jìn)程的創(chuàng)建
3.3.3 system—serve進(jìn)程的運(yùn)行
3.3.4 HOME桌面的啟動(dòng)
3.4 實(shí)訓(xùn):通過Init肌腳本開機(jī)啟動(dòng)Android應(yīng)用程序
小結(jié)
習(xí)題
第4章 Android編譯系統(tǒng)與定制Android平臺(tái)系統(tǒng)
4.1 Andloid編譯系統(tǒng)
4.1.1 Android編譯系統(tǒng)介紹
4.1.2 Android.mk文件
4.2 實(shí)訓(xùn):編譯HelloWorld應(yīng)用程序
4.3 定制Android平臺(tái)系統(tǒng)
4.3.1 添加新產(chǎn)品編譯項(xiàng)
4.3.2 定制產(chǎn)品的意義及定制要點(diǎn)
4.4 實(shí)訓(xùn):定制開機(jī)界面
4.5 實(shí)訓(xùn):定制開機(jī)文字
4.6 實(shí)訓(xùn):定制系統(tǒng)開機(jī)動(dòng)畫
小結(jié)
習(xí)題
第5章 JNI機(jī)制
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對(duì)象
5.5.5 Java數(shù)組在本地代碼中的處理
5.6 局部引用與全局引用
5.6.1 局部引用
5.6.2 全局引用
5.6.3 在Java環(huán)境中保存JNI對(duì)象
5.7 本地方法的注冊(cè)
5.7.1 JNI—OnLoad方法
5.7.2 RegisterNatives方法
5.8 實(shí)訓(xùn):JNI調(diào)用實(shí)訓(xùn)
小結(jié)
習(xí)題
第6章 Android的對(duì)象管理
6.1 智能指針
6.2 輕量級(jí)指針
6.3 RefBase類
6.4 弱引用指針wp
6.5 智能指針的示例
小結(jié)
習(xí)題
第7章 Binder通信
7.1 Android進(jìn)程空間與Binder機(jī)制
7.1.1 Android的Binder機(jī)制
7.1.2 面向?qū)ο蟮模築inderIPC
7.2 Binder框架分析
7.2.1 BindelDriver
7.2.2 OpenBinderDriver
7.2.3 SeiviceManager與實(shí)名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注冊(cè)
8.2.3 HALstub操作
8.3 LedHAL實(shí)例
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 實(shí)訓(xùn):基于Android4.0平板的LED燈控制
小結(jié)
習(xí)題
第9章 HAL硬件抽象層進(jìn)階Sensor HAL實(shí)例
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機(jī)制
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 實(shí)訓(xùn):SensorDemo的編譯
小結(jié)
習(xí)題