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 編譯 ARM Cortex-R+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 整合驅動程式至Android 框架
9.2 選寫Android應用程式以控制LED
9.3 編寫Camera驅動
9.4 控制Camera驅動
9.5 編寫LCD驅動
9.6 控制LCD驅動
9.7 編寫網絡設備驅動
9.8 控制網絡設備