Android Framework & HAL軟硬整合技術班
Android 已成為重要的手持裝置操作系統,為協助國內企業快速掌握Android作業系統的技術,并建立團隊技術能力,以提升企業產品開發的能力,是特別針對產品開發所涉及的Android底層技術所細心規劃的必要課程,內容特別針對設計原理與實作細節進行說明,課程深入淺出,以至簡方式介紹實務Android框架與底層技術的課程。旨在培養出一批真正的能在Android領域可以實戰和馳騁的高端人才。
一、培訓目標
1)建立開發Android產品的正確觀念
2)建立開發框架的實務能力
3)建立開發HAL驅動模塊的實務能力
4)撰寫品質良好的代碼
二、培訓對象
1) 希望迅速了解和掌握Android底層技術的人員;
2) 希望從事移動終端開發的愛好者、工程師、程序員、以及相關行業的工程技術人員
三、教學大綱
第一階段 Android OS 開發環境建立與編譯
1.1 Android 框架(framework)架構介紹
1.2 如何取得Android原始碼
1.3 Android product 分支建立
1.4 編譯 ARMv5+Android系統(image制作)
1.5 使用Android emulator
1.6 Vanilla Kernel & Android kernel 編譯
第二階段 HAL技術詳解
2.1 HAL的意義與二進位佈署(Binary File Deploy)
2.2 Service 與 Manager 的意義與用途
2.3 Libhardware 與 HALAPL
2.4 Stub & Module的觀念
2.5 專題討論:定義并選寫第一個HALStub
第三階段 HAL Development
3.1 HAL Stub Analysis and Design (OOAD)
3.2 HAL Stub Class
3.3 HAL Stub lnterface
3.4 專題討論:開發LED的HAL 模組
第四階段 Extend Android APL
4.4 如何加入API至Android Framework
4.2 如何編譯并制作獨立JAR擋
4.3 上機實驗:開發LedService APL與制作mokoid.jar程式庫
第五階段 JNI & Runtime Library
5.1 什么是JNI
5.2 如何選寫JNI & Native Method
5.3 如何制作Android Runtime Library
5.4 專題討論:如何開發與制作 Runtime Library
第六階段 Android Service
6.1 Android Process 模式
6.2 Component 與 Main Thread
6.3 SystemServer 介紹
6.4 ServiceManager 介紹
6.5 專題討論:SensorManager與SensorService實例
第七階段 SystemService與HAL整合
7.1 IPC Remote method call與Binder觀念說明
7.2 AIDL介紹與llnterface設計觀念解析
7.4 ServiceMamager
7.5 專題討論:LeddService設計與ILedService探討
第八階段 Manager API(Refinement-架構優化)
8.1 SensorManager 與SensorService實例探討
8.2 Remote Object觀念與IBinder介紹
8.3 如何以Proxy Object整合Android Service
8.4 Long operations 的解析與實作細節
8.5 RemoteException 的解析與實作細節
8.6 Handler與Message 的解析與實作細節
8.7 Error Handling
第九階段 分組專題探討
9.1 Example 1:整合驅動程式至Android 框架
9.2 Example 2:選寫Android應用程式以控制LED
9.3 Example 3:標準的Android HAL 架構
9.4 Example 4:Motor HAL Stub