Android系统移植 http://source.android.com/devices/index.html
2014-07-04 10:50
316 查看
移植Android到不同的设备
Android允许提供不同的硬件平台和驱动支持Android的运行。硬件抽象层(Hardware Abstraction Layer)提供了再Android平台软件栈和硬件设备之间的标准接口。另外,Android操作系统是开源的,可以帮助你快速的开发软件,让软硬件协同工作。为了保证Android设备的高质量和对用户的统一用户体验,必须通过兼容测试包(Compatibility test suite). CTS能搞保证任何人开发的设备符合统一的标准,并且应用可以可靠的运行,并且有着良好的体验。
Android底层系统架构
在你将Android移植到你的硬件设备之前,对android在更高的层次上如何工作有一个了解非常重要。因为驱动和HAL和Android系统的其他部分的源码有很多交互,因此理解这部分对你学习整个AOSP(Android Open Source Project)源码的其他部分十分重要。下面这张图说明了再系统层次Android是如何工作的。图1.Android系统架构
应用框架(Application Framework)
这一层是大部分应用软件开发者需要关心的。这里需要明白对于开发者可用的应用编程接口(API),许多接口和下层的HAL接口提供的功能相同,所以这部分可以帮助了解如何实现驱动。Binder进程间通信
Binder进程间通信机制允许应用程序框架跨进程调用Android系统服务提供的功能。这基本上允许高层的框架API可以和Android系统服务进行交互。从应用框架的层次看,所有的通信对开发者是隐藏的,事情看起来“工作的非常好”。系统服务
应用框架层API提供的大部分功能需要和系统服务进行通信来访问底层的硬件。服务被人为的分为不同的功能模块,这些模块完成不同的功能,比如窗口管理器,搜索服务和通知管理器(Notification Manager).系统服务被分在两个组里:系统(system)和多媒体(media).system(系统)服务包括窗口和通知管理器等。多媒体服务包括所有播放和录制多媒体相关的服务。硬件抽象层(Hardware Abstraction Layer)
HAL为Android系统调用底层驱动提供了一个标准的接口,同时屏蔽了底层驱动和硬件的具体实现。你必须为产品上的硬件实现相应的硬件抽象接口或驱动。Android并不强制要求驱动和HAL实现的标准接口,你可以根据你产品的实际状况作出调整。然而,你必须保证所有的HAL接口实现可以正确的和底层硬件交互。所有的HAL实现都被编译成为一个动态链接库。Linux内核
开发Android设备驱动和开发标准的Linux设备驱动相同。Android使用了一个特殊版本的Linux,添加了一些设备驱动比如wakelock,一个内存管理系统,Binder进程间通信驱动等对嵌入式平台非常重要的功能。这些新添加的功能主要和系统功能相关。你可以使用任何版本的内核,只要支持特定的功能,例如binder驱动。然而,我们推荐使用最新版的AndroidKernel。相关文章推荐
- 嵌入式数据库系统Berkeley DB http://www.ibm.com/developerworks/cn/linux/l-embdb/index.html
- http://www.ibm.com/developerworks/cn/opensource/os-cn-quartz/index.html
- osgi入门文章 转载http://www.ibm.com/developerworks/cn/education/opensource/os-eclipse-osgi/index.html
- 国内android帮助文档镜像网站---http://wear.techbrood.com/develop/index.html
- 企业信息化规划--http://www.blogcn.com/User/fieldnet/index.html
- “有道难题2010网易编程挑战赛”http://www.youdao.com/nanti/index.html
- Lnk1202 http://www.codeguru.com/forum/archive/index.php/t-386908.html
- Linux音频编程指南(转自http://www.ibm.com/developerworks/cn/linux/l-audio/index.html#author 作者 肖文鹏)
- Android 轻松实现语音识别(转http://www.cnblogs.com/TerryBlog/archive/2010/11/12/1875875.html)
- Mysql存储过程(http://dev.mysql.com/doc/refman/5.1/zh/index.html)
- 基于B/S体系结构开发应用系统 (转载http://lw.mumayi.com/htmldata/96/100/2005_11/article-33794_1.html)
- QT的英文教程:http://doc.trolltech.com/qq/index.html
- http://www.hunnysoft.com/jmime/index.html[]
- android intent和intent action大全(转http://www.cnblogs.com/playing/archive/2010/09/15/1826918.html)
- (http://englishhome.bokee.com/index.html)English studying form homeenglish bokee
- http://www.jdon.com/index.html
- 友好日记本(http://www.kindtools.com/cn/index.html)
- Single Sign-On http://www.ibm.com/developerworks/cn/security/se-sso/index.html
- http://www.sysinternals.com/index.html
- 移植KVM到arm-linux(1) http://tech.jayya.com/2007/11/28/porting-kvm-to-armlinux.html