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 控制网络设备