从零起步完整开发搭载Android系统产品培训
如何从Linux起步,开发出搭载Android系统并且具备深度定制和软硬整合能力特色产品,是本课程解决的问题。
课程以Android的五大核心:HAL、Binder、Native Service、Android Service(并以AMS和WMS为例)、View System为主轴,一次性彻底掌握Android的精髓。
之所以是开发Android产品的必修课,缘起于:
通过Android五大核心的洗礼,从而完全具备Android系统二次开发和改造能力,
进而开发出极具特色的Android产品。
中国电子标准协会http://www.ways.org.cn
课程特色
建立360度的Android产品研发能力和解决问题的能力,能够独立开发并深度定制出搭载Android系统的产品;
培训对象
手机、平板、智能电视、车载系统、智能家居设备(例如微波炉、防盗门、电冰箱)等所有想使用Android的硬件厂商;
想理解Android运行机制的软件开发者;
学员基础
能看懂C/C++与Java
培训内容(共36小时)
第1堂课:Hardware Abstract Layer 架构与驱动模组开发(2小时)
1.1 Service与Manager的意义与用途
1.2 libhardware 与 HAL API
1.3 Stub & Module 的观念
1.4 HAL Stub Analysis and Design (OOAD)
1.5 HAL Stub Class
1.6 HAL Stub Interface
第2堂课:Android Service 架构 SystemServer 整合开发(2小时)
2.1 Zygote & SystemServer 介绍
2.2 ServiceManager介绍
2.3 IPC、 Remote method call与Binder管理说明
2.4 AIDL 介绍与IInterface设计观念解析
2.5 Activity & ApplicationContext
2.6 ServiceManager
第3堂课:Android Framework 架构原理分析 (OOD) (2小时)
3.1 JNI 开发
3.2 Remote Object观念与IBinder介绍
3.3 如何以Proxy Object整合Android Service
3.4 Handler 与 Message 的解析与实作细节
3.5 Doing Long Operations
3.6 Design Patterns of Android Framework
第4堂课:Android Process 模式与系统程序(2小时)
4.1 Component 與 Main Thread
4.2 Instance of Dalvik VM
4.3 Introduction of Dalvik VM
4.4 Android Process Model
4.5 Class Preloading
4.6 Dalvik VM Instantiation & Initialization
第5堂课:Manager API & Context(2小时)
5.1 Introduction Context
5.2 getSystemService()
5.3 IPC & AIDL
5.4 IPC with Android Service using Binder Proxy
第6堂课:Native Service 实现完整解析(2小时)
6.1 使用 IInterface (Java vs C++)
6.2 使用 BnInterface 与 BpInterface
6.4 Implementation of Native Service
6.5 Implement Native Binder Proxy
第7堂课:Binder 原理与核心架构解析(6小时)
7.1 Proxy Design Pattern
7.2 .asInterface() 深入解析
7.3 Linux Binder驱动解析
7.4 BpInterface, Proxy object 与 IPC transaction
7.5 Architect of SensorManager
第8堂课:View System 设计模式与实现原理解析(6小时)
8.1 Introduction to Activity, Window and View
8.2 Architecture of Android View System
8.3 Surface and Canvas
8.4 The flow of drawing: from View to SurfaceFlinger
8.5 The MVC design of View Hierarchy
8.6 The Composite pattern of View Hierarchy
第9堂课:ActivityManagerService原理与核心架构解析(6小时)
9.1 AMS的架构解析和main剖析
9.2 AMS启动一个Process架构解析源码剖析
9.3 AMS启动Activity、Service、Broadcast、ContentProvider架构解析与源码剖析
9.4 Proxy-Stub
第10堂课:WindowManagerService原理与核心架构解析(6小时)
10.1 WindowManagerService架构解析
10.2 Window创建过程分析
10.3 Activity与WindowManagerService交互
10.4 WindowManagerService下的SurfaceFlinger
10.5 窗口的绘制和改变全程代码解析
文章评论(0条评论)
登录后参与讨论