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