文档介绍:Enabling the digital future
Android 开发概述
Tao Tu 03/15/2010
Agenda
课程的目标
Android 系统架构
SDK 开发环境的搭建
应用程序的创建和调试
模拟器的使用
NDK开发环境的搭建
Android应用程序的结构及程序开发流程
源代码的获取和编译
课程的目标
通过本课程的讲解,让学员们能够独立搭建Android的开发环境,能够熟练掌握Android下应用程序的开发的整体流程。
Android系统架构
Android系统架构
应用层
Java编写的在虚拟机中运行的程序
核心应用:E-mail, SMS, Calendar, Camera, Contact等
应用框架层
View System: 构建应用程序View
ContentProvider: 实现应用程序间数据共享
Resource Manager: 提供非代码资源的访问
Notification Manager: 在状态栏中显示提示消息
Activity Manager: 管理应用程序生命周期, 导航回退
Windows Manager: 管理窗口程序
Package Manager: Android 系统内程序管理
Android系统架构
系统运行库层
Bionic系统C库:C语言标准库
Media Framework: 基于PacketVideo OPENCORE
SGL: 2D图形引擎
SSL: 位于TCP/IP和各应用层协议之间,为数据通信提供支持
OpenGL ES : 3D效果支持
SQLite: 关系数据库
Webkit: Web浏览器引擎
FreeType: 位图和矢量
Android系统架构
Dalvik 虚拟机, 非Java 虚拟机
Dalvik 基于寄存器架构, Java虚拟机是栈机(stack machine)
特点:
虚拟机很小,使用的空间也小
Dalvik没有JIT编译器
常量池已被修改为只使用32位的索引,以简化解释器
它使用自己的字节码,而非Java字节码
Android系统架构
HAL层
HAL is the hardware abstraction layer which is defined by Android platform. The HAL layer is between Linux kernel and android C++ libraries, it provides the following functions:
Access to hardware
Access to kernel drivers or proprietary user-space drivers
Support for the driver without standard APIs (. vibrator)
Android系统架构
Linux内核层
基于Linux ,
显示驱动: 基于Linux帧缓冲驱动
键盘驱动
Flash内存驱动:
照相机驱动:
音频驱动:
蓝牙驱动: 基于IEEE
WiFi 驱动: 基于IEEE 标准驱动
Binder IPC: 特殊驱动, 提供进程间通信功能
Power Management: 电池电量等管理
SDK 开发环境的搭建
系统要求:
Windows XP及以上版本, Mac OS, Linux 等
软件要求
JDK (http://java.)
Eclipse ()
Android SDK (http://developer./sdk/)
ADT (https://dl-ssl./android/eclipse)