Enterprise Training

Android HAL & Framework:行動裝置開發技術與實作

2026 企業內訓版|AF102

從 Sensor HAL、Audio HAL、Camera HAL,到 Multimedia、Graphics 與 Framework 軟體工程,建立 Android 子系統分析能力與行動裝置產品開發實力。

本課程是 AF101 的延續,將繼續介紹重要的 Android 框架子系統。若 AF101 的重點在於 HAL、Binder、Native Service 與 View System 的整體架構觀,那麼 AF102 則進一步深入產品開發現場最常遇到的幾個核心子系統,包含 Sensor、Audio、Camera、Multimedia 與 Graphics。

這門課不是零碎地介紹功能,而是從軟體工程的角度切入,分析各子系統的架構、設計與原理。對於希望成為 Android Framework 專家的工程師來說,理解這些子系統如何與 HAL、Service、Native Code 及 Framework 連接,是進一步提升研發能力的重要訓練。

本課程整理數個 Android 開發產品的實務主題,包含 Sensor HAL、Audio HAL、Camera HAL、Android 多媒體框架、Stagefright,以及 Android Framework 軟體工程等主題。
— Moko365 Team
Course Overview

AF102 是 AF101 的延續,進一步深入 Android 子系統

AF101 建立的是 Android HAL 與 Framework 的整體架構觀;AF102 則把這條主線往下推進,進入 Android 產品開發現場所必須面對的子系統。AF102 是 AF101 的延續,將繼續介紹重要的 Android 框架子系統,並且對每個子系統的架構、設計與原理,做更詳細的說明。

因此,這門課不是停留在理論架構,而是整理數個 Android 開發產品的實務主題,從 Sensor HAL、Audio HAL、Camera HAL,到 Android Multimedia、Stagefright、Graphics 與 Framework 軟體工程,一步一步帶學員建立更完整的系統分析能力。

本課程同時保留 Jollen 一貫的教學方式:不只說明怎麼做,更分析為什麼要這樣設計。對於有意成為 Android Framework 專家的工程師來說,AF102 是將 Android 架構能力進一步推向子系統與產品實作的重要一課。

Six Themes

理解 Android 行動裝置開發,就要深入這六個核心主題

Sensor HAL

從 Data API、Control API、SensorManager 與 SensorService 出發,分析 Sensor HAL 的設計、資料流與 Android 5.0 的子系統重構。

Audio HAL

分析 Audio HAL、AudioService、AudioFlinger、ALSA Drivers、MediaPlayer 與 MediaRecorder 的架構與設計。

Camera HAL

理解 Camera HAL、CameraService、V4L2、Video Streaming 與 Binder Shared Memory,建立 Camera 子系統的實作觀念。

Multimedia

從 MediaPlayerService、OpenCore、OpenMAX、PVPlayer 到 Stagefright 與 AwesomePlayer,理解多媒體框架的演進與設計。

Graphics

分析 View & Graphics 系統、Composition、SurfaceFlinger、gralloc、copybit、GPU 與硬體加速的實作脈絡。

Software Engineering

從 SOLID、IoC、FSM、Refactoring、Design Patterns 與 OOAD 切入,理解 Android Framework 的軟體工程基礎。

Methodology

這門課不是主題拼盤,而是用軟體工程方法分析 Android 子系統

AF102 是從軟體工程的角度切入,對每個 Android 子系統的架構、設計與原理,都做詳細介紹。這個說法很重要,因為它說明本課的核心,不是把 Sensor、Audio、Camera 與 Multimedia 拆開逐一講完,而是透過這些子系統建立一套可延伸的分析方法。

因此,學習重點不只是 HAL 如何移植、Native Code 如何串接、Service 如何呼叫;更重要的是理解資料流、類別設計、模組責任、Refactoring 與新設計為什麼出現。

最後一天再進一步進入 Graphics Subsystem 與 Framework 軟體工程分析,讓子系統學習不只停留在實作,而是回到 Framework 架構師應具備的軟體工程視角。

Course Legacy

課程歷史

對 Moko365 來說,AF102 的價值不只來自課綱本身,也來自它是從企業內訓現場長期淬練而成的 Android 子系統課程。原始頁面指出,本課程在正式推出公開課之前,已累積超過 5 年內訓經驗;其後於 2013 年推出公開課,並在 2014 年 12 月 09 日完成第四次改版,將內容更新至 Android 5.0,並針對幾個新的設計進行分析。

里程碑

內訓累積期

本課程源自多門企業內訓內容整合而成,正式推出公開課前,已累積超過 5 年的內訓經驗,並整合現有 5 門課程的核心主題。

2013 年

AF102 正式推出公開課,仕橙版第 01 期於 2013 年 05 月 18 日在台北結訓,將 Sensor、Audio、Camera、Multimedia 與 Framework 軟體工程整理為完整主線。

2014 年

課程於 2014 年 12 月 09 日進行第四次改版,內容更新至 Android 5.0,並針對新的子系統設計與重構進行分析。

2017 年

仕橙版第 06 期於 2017 年 07 月 23 日結訓,代表這門課已從長期內訓主題,發展成成熟的公開課與企業內訓課程。

開課與內訓記錄(部份摘錄)

  • 2017 年 07 月 16、22、23 日:仕橙版第 06 期公開課(台北)。
  • 2016 年 07 月 24、30、31 日:仕橙版第 05 期公開課(台北)。
  • 2015 年 09 月 05、12、13 日:仕橙版第 04 期公開課(台北)。
  • 2015 年 01 月 24、31、02 月 01 日:仕橙版第 03 期公開課(台北)。
  • 2014 年 05 月 03、17、18 日:仕橙版第 02 期公開課(台北)。
  • 2013 年 05 月 04、11、18 日:仕橙版第 01 期公開課(台北)。
  • 公開課推出之前,本課程已累積近 5 年企業內訓經驗。

這門課程的歷史,說明 AF102 並不是單純新增的主題整理,而是從 Android 產品開發與內訓現場長期萃取出來的子系統實戰課。

Who Should Attend

適合對象

  • 已具備 AF101 或同等 Android 架構基礎的工程師
  • 從事 Sensor、Audio、Camera、Multimedia 或 Graphics 開發的研發人員
  • 需要深入 Android 子系統的 BSP / Platform 工程師
  • 想從子系統角度進修 Android Framework 的資深工程師
  • 需要建立子系統分析能力的企業研發團隊
Prerequisites

先備知識

  • 看得懂 Java 與 C 語言
  • 具備基本的 Linux 終端機環境操作能力
  • 建議先修 AF101 或已有 Android HAL / Framework 基礎
Course Outline

課綱總覽

標準版保留 3 天完整主線;企業版則可濃縮為 2 天,或依產品型態客製化調整。

3 天標準版

第 1 天
  • 第 01 堂課:Sensor HAL 設計與實作
  • 第 02 堂課:Audio HAL 設計與實作
第 2 天
  • 第 03 堂課:Camera HAL 設計與實作
  • 第 04 堂課:Android Multi Media 設計與實作
第 3 天
  • 第 05 堂課:Android Graphics Subsystem 架構解析
  • 第 06 堂課:Android Framework 軟體工程分析

2 天企業版

第 1 天
  • Sensor HAL:Data / Control API、SensorService、資料傳遞與 Refactoring
  • Audio HAL:AudioService、AudioFlinger、ALSA Drivers 與 Stream-in / Stream-out
  • Camera HAL:CameraService、V4L2、Binder Shared Memory
第 2 天
  • Android Multimedia:MediaPlayerService、OpenCore、Stagefright、AwesomePlayer
  • Graphics Subsystem:SurfaceFlinger、Composition、gralloc、GPU 加速
  • Framework 軟體工程:SOLID、IoC、FSM、OOAD、Refactoring

企業內訓可依產品型態與團隊背景,調整 Sensor / Audio / Camera / Multimedia / Graphics 的授課比例。

Enterprise Customization

客製企業版建議

AF102 很適合依產品需求重新分配比重。保留子系統主線,再依團隊最常面對的問題決定深度與比例。

版本 A:多媒體 / 音訊產品導向

加強 Audio HAL、MediaPlayerService、OpenCore、Stagefright、AudioFlinger 與 Codec 架構,適合多媒體播放器、錄音、語音與音訊產品團隊。

版本 B:Camera / Vision 產品導向

加強 Camera HAL、CameraService、V4L2、Binder Shared Memory、資料交換與串流路徑,適合相機、影像與視覺產品團隊。

版本 C:Sensor / IoT 裝置導向

加強 Sensor HAL、Data API / Control API、Polling、同步機制與資料傳遞,適合感測器、IoT 與裝置資料整合團隊。

版本 D:Framework 架構師導向

加強 Graphics、Framework 軟體工程、SOLID、FSM、OOAD、Refactoring 與主子系統設計,適合資深工程師、架構師與 Team Lead。

Learning Path

AF102 與 AF101 的課程關係

AF102 是 AF101 的延續課。AF101 先建立 Android HAL、Binder、Android Service、HIDL 與 Framework 主幹架構;AF102 則從子系統角度深入 Sensor、Audio、Camera、Multimedia 與 Graphics,適合已具備 Android HAL / Framework 基礎,想往產品實作與子系統分析再進一步的工程師。

Prerequisite

AF101:先建立主幹架構與共同語言

若團隊尚未完整理解 HAL、Binder IPC、Manager API、Native Service、HAL Server 與 Sensor HAL 的主線,建議先修 AF101,再進入 AF102,學習效果會更完整。

Advanced Track

AF102:把主幹架構延伸到產品子系統

AF102 不是重講 AF101,而是把 HAL 與 Framework 的主幹架構,延伸到行動裝置最常見的子系統設計與實作主題,適合多媒體、相機、感測器、顯示與 Platform 團隊。

Jollen Chen
Jollen
Moko365 講師暨技術總監
Instructor

長期投入 Linux、Android 與系統軟體架構教學

Jollen 在 Embedded Linux 與 Linux Device Driver 有超過 20 年的研發與企業內訓經驗,在 Android Framework 軟體架構方面,也有 15 年的授課經驗,並長期在科技業擔任 Linux & Android 技術顧問。

此外,Jollen 曾於 Linux 基金會舉辦的 Open Source Summit 全球開發者社群大會上,多次擔任講者發表演說;自 2017 年起,也於歐洲與加拿大發表有關區塊鏈與去中心化 IoT 架構的論文,並獲 ACM SIGBED Review 刊登。Jollen 於 2016 年創辦 Flowchain 基金會,開發原創區塊鏈作業系統技術,並獲多項相關國際專利。

AF102 的特色,不只是把多個 Android 子系統整理在一起,而是由長期從事 Linux、Android 與系統軟體架構工作的講師主講,能夠將 Sensor、Audio、Camera、Multimedia、Graphics 與 Framework 軟體工程,整理成一條有邏輯、可分析、可落地的學習主線。

Enterprise Inquiry

從 Android 子系統切入,建立更完整的產品開發能力

若您的團隊已具備 Android HAL / Framework 基礎,並希望進一步深入 Sensor、Audio、Camera、Multimedia、Graphics 或 Framework 軟體工程,AF102 可作為 2 天或 3 天的企業內訓版本,依產品型態調整授課重點。

聯絡方式建議
  • 索取企業內訓簡章
  • 安排課前需求訪談
  • 確認 2 天版或 3 天版
  • 依產品型態調整子系統案例與授課比例