- Android底層開發實戰
- 周慶國
- 1176字
- 2018-12-31 21:06:23
前言
自第一款搭載Android系統的智能手機HTC G1發布至今已近6年,憑借日益完善與強大的功能、完全開放的內核源碼以及Google公司在網絡應用領域的無縫支持,Android系統從初出茅廬的行業新銳,已經成長壯大為手持設備智能化產業的推動者和市場的領導者,這一點已經毋庸置疑。
不可否認,眾多獨立軟件開發者與商業軟件公司的加入使Android系統不僅僅作為終端產品,還作為開發平臺深入到各行業的技術開發中,包括學校、公司,乃至開發人員的工作、生活的各方面,這是Android系統旺盛生命力的表現,同時也是Android系統持續發展壯大的保障。近期,支持Android系統的開發板如Zynq、pcDuino等在功能不斷完善的前提下成本也在大幅下降,助力了Android的推廣與拓展;可穿戴設備以及嵌入式芯片的應用又將為Android系統及其軟硬件開發提供新的發展機遇。接觸Android領域、使用Android產品、學習Android系統,現在已經成為計算機軟件、電子、自動化控制及相關專業的學生和已經參加工作的軟硬件工程師的首選。
但是目前市場上同類的Android相關書籍中,多是介紹基于Android SDK的單純應用程序(APP)的開發,且種類繁雜,對于Android的底層源碼與系統內核的分析、驅動程序設計與存儲優化、平臺移植與內核測試等較為深入的內容則甚少涉及。為了對這些底層領域相關知識稍作彌補,作者編寫了本書。
本書而用淺顯易懂的語言向廣大Android愛好者和開發人員講解Android系統下嵌入式開發板的設計。
全書共8章,前3章為預備知識,簡要介紹嵌入式系統的定義與軟硬件開發以及Android開發環境的搭建。這一部分為基礎知識,有一定Linux基礎和Android開發經驗的讀者可以選讀。
第4~6章為系統結構,主要介紹Android系統的源碼結構、內核與相關工具以及環境庫。內容包括:Android源碼結構、init初始化腳本、Zygote、Android系統編譯;Android內核啟動、Binder框架、Ashmem內存管理、系統日志Logger實現;Android開發工具、Dalvik虛擬機、JNI、Boot Loader。
第7章為驅動設計,主要介紹Android系統中常用外接設備的驅動架構以及實現。內容包括NDK編程、Android中HAL模型架構與實現流程。作為教學實例,最后還分析了Android系統中的Camera與WiFi兩個功能部件的驅動設計。
第8章為實例分析,介紹具體開發板硬件結構的編程原理以及系統級的實例。在簡要介紹系統底層開發流程的基礎上,首先分析主流的Zynq和pcDuino平臺上開發環境的搭建、Linux內核以及Android系統的編譯、下載;然后結合前文學習過的知識點,從零開始設計LED顯示系統的Linux內核驅動、Android HAL支持和服務層設計、頂層App的實現;作為進階部分,最后介紹了對Android內核進行跟蹤調試與性能測試的工具軟件、工作流程以及結果分析。
致謝
在此要特別感謝華章公司的策劃編輯張國強,是他對Android和嵌入式系統開發的關注促成了本書的出版。筆者在撰寫書稿時,他也對本書提出了寶貴的寫作建議,并進行了仔細的審閱。
本書的編寫同樣離不開許多朋友的支持,在此特別感謝蘭州大學信息科學與工程學院的陳華明的大力協助,這本書的出版離不開他的貢獻。
還要感謝蘭州大學的高博、郭守超、王小強和朱芳芳,感謝他們在本書編寫過程中所給予的幫助與建議。
- 全屋互聯:智能家居系統開發指南
- Linux設備驅動開發詳解:基于最新的Linux4.0內核
- Cybersecurity:Attack and Defense Strategies
- Kali Linux滲透測試全流程詳解
- VMware Horizon View 6 Desktop Virtualization Cookbook
- 嵌入式Linux系統開發:基于Yocto Project
- Windows Vista融會貫通
- 奔跑吧 Linux內核(入門篇)
- Linux就該這么學
- Python基礎教程(第3版)
- Learning Bootstrap
- Windows 7中文版從入門到精通(修訂版)
- OpenSolaris設備驅動原理與開發
- 計算機系統的自主設計
- Linux操作系統