欢迎来到天天文库
浏览记录
ID:37708588
大小:76.78 KB
页数:27页
时间:2019-05-29
《android驱动开发和移植详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、android驱动开发和移植详解本文出处:《Android底层开发技术实战详解——内核、移植和驱动》我们开发的Android驱动程序是基于Linux内核的,本文首先介绍移植Android系统的基本知识和基本原理,这也是为驱动开发打下坚实基础,知其然也知其所以然;最后我们将通过深入浅出的案例学习驱动开发过程。1.1驱动开发需要做的工作Android作为当前最流行的手机操作系统之一,受到了广大开发人员和商家的青睐。Android正在逐渐形成一个蓬勃发展的产业,带来了无限商机。既然Android这么火爆
2、,我们程序员可以学习它的哪一方面的内容呢?本书的驱动开发又属于哪一领域呢?接下来将为读者奉上这两个问题的答案。Android是一个开放的系统,这个系统的体积非常庞大,开发人员无须掌握整个Android体系中的开发知识,只需熟悉其中某一个部分即可收获自己的未来。从具体功能上划分,Android开发主要分为如下三个领域。1.移植开发移动电话系统移植开发的目的是构建硬件系统,并且移植Android的软件系统,最终形成手机产品。2.Android应用程序开发应用程序开发的目的是开发出各种Android应用
3、程序,然后将这些应用程序投入Android市场,进行交易。Android的应用程序开发是Android开发的另一个方面。从开发的角度来看,这种形式的开发可以基于某个硬件系统,在没有硬件系统的情况下也可以基于Linux或者Windows下的Android模拟器来开发。这种类型的开发工作在Android系统的上层。事实上,在Android软件系统中,第3个层次(Java框架)和第4个层次(Java应用)之间的接口也就是Android的系统接口(系统API)。这个层次是标准的接口,所有的Android应
4、用程序都是基于这个层次的接口开发出来的。Android系统的第4个层次就是一组内置的Android应用程序。Android应用程序开发者开发的应用程序和Android系统的第4个层次的应用程序其实是一个层次的内容。例如,Android系统提供了基本的桌面程序,开发者可以根据Android的系统接口,实现另外一个桌面程序,提供给用户安装使用。根据Android系统的接口开发游戏,也是Android底层开发技术实战详解——内核、移植和驱动Android应用程序开发的一个重要方向。上述两种类型的开发结构
5、如图3-1所示。主屏幕联系人电话浏览器„„应用程序活动管理器窗口管理器内容提供器视图系统通知管理器应用程序框架应用程序开发包管理器电话管理器资源管理器本地管理器XMPP服务接口管理器包管理器包管理器持久层库Android运行环境Dalvik虚拟机器包管理器位图及矢量浏览器引擎库2D图形引擎中间协议libc函数库显示驱动相机驱动蓝牙驱动Flash内存驱动BinderIPC驱动Linux内核层能源管理USB驱动键盘驱动WiFi驱动音频驱动移植开发各种硬件图3-1Android开发的领域3.Androi
6、d系统开发系统开发的目的是升级或改造Android中已经存在的应用和架构,开发出有自己特色的手机系统。例如联想手机乐Phone就是在Android基础上打造的一款适合国人使用习惯的手机系统,如图3-2所示。58图3-2乐PhoneAndroid系统开发的一个比较典型的示例就是当系统需要某种功能时,为了给Java层次的应用程序提供调用的接口,需要从底层到上层的整体开发,具体步骤如下所示。增加C或者C++和本地库。定义Java层所需要的类(系统API)。将所需要的代码封装成JNI。结合Java类和JN
7、I。应用程序调用Java类。一定要慎重对待对Android系统API的改动工作,因为系统API的稍微变动就可能会涉及Android应用程序的兼容问题。Android系统本身的功能也处于增加和完善的过程中,因此Android系统的开发也是一个重要的方面。这种类型的开发涉及Android软件系统的各个层次。在更多的时候,Android系统开发只是在不改变系统API的情况下修正系统的缺陷,增加系统的稳定性。从商业模式的角度来看,第一种类型的开发和第二种类型的开发是Android开发的主流。事实上,移动电
8、话的制造者主要进行第一种类型的开发,产品是Android实体手机;公司、个人和团体都可以进行第二种类型的开发,其产品是不同的Android应用程序。在Android的开发过程中,每一种类型的开发都只涉及整个Android系统的一个子集。在Android系统中有着众多开发点,这些开发点相互独立,又有内在联系。在开发的过程中,需要重点掌握目前开发点涉及的部分。背景说明:AndroidAPI的接口是用Java语言编写的,通常更改接口函数的格式(参数、返回值)、常量的值等内容就相当于更改系
此文档下载收益归作者所有