Course Code: I-015
目前Android平台在電子產品的市場愈來愈受重視,其中Android手機更是一支獨秀,在多方支持的態勢下,預估今年將會快速的起飛。Android平台雖然採用Open Source的專案成果,但卻以聰明的方法解決了傳統Linux開放手機平台的「相依性」問題。其關鍵在於它的應用框架採用Jave語言,並軟性地將開發者限制在應用層,讓底層不會產生複雜的「程式庫相依」問題。
因此,產品開發者能夠更有效率地進行Android平台在系統層(library、kernel)的移植工作。Android平台的移植工作是直接影響產品開發的重要關鍵,其主要的技術能力著重於Android framework(例如加入新的external library)以及Linux device driver上。本課程將剖析Android平台的移植策略,重點包括Framework & Shared Library 和Dalvik VM底層移植概述。
1. 移植策略與 Android 框架
- Framework & Shared Library 軟硬整合模式
- Dalvik VM 移植要點
- Bionic
- EABI, AAPCS, Soft-float
2. Android Kernel 分析
- Binder
- Ashmem (Android shared memory)
- PMEM (Processor memory allocator)
- logcat (Android Logger)
- wakelock (Android Power Management)
3. Framework & Shared Library 底層移植概述
- Understanding Android.mk
- Build Android Java Library
- Build Runtime Library
- Use JNI 1.4
