Android Framework & HAL軟硬整合技術班
Android 已成為(wei)重要(yao)的(de)(de)(de)(de)(de)手持裝置(zhi)操作(zuo)系統,為(wei)協助國內企(qi)業快速(su)掌握Android作(zuo)業系統的(de)(de)(de)(de)(de)技術,并建立團隊技術能(neng)(neng)力(li),以提升企(qi)業產品開發(fa)的(de)(de)(de)(de)(de)能(neng)(neng)力(li),是特(te)別針對產品開發(fa)所涉及的(de)(de)(de)(de)(de)Android底層技術所細(xi)心規劃的(de)(de)(de)(de)(de)必(bi)要(yao)課程(cheng),內容特(te)別針對設計原理與(yu)實(shi)作(zuo)細(xi)節進行(xing)說(shuo)明,課程(cheng)深(shen)入淺(qian)出(chu),以至(zhi)簡方式介紹(shao)實(shi)務Android框架與(yu)底層技術的(de)(de)(de)(de)(de)課程(cheng)。旨在(zai)培養出(chu)一(yi)批真正(zheng)的(de)(de)(de)(de)(de)能(neng)(neng)在(zai)Android領域(yu)可以實(shi)戰和馳(chi)騁的(de)(de)(de)(de)(de)高端人(ren)才。
一、培(pei)訓(xun)目標
1)建立開發Android產品的正確觀念
2)建(jian)立開(kai)發框架的(de)實務能力
3)建立開發HAL驅動模塊的實務能力
4)撰(zhuan)寫品(pin)質(zhi)良好(hao)的代碼(ma)
二、培訓對象
1) 希望迅速了解和掌(zhang)握Android底(di)層技術(shu)的(de)人(ren)員(yuan);
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 專題(ti)討(tao)論:定義(yi)并選寫第一(yi)個HALStub
第三階段 HAL Development
3.1 HAL Stub Analysis and Design (OOAD)
3.2 HAL Stub Class
3.3 HAL Stub lnterface
3.4 專題討論:開(kai)發(fa)LED的HAL 模組
第四階段 Extend Android APL
4.4 如何加入API至Android Framework
4.2 如何編譯并制作獨立JAR擋
4.3 上機(ji)實驗:開發LedService APL與(yu)制作mokoid.jar程式庫
第五階段 JNI & Runtime Library
5.1 什么是JNI
5.2 如何選寫JNI & Native Method
5.3 如何制作Android Runtime Library
5.4 專(zhuan)題討論:如何(he)開發與(yu)制(zhi)作 Runtime Library
第六階段 Android Service
6.1 Android Process 模式
6.2 Component 與 Main Thread
6.3 SystemServer 介紹
6.4 ServiceManager 介紹
6.5 專題討論(lun):SensorManager與SensorService實(shi)例
第七階段 SystemService與HAL整合
7.1 IPC Remote method call與Binder觀念說明
7.2 AIDL介紹與llnterface設計觀念解析
7.4 ServiceMamager
7.5 專(zhuan)題(ti)討論: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 控制網絡設備