出版時(shí)間:2012-4 出版社:人民郵電出版社 作者:[韓]金泰延,宋亨周,樸知?jiǎng)?李白,林起永 頁(yè)數(shù):424
Tag標(biāo)簽:無(wú)
內(nèi)容概要
《Android框架揭秘》通過(guò)對(duì)Android系統(tǒng)源代碼的分析,主要介紹Android框架的初始化過(guò)程及主要組件的工作原理。作者直接分析和整理了Android框架的主要源代碼,并詳細(xì)講解了理解框架工作原理所需的各種基礎(chǔ)知識(shí)和構(gòu)成實(shí)際Android平臺(tái)骨干的服務(wù)框架。其中的主要內(nèi)容包括:通過(guò)啟動(dòng)程序了解Android框架的概要,移植Android以及如何開(kāi)發(fā)適合各種機(jī)器的應(yīng)用程序,分析Android框架所需的基礎(chǔ)知識(shí),JNI(Java
Native Interface)與Binder基礎(chǔ)知識(shí),Zygote、Service Manager、Service
Server等Android核心組件,Android服務(wù)框架的結(jié)構(gòu)與理解,通過(guò)Camera Service、Activity
Manager Service等服務(wù)分析實(shí)際的Android服務(wù)等。
《Android框架揭秘》不僅可以供具備一定開(kāi)發(fā)經(jīng)驗(yàn)的Android開(kāi)發(fā)人員參考閱讀,也可作為Android開(kāi)發(fā)初學(xué)者的Android框架入門教材使用。
作者簡(jiǎn)介
金泰延
畢業(yè)于釜山大學(xué)計(jì)算機(jī)系軟件設(shè)計(jì)專業(yè),曾參與醫(yī)院ERP系統(tǒng)開(kāi)發(fā)及Android手機(jī)開(kāi)發(fā)等項(xiàng)目,現(xiàn)為釜山Android平臺(tái)學(xué)習(xí)帶頭人,經(jīng)常在AndroidPub等研究學(xué)習(xí)空間中活動(dòng),熱衷于大容量數(shù)據(jù)庫(kù)與面向?qū)ο笙到y(tǒng)的研究。
宋亨周
畢業(yè)于KAIST大學(xué),獲得傳感網(wǎng)平臺(tái)專業(yè)碩士學(xué)位,長(zhǎng)期從事Android等軟件平臺(tái)結(jié)構(gòu)與運(yùn)行原理的研究工作,擁有多年移動(dòng)通信、Mobile
Widget開(kāi)發(fā)經(jīng)驗(yàn),目前從事HTML5網(wǎng)頁(yè)平臺(tái)開(kāi)發(fā)。
樸知?jiǎng)?br />畢業(yè)于慶星大學(xué)計(jì)算機(jī)科學(xué)系,求學(xué)期間曾參與過(guò)三星軟件嵌入式Linux開(kāi)發(fā)項(xiàng)目,目前在一家半導(dǎo)體企業(yè)內(nèi)負(fù)責(zé)SoC檢測(cè),對(duì)嵌入式OS多核心環(huán)境有較深的研究。
李白
畢業(yè)于仁濟(jì)大學(xué)計(jì)算機(jī)工學(xué)專業(yè),對(duì)家庭局域網(wǎng)、內(nèi)嵌系統(tǒng)安全有深入的研究。目前從事在設(shè)備中嵌入Android及Linux內(nèi)核的研究工作。
林起永
畢業(yè)于崇實(shí)大學(xué)計(jì)算機(jī)專業(yè),多年從事嵌入式設(shè)備平臺(tái)的開(kāi)發(fā)工作,積累了豐富的經(jīng)驗(yàn),涉及的領(lǐng)域包括基于Linux的嵌入式設(shè)備以及多種與計(jì)算機(jī)相關(guān)的領(lǐng)域。
書籍目錄
第1章 Android Framework概要
1.1 Android源代碼組成
1.2 通過(guò)啟動(dòng)過(guò)程分析Android Framework
第2章 搭建Android開(kāi)發(fā)環(huán)境
2.1 主機(jī)環(huán)境構(gòu)成
2.1.1 安裝VirtualBox
2.1.2 安裝Ubuntu
2.2 搭建Android平臺(tái)編譯環(huán)境
2.2.1 編譯工具
2.2.2 安裝Repo
2.2.3 下載Android源代碼
2.2.4 編譯Android源代碼
2.3 搭建Android SDK開(kāi)發(fā)環(huán)境
2.3.1 下載、安裝Eclipse
2.3.2 下載Android SDK starter
2.3.3 安裝ADT插件
2.3.4 設(shè)置Android SDK路徑
2.3.5 安裝Android SDK
2.4 開(kāi)發(fā)Android應(yīng)用程序
2.5 應(yīng)用程序Framework源碼級(jí)別調(diào)試
2.5.1 加載應(yīng)用程序Framework源
2.5.2 調(diào)試HelloWorld Framework(源碼級(jí))
2.6 小結(jié)
第3章 init進(jìn)程
3.1 init進(jìn)程運(yùn)行過(guò)程
3.2 init進(jìn)程源碼分析
3.3 init.rc腳本文件分析與執(zhí)行
3.3.1 動(dòng)作列表(Action List)
3.3.2 服務(wù)列表(Service List)
3.3.3 init.rc文件分析函數(shù)
3.3.4 動(dòng)作列表與服務(wù)列表的運(yùn)行
3.4 創(chuàng)建設(shè)備節(jié)點(diǎn)文件
3.4.1 創(chuàng)建靜態(tài)設(shè)備節(jié)點(diǎn)
3.4.2 動(dòng)態(tài)設(shè)備感知
3.5 進(jìn)程的終止與再啟動(dòng)
3.6 屬性服務(wù)
3.6.1 屬性初始化
3.6.2 屬性變更請(qǐng)求處理
3.7 小結(jié)
第4章 JNI與NDK
4.1 Android與JNI
4.2 JNI的基本原理
4.2.1 在Java中調(diào)用C庫(kù)函數(shù)
4.2.2 小結(jié)
4.3 調(diào)用JNI函數(shù)
4.3.1 調(diào)用JNI函數(shù)的示例程序結(jié)構(gòu)
4.3.2 Java層代碼(JniFuncMain.java)
4.3.3 分析JNI本地函數(shù)代碼
4.3.4 編譯及運(yùn)行結(jié)果
4.3.5 在Android中的應(yīng)用舉例
4.4 在C程序中運(yùn)行Java類
4.4.1 Invocation API應(yīng)用示例
4.4.2 編譯及運(yùn)行
4.4.3 Invocation API在Android中的應(yīng)用舉例:Zygote進(jìn)程
4.5 直接注冊(cè)JNI本地函數(shù)
4.5.1 加載本地庫(kù)時(shí),注冊(cè)JNI本地函數(shù)
4.5.2 Android中的應(yīng)用舉例
4.6 使用Android NDK開(kāi)發(fā)
4.6.1 安裝Android NDK
4.6.2 使用Android NDK開(kāi)發(fā)步驟
4.6.3 小結(jié)
第5章 Zygote
5.1 Zygote是什么
5.2 由app_process運(yùn)行ZygoteInit class
5.2.1 生成AppRuntime對(duì)象
5.2.2 調(diào)用AppRuntime對(duì)象
5.2.3 創(chuàng)建Dalvik虛擬機(jī)
5.2.4 運(yùn)行ZygoteInit類
5.3 ZygoteInit類的功能
5.3.1 綁定/dev/socket/zygote套接字
5.3.2 加載應(yīng)用程序Framework中的類與平臺(tái)資源
5.3.3 運(yùn)行SystemServer
5.3.4 運(yùn)行新Android應(yīng)用程序
第6章 Android服務(wù)概要
6.1 示例程序:理解Android服務(wù)的運(yùn)行
6.2 Android服務(wù)的種類
6.3 Android應(yīng)用程序服務(wù)
6.4 Android系統(tǒng)服務(wù)
6.5 運(yùn)行系統(tǒng)服務(wù)
6.5.1 分析媒體服務(wù)器(Media Server)的運(yùn)行代碼
6.5.2 分析系統(tǒng)服務(wù)器(System Server)的運(yùn)行代碼
6.6 Android Service Framework、Binder Driver概要及相關(guān)術(shù)語(yǔ)
第7章 Android Binder IPC
7.1 Linux內(nèi)存空間與Binder Driver
7.2 Android Binder Model
7.2.1 Binder IPC數(shù)據(jù)傳遞
7.2.2 Binder IPC數(shù)據(jù)流
7.2.3 Binder協(xié)議(Binder Protocol)
7.2.4 RPC代碼與RPC數(shù)據(jù)
7.2.5 Binder尋址(Binder Addressing)
7.3 Android Binder Driver分析
7.3.1 從進(jìn)程的角度看服務(wù)的使用
7.3.2 從Binder Driver角度看服務(wù)的使用
7.3.3 Binder Driver函數(shù)分析
7.4 Context Manager
7.5 小結(jié)
第8章 Android Service Framework
8.1 服務(wù)框架(Service Framework)
8.2 服務(wù)框架(Service Framework)的構(gòu)成
8.2.1 各層構(gòu)成元素的配置
8.2.2 各層構(gòu)成元素間的相互作用
8.2.3 類的結(jié)構(gòu)
8.3 運(yùn)行機(jī)制
8.3.1 服務(wù)接口
8.3.2 服務(wù)
8.3.3 服務(wù)代理(Service Proxy)
8.3.4 Binder IPC處理
8.4 本地服務(wù)管理器(Native Service Manager)
8.4.1 Service Manager概要
8.4.2 Service Manager類
8.4.3 Service Manager的運(yùn)行
8.5 編寫本地服務(wù)
8.5.1 設(shè)計(jì)HelloWorld系統(tǒng)服務(wù)
8.5.2 HelloWorld服務(wù)接口
8.5.3 HelloWorld服務(wù)
8.5.4 HelloWorld服務(wù)代理
8.5.5 運(yùn)行HelloWorld服務(wù)
8.6 小結(jié)
第9章 本地系統(tǒng)服務(wù)(Native System Service)分析
9.1 相機(jī)服務(wù)(Cameral Service)
9.2 相機(jī)應(yīng)用程序
9.3 相機(jī)服務(wù)框架(Camera Service Framework)
9.3.1 相機(jī)服務(wù)框架層次結(jié)構(gòu)
9.3.2 相機(jī)服務(wù)框架類
9.4 相機(jī)服務(wù)框架的運(yùn)行
9.4.1 初始化相機(jī)服務(wù)
9.4.2 連接相機(jī)服務(wù)
9.4.3 相機(jī)服務(wù)連接過(guò)程分析
9.4.4 相機(jī)設(shè)置與控制
9.4.5 相機(jī)設(shè)置與控制分析
9.4.6 相機(jī)事件處理
9.4.7 相機(jī)事件處理分析
9.5 小結(jié)
第10章 Java服務(wù)框架(Java Service Framework)
10.1 Java服務(wù)框架(Java Service Framework)
10.1.1 Java服務(wù)框架的層次結(jié)構(gòu)
10.1.2 Java服務(wù)框架中各個(gè)類間的相互作用
10.2 運(yùn)行機(jī)制
10.2.1 Java服務(wù)框架初始化
10.2.2 Binder
10.2.3 BinderProxy
10.2.4 Parcel
10.3 Java系統(tǒng)服務(wù)的實(shí)現(xiàn)
10.3.1 鬧鐘服務(wù)(Alarm Manager Service)分析
10.3.2 編寫HelloWorldService系統(tǒng)服務(wù)
10.3.3 使用HelloWorldService系統(tǒng)服務(wù)
10.3.4 編譯HelloWorldService系統(tǒng)服務(wù)
10.4 Java Service Manager
10.4.1 Java Service Manager簡(jiǎn)介
10.4.2 BinderInternal
10.4.3 Java Service Manager的運(yùn)行實(shí)例
10.5 使用AIDL生成服務(wù)代理與服務(wù)Stub
10.5.1 在AIDL文件中定義服務(wù)接口
10.5.2 使用AIDL編譯器,生成服務(wù)接口、服務(wù)Stub以及服務(wù)代理
10.5.3 繼承Stub類創(chuàng)建服務(wù)
10.5.4 服務(wù)接口的調(diào)用
10.6 小結(jié)
第11章 Java系統(tǒng)服務(wù)運(yùn)行分析
11.1 Activity Manager Service
11.2 Activity Manager Service創(chuàng)建服務(wù)分析
11.2.1 Controller Activity-調(diào)用startService()方法
11.2.2 Activity Manager Service的startService()方法的調(diào)用過(guò)程(使用Binder
RPC)
11.2.3 Activity Manager Service——運(yùn)行startService() Stub方法
11.2.4 運(yùn)行ActivityThread類的main() 方法
11.2.5 Activity Manager Service——attachApplication() Stub方法
11.3 小結(jié)
附錄 AIDL語(yǔ)法
編輯推薦
《Android框架揭秘》由人民郵電出版社出版。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載