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