I-017: Android Porting + Embedded Linux 基礎訓練班

【2011年12月13日 星期二】 開發團隊:仕橙3G教室

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 系統並進行測試