Course Code: I-017
將 Android 移植到不同硬體平臺時,需具備 Embedded Linux 的基礎知識。Embedded Linux 技術是 Android Porting 的基礎,二者有許多相同之處,以及一些小差異。如何有效學習與入門?
仕橙將以 Android 搭配 Embedded Linux 的入門教學,帶您入門 Android 系統編譯與移植!
本課程亦提供公開課程服務,詳細的資訊,請參考:課程簡章
本課程為歐美企業提供培訓服務,已加入 ARM Community Connected,歡迎參考英文版簡章
1.Android 架構完整解析
- Android & Layered Architecture
- FLOSS License & Android
- Hardware Accessibility & Methodology
- Android Runtime & Dalvik VM Instance
- Android Porting Guidelines
2. 編譯 Linux kernel
- Legacy GNU/Linux System
- Android Kernel Features
- 設定與編譯 Linux kernel
- Cross compile 原理說明
- Linux kernel 開機流程
3.Android UI設計—View的觀念
- 建立編譯環境
- 取得 Android 原始碼
- 編譯 Donut/Eclair/Froyo
- 編譯 Gingerbread
- 完整 Product Tree 製作教學
- 使用 Android Emulator
- 製作 U-Boot Image
- Android.mk 教學: 編譯並加入 Application & 客製化 API
- Android.mk 教學: 編譯並加入 External Library & HAL
4.Busybox 輕鬆上手
- 什麼是 Busybox
- 設定編譯器
- 加入 Busybox Commands
- 編譯 Busybox
5.Embedded Root Filesystem (Android + Linux)
- Embedded Linux: the GNU/Linux system
- Init process
- library dependency & SONAME
- Process memory mapping
- Build root filesystem
- Understanding the GNU/Linux inittab
- Understanding Android/Linux root filesystem
- Android init language and init.rc
6.Android 開機流程完整解析
- Bootchart: use bootchart.c
- Android booting process
- Introduction of Zygote and SystemServer process
- Android Boot: Internals
- Optimize Zygote’s class preloading
7.Android Framework 開發起步走
- 如何將一個程式庫移植到 Android
- 如何修改 Android Framework
- 如何整合程式庫與 Android Framework
- 應用程式如何與程式庫溝通
- 重新編譯 Android 系統並進行測試