您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 药学 > 01_1_Android系统移植开发概述
1Android系统移植开发概述韩超@Android技术2Android系统移植开发概述第一部分Android系统架构第二部分Android移植的概念和方法第三部分Android移植的主要工作3第一部分Android系统架构和生态系统Android是一个包括操作系统、中间件和关键应用的移动设备软件堆。Android是目前最流行的手机开发平台,依靠Google的强大开发和媒体资源,Android成为众多手机厂商竞相追逐的对象。4第一部分Android系统架构和生态系统第一层:Linux操作系统及驱动第二层:本地框架和Java运行环境第三层:Java框架第四层:Java应用程序内核空间--用户空间C/C++--JAVA系统API5第二部分Android移植的概念和方法Android的操作系统使用Linux2.6内核,包括安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也同时作为硬件和软件系统之间的抽象层。Android本地库包含一些C/C++库,这些库可以被Android系统中不同的组件使用,它们通过Android应用程序框架为开发者提供服务。Android运行环境为Java的运行环境,提供了Java编程语言核心库的大多数功能,由DalvikJava虚拟机和基础的Java类库组成。Dalvik是Android中使用的Java虚拟机,Dalvik被设计成一个可以同时高效地运行多个虚拟机实例的虚拟系统。6第二部分Android移植的概念和方法Android应用程序框架包含了四种基本的组件(活动、服务、广播接收器、内容提供者),丰富的控件(在Android中称为视图),内容提供器,资源管理器,通知管理器,活动管理器等。Android应用程序一般由Java语言编写,核心应用程序和系统一起发布,包括:桌面、电话、短信息、E-mail、日历、浏览器、联系人管理程序等。7第一部分Android系统架构和生态系统标准LinuxAndroid系统核心驱动Android系统相关设备驱动内核空间用户空间C程序框架硬件抽象层Andoid各种底层库Dalvik虚拟机核心库JNIJAVA框架JAVA应用程序RunTime硬件系统系统API硬件系统8第二部分Android移植的概念和方法在各个厂商制作基于Android系统的产品的时候,虽然有的时候也需要修改Android的框架,但是移植是其中的主要工作。Android系统本身是一个庞大的系统,移植并不需要精通Android的每一个部分,主要需要考虑的是Android系统的硬件抽象层(HAL)和Linux中的相关设备驱动程序。9第二部分Android移植的概念和方法特定硬件系统移植开发Android的Linux内核Dalvik虚拟机核心库JAVA框架JAVA应用程序Android运行环境本地程序框架硬件软件10第二部分Android移植的概念和方法Google的Android系统是一个完全开放的系统,也是一个完整的生态系统,它分成了三个有机的组成部分:Android源代码工程(AndroidOpenSourceProject)网址:开发者(AndroidDeveloper)网址:市场(AndroidMarket)网址:第三部分Android移植的主要工作移植方面主要的工作有两个部分:Linux中的驱动Android系统硬件抽象层Linux中的驱动工作在内核空间,Android系统硬件抽象层工作在用户空间,有了这两个部分的结合,就可以让庞大的Android系统运行在特定的硬件平台上。12第三部分Android移植的主要工作在具有了特定的硬件系统之后,通常在Linux中需要实现其驱动程序,这些驱动程序通常是Linux的标准驱动程序,在Android平台和其他Linux平台基本上是相同的。主要的实现方面是Android系统中的硬件抽象层(HardwareAbstractLayer),硬件抽象层对下调用Linux中的驱动程序,对上提供接口,以供Android系统的其他部分(通常为Android本地框架层)调用。13第三部分Android移植的主要工作Android中具有很多组件,但并不是每一个部件都需要移植,对于一些纯软的组件,就没有移植的对于。对于一些部件,例如浏览器引擎,虽然需要下层网络的支持,但是并非直接为其移植网络接口,而是通过无线局域网或者电话系统数据连接来完成标准的网络接口。Android的移植主要可以分成几个类型,基本图形用户界面(GUI)部分,包括显示部分和用户输入部分;加速器部分,包括媒体编解码和OpenGL;音视频输入输出环节,包括音频,视频输出和摄像头部分;连接部分,包括无线局域网,蓝牙,GPS;电话部分;附属部件:包括传感器、背光、振动器等;电源管理部分。除了以上的移植方面,电源管理也是非常重要的一个方面的内容,它和Android的各个子系统都有关系。14第三部分Android移植的主要工作fbdriverLinuxkernelUserspaceJavaFrameworkJavaApplicationLCDSystemAPIHardwareEventdriverTouch/KeyBoardAudioAudiodriverCameraCameradriverVideoOutDrviceVideoOutdriverCodecdriverNativeFrameworkHWCodecWIFIGPSBluetoothWIFIdriverGPSdriverBTdriverModemdriverModemGPSHALCodecPlugInOverlayHALCameraHALAudioHALNativeAPIOpenGLHWOpenGLOpenGLlibSensorHALSencordriverSensorsRILHAL15第三部分Android移植的主要工作时至今日,随着Android系统的发展,它已经不仅仅是一个移动设备的平台,也可以用于消费类电子和智能家电,例如:上网本、电子书、数字电视、机顶盒、固定电话等。在这些平台上,通常需要实现比移动设备更少的部件。一般来说,基本用户界面部分(包括显示和用户输入)是需要移植的,其他部分是可选的。例如:电话系统、振动器、背光、传感器等一般不需要在非移动设备系统来实现;对于一些固定位置设备通常也不需要实现GPS系统。16谢谢!
本文标题:01_1_Android系统移植开发概述
链接地址:https://www.777doc.com/doc-3318993 .html