Android平台移植应该做两步工作

2011-04-06 09:52:00来源:IT168技术 热度:

Android系统的移植工作的目的是为了在特定的硬件上运行Android系统。在移植的过程中,把握关键要点,减少工作量是一个重要的方面。从工作的角度,通常的方法为,首先要熟悉硬件抽象层的接口,其次要集成和复用已有的驱动程序,主要的工作量在硬件抽象层的实现中。为了更好地理解和调试系统,也应该适当地了解上层对硬件抽象层的调用情况。
  移植方面主要的工作有两个部分:
Linux驱动
Android系统硬件抽象层
Linux中的驱动工作在内核空间,Android系统硬件抽象层工作在用户空间,有了这两个部分的结合,就可以让庞大的Android系统运行在特定的硬件平台上。
Android移植的主要工作如图1所示。

图1 Android移植的主要工作
在具有了特定的硬件系统之后,通常在Linux中需要实现其驱动程序,这些驱动程序通常是Linux的标准驱动程序,在Android平台和其他Linux平台基本上是相同的。主要的实现方面是Android系统中的硬件抽象层(Hardware Abstract Layer),硬件抽象层对下调用Linux中的驱动程序,对上提供接口,以供Android系统的其他部分(通常为Android本地框架层)调用。
提示:Android硬件抽象层的接口是本地移植层的接口,不属于标准API,不具有向前或者向后兼容性。
在Android系统需要移植的内容,主要包含了以下的各个部分:
显示部分(Display)
包括framebuffer驱动+Gralloc模块(可选择是否实现)
用户输入部分(Input)
包括Event驱动+EventHub(Android标准内容)
多媒体编解码(Codec)
包括硬件Codec驱动+Codec插件(如OpenMax)
3D加速器部分(3D Accelerator)
包括硬件OpenGL驱动+OpenGL插件
音频部分(Audio)
包括Audio驱动+Audio硬件抽象层
视频输出部分(Video Out)
包括视频显示驱动+Overlay硬件抽象层
摄像头部分(Camera)
包括Camera驱动(通常是v4l2)+Camera硬件抽象层
电话部分(Phone)
Modem驱动程序+RIL库
全球定位系统部分(GPS)
包括GPS驱动(通常为串口)+GPS硬件抽象层
无线局域网部分(WIFI)
包括Wlan驱动和协议+WIFI的适配层(Android标准内容)
蓝牙部分(Blue Tooth)
包括BT驱动和协议+BT的适配层(Android标准内容)
传感器部分(Sensor)
包括Sensor驱动+Sensor硬件抽象层
震动器部分(Vibrator)
包括Vibrator驱动+Vibrator硬件抽象层(Android标准内容)
背光部分(Light)
包括Light驱动+ Light硬件抽象层
警告器部分(Alarm)
包括Alarm驱动和RTC系统+用户空间调用(Android标准内容)
电池部分(Battery)
包括电池部分驱动+电池的硬件抽象层(Android标准内容)
Android中具有很多组件,但并不是每一个部件都需要移植,对于一些纯软的组件,就没有移植的必要。对于一些部件,例如浏览器引擎,虽然需要下层网络的支持,但是并非直接为其移植网络接口,而是通过无线局域网或者电话系统数据连接来完成标准的网络接口。
Android的移植主要可以分成几个类型:基本图形用户界面(GUI)部分,包括显示部分和用户输入部分;和硬件相关的加速部分,包括媒体编解码和OpenGL;音视频输入输出环节,包括音频,视频输出和摄像头部分;连接部分,包括无线局域网,蓝牙,GPS;电话部分;附属部件:包括传感器、背光、振动器等。
除了以上的移植方面,电源管理也是非常重要的一个方面,它和Android的各个子系统都有关系。
Android系统主要需要移植部件如图2所示。

图2 Android系统主要需要移植部件
对于大部分子系统,硬件抽象层和驱动程序都需要根据实际系统的情况实现,例如:传感器部分、音频部分、视频部分、摄像头部分、电话部分。也有一些子系统,硬件抽象层是标准的,只需要实现Linux内核中的驱动程序即可,例如:输入部分、振动器部分、无线局域网部分、蓝牙部分等。对于有标准的硬件抽象层的系统,有的时候通常也需要做一些配置工作。
时至今日,随着Android系统的发展,它已经不仅仅是一个移动设备的平台,也可以用于消费类电子和智能家电,例如:上网本、电子书、数字电视、机顶盒、固定电话等。在这些平台上,通常需要实现比移动设备更少的部件。一般来说,基本用户界面部分(包括显示和用户输入)是需要移植的,其他部分是可选的。例如:电话系统、振动器、背光、传感器等一般不需要在非移动设备系统来实现;对于一些固定位置设备通常也不需要实现GPS系统。

责任编辑:DVBCN编辑部

为您推荐

MIPS明年将推出Android数字电视 支持高清视频

北京时间8月6日消息,据国外媒体报道,微处理器设计厂商MIPS技术试图使GoogleAndroid软件超越手机范畴,计划明年推出Android数字电视和机顶盒。尽管Android的开发初衷是作为智能手机操作系统,但计算机厂商很快将其用于上网本。今年6月已经有数家计算机厂商在台北国际电脑展上展示了Android上网本。现在,MIPS希望Android登陆家电产品。MIPS营销副总裁阿特-斯威夫特(ArtSwift)认为:“Android将大有用武之地。在我从事电子产业的25年中,从未见过哪项新技术能象Android这样迅速发展的,Android已快速超越了手机领域。”斯威夫特表示:“Androi

智能手机必将替代功能手机

智能手机是未来发展的方向。在参展的手机设计公司希姆通展台,其负责海外销售的宋经理告诉记者,从今年上半年情况来看,各大手机设计公司中智能手机出货情况比较好,今后还有继续扩大的趋势。Android手机“以稀为贵”智能手机扩大的趋势从各手机企业的展示情况就已经能看出来。三星、酷派等手机企业,MTK、高通等芯片企业,希姆通等设计公司的展品都有不少款智能手机产品或解决方案展出。不过今年的特色是,各企业并不将智能手机作为一个单独的门类介绍,而是按照不同的技术制式摆放。智能手机所涵盖的Symbian、WidowsMobile、LinuxAndroid等几大操作系统门类也并没有特别地被强调,企业只展示机器本身

MIPS将Android机顶盒带进家庭应用

MIPS科技营销副总裁ArtSwift表示:“MIPS是针对数字家庭首屈一指的架构,我们在Android平台上的优化是客户能对新一代连网数字家庭和其它产品的关键。通过合作伙伴的通力合作,我们在为各种消费设备优化Android方面获得了很大进展。我们为Android带来了全高清体验,现在我们正为数字家庭设备提供所需的多声道音频和增强的用户界面。我们期望能在2010年看到更多Android-based的首创的数字家庭产品。”全球首款Android-based的机顶盒、基于MIPS架构的Android上网本及全球首家Android社交媒体中心在CES期间,Celrun的子公司WesternMedia

中兴推出与法国电信运营商联合推出Android手机

昨天,中兴通讯与法国电信运营商布依格电信合作推出两款新手机———中兴通讯首款基于Android系统智能手机Link和触摸式手机Cute。用户只需要预付29欧元即可获得中兴通讯发布的第一款Android手机Link。中兴通讯今年一月份加入了Android阵营,并计划在今年第一季度推出搭载谷歌移动操作系统的手机。中兴通讯一直为国外运营商生产定制手机,根据国际市场调查公司iSuppli的数据显示,2009年中兴通讯手机终端销量超过6000万部,在第四季度跻身全球前五。