Sensor HAL
從 Data API、Control API、SensorManager 與 SensorService 出發,分析 Sensor HAL 的設計、資料流與 Android 5.0 的子系統重構。
從 Sensor HAL、Audio HAL、Camera HAL,到 Multimedia、Graphics 與 Framework 軟體工程,建立 Android 子系統分析能力與行動裝置產品開發實力。
AF102 延續 AF101 的 Android 框架主線。AF101 建立 HAL、Binder、Native Service 與 View System 的整體架構。AF102 深入 Sensor、Audio、Camera、Multimedia 與 Graphics 等核心子系統。
這門課從軟體工程角度分析各子系統的架構、設計與原理。HAL、Service、Native Code 與 Framework 的連接方式建立子系統研發能力。
本課程整理數個 Android 開發產品的實務主題,包含 Sensor HAL、Audio HAL、Camera HAL、Android 多媒體框架、Stagefright,以及 Android Framework 軟體工程等主題。
AF101 建立 Android HAL 與 Framework 的整體架構。AF102 延續這條主線,進入產品開發常用子系統。課程解析每個子系統的架構、設計與原理。
課程整理 Android 產品開發的實務主題。內容涵蓋 Sensor HAL、Audio HAL、Camera HAL、Android Multimedia、Stagefright、Graphics 與 Framework 軟體工程。
本課程延續 Jollen 的教學方式。課程涵蓋實作步驟、設計原因與架構判斷。AF102 將 Android 架構能力推進到子系統與產品實作。
從 Data API、Control API、SensorManager 與 SensorService 出發,分析 Sensor HAL 的設計、資料流與 Android 5.0 的子系統重構。
分析 Audio HAL、AudioService、AudioFlinger、ALSA Drivers、MediaPlayer 與 MediaRecorder 的架構與設計。
理解 Camera HAL、CameraService、V4L2、Video Streaming 與 Binder Shared Memory,建立 Camera 子系統的實作觀念。
從 MediaPlayerService、OpenCore、OpenMAX、PVPlayer 到 Stagefright 與 AwesomePlayer,理解多媒體框架的演進與設計。
分析 View & Graphics 系統、Composition、SurfaceFlinger、gralloc、copybit、GPU 與硬體加速的實作脈絡。
從 SOLID、IoC、FSM、Refactoring、Design Patterns 與 OOAD 切入,理解 Android Framework 的軟體工程基礎。
AF102 從軟體工程角度介紹 Android 子系統的架構、設計與原理。Sensor、Audio、Camera 與 Multimedia 共同建立一套可延伸的分析方法。
學習重點涵蓋 HAL 移植、Native Code 串接與 Service 呼叫。課程同時解析資料流、類別設計、模組責任、Refactoring 與新設計的形成原因。
最後一天進入 Graphics Subsystem 與 Framework 軟體工程分析。內容建立 Framework 架構師需要的軟體工程視角。
AF102 來自長期企業內訓經驗。課程於 2013 年推出公開課,並在 2014 年 12 月 09 日完成第四版內容。第四版涵蓋 Android 5.0 與子系統設計分析。
本課程源自多門企業內訓內容整合而成,正式推出公開課前,已累積超過 5 年的內訓經驗,並整合現有 5 門課程的核心主題。
AF102 正式推出公開課,仕橙版第 01 期於 2013 年 05 月 18 日在台北結訓,將 Sensor、Audio、Camera、Multimedia 與 Framework 軟體工程整理為完整主線。
課程於 2014 年 12 月 09 日完成第四版內容,涵蓋 Android 5.0、子系統設計與重構分析。
仕橙版第 06 期於 2017 年 07 月 23 日結訓,代表這門課已從長期內訓主題,發展成成熟的公開課與企業內訓課程。
AF102 的內容來自 Android 產品開發與企業內訓經驗。課程持續整理子系統實作方法。
標準版保留 3 天完整主線;企業版則可濃縮為 2 天,或依產品型態客製化調整。
企業內訓可依產品型態與團隊背景,調整 Sensor / Audio / Camera / Multimedia / Graphics 的授課比例。
AF102 很適合依產品需求重新分配比重。保留子系統主線,再依團隊最常面對的問題決定深度與比例。
加強 Audio HAL、MediaPlayerService、OpenCore、Stagefright、AudioFlinger 與 Codec 架構,適合多媒體播放器、錄音、語音與音訊產品團隊。
加強 Camera HAL、CameraService、V4L2、Binder Shared Memory、資料交換與串流路徑,適合相機、影像與視覺產品團隊。
加強 Sensor HAL、Data API / Control API、Polling、同步機制與資料傳遞,適合感測器、IoT 與裝置資料整合團隊。
加強 Graphics、Framework 軟體工程、SOLID、FSM、OOAD、Refactoring 與主子系統設計,適合資深工程師、架構師與 Team Lead。
AF102 延續 AF101。AF101 建立 Android HAL、Binder、Android Service、HIDL 與 Framework 主幹架構。AF102 從子系統角度深入 Sensor、Audio、Camera、Multimedia 與 Graphics。課程適合具備 Android HAL / Framework 基礎的工程師。
若團隊尚未完整理解 HAL、Binder IPC、Manager API、Native Service、HAL Server 與 Sensor HAL 的主線,建議先修 AF101,再進入 AF102,學習效果會更完整。
AF102 延伸 AF101 的 HAL 與 Framework 架構。內容聚焦多媒體、相機、感測器、顯示與 Platform 子系統。
Jollen 在 Embedded Linux 與 Linux Device Driver 有超過 20 年的研發與企業內訓經驗,在 Android Framework 軟體架構方面,也有 15 年的授課經驗,並長期在科技業擔任 Linux & Android 技術顧問。
Jollen 多次於 Linux 基金會 Open Source Summit 發表演說。2017 年起,他在歐洲與加拿大發表區塊鏈與去中心化 IoT 架構論文,並獲 ACM SIGBED Review 刊登。2016 年,Jollen 創辦 Flowchain 基金會,開發原創區塊鏈作業系統技術並取得多項國際專利。
AF102 由長期從事 Linux、Android 與系統軟體架構工作的講師主講。Sensor、Audio、Camera、Multimedia、Graphics 與 Framework 軟體工程形成完整學習主線。
若您的團隊已具備 Android HAL / Framework 基礎,並希望進一步深入 Sensor、Audio、Camera、Multimedia、Graphics 或 Framework 軟體工程,AF102 可作為 2 天或 3 天的企業內訓版本,依產品型態調整授課重點。