收藏 分享(赏)

android系统移植和应用程序开发.pdf

上传人:精品资料 文档编号:7632222 上传时间:2019-05-22 格式:PDF 页数:69 大小:9.04MB
下载 相关 举报
android系统移植和应用程序开发.pdf_第1页
第1页 / 共69页
android系统移植和应用程序开发.pdf_第2页
第2页 / 共69页
android系统移植和应用程序开发.pdf_第3页
第3页 / 共69页
android系统移植和应用程序开发.pdf_第4页
第4页 / 共69页
android系统移植和应用程序开发.pdf_第5页
第5页 / 共69页
点击查看更多>>
资源描述

1、Android系统移植和应用程序开发 摘要摘 要近年来,随着现代工业及科学技术的迅速发展,嵌入式技术的发展及其在各个领域的应用等都发挥着越来越重要的作用。伴随着嵌入式技术和嵌入式系统的发展,手持设备也迅猛的发展,特别是智能手机行业的发展也越来越受到各大制造厂商的关注,而以往各个手机厂商基本上都是自己开发自己的手机软件系统,但是,自从最近Google公司发布了一款开放式的手持嵌入式系统平台之后,各大手机厂商也都争相参与该系统的开发,并希望能将该系统应用到自己的手机产品上,而我们公司正好此时也接到一个类似的订单,即有关于Android系统的开发项目,因此毕业设计题目选择开发一套嵌入式系统:Andr

2、oid的系统移植与应用程序开发,并希望该系统能够在真实的物理设备上使用。首先,软件部分,介绍嵌入式操作系统Android系统,介绍标准的嵌入式Linux系统内核结构描述;接着硬件部分,对基于ARM9架构CPU系统硬件结构做简单的描述,然后描述将标准的嵌入式Linux系统移植到基于AR19(硬件开发板mini2440)处理器的目标板上的方法与步骤,介绍了目标平台和Linux系统,并介绍了如何搭建移植环境,如何制作交叉编译工具链和如何制作开机引导程序Bootloader、建立了根文件系统、以及嵌入式Linux内核的开发和移植;由于Android系统基于Linux系统而开发,所以本论文就用了一定的篇

3、幅介绍Linux系统的移植开发。接着就是本文的重点,介绍如何移植Google新近推出的移动设备软件平台Android系统以及基于此平台的移动终端应用程序开发,结果证明该方法是可行的,移植后Android在嵌入式系统中运行良好。关键字嵌入式系统,ARM9,Android,交叉工具链,LinuxABSTRACTRecentlvwith the rapid development of the modern industry and thescience and technologyIn increasingly and various fields,it is playingan importan

4、t role that the Embedded technology developingand the EmbeddedSystem appl l edAl ong wi th the development of Embedded Systems,thehandheld devices are also developed rapidlyEspecially,it IS Veryconcerned to the major manufacturers that the development of thesmartphoneHowever,in the past,the smartpho

5、ne manufacturersaredeveloped its owner smartphone software system by themselvesS1nceGo091 e launched an opened platform for smartphone Embedded System,thema jor smartphone manufacturers are also competing to participate in thegroup for developing the Embedded System and hoped that the smartphonesvst

6、em can be applied to their owner products Our companyreceived anorder that we will develop Google Android system for the other companySo i decide to write paper that i will develop Embedded SystemGoogleAndroid svstem porting and application development,and i hope that thesystem is ported to real phy

7、sical deviceAt first,1 will introduce the Android system,Embedded Linux Systemhardware archi tecture and kernel structure,then describes the method andthe Drocess of the basic Embedded Linux port ingto target machinetheAR19(mini2440 development board)system,and explains how to bulldDortable environm

8、ent,how to make crosscompi ler Toolchain,how to makeBootloaderand describes Bootloaders the structures and the functions,as well as introduce the Embedded Linux root fileSystem based 013 Embedded Linux,1 will spend somesystem,Because Androidcontents in introducingh。w t。p。rt ing Embedded Linux t。dem。

9、board mini2440,At last,1wi l lintroduce that how to porting Google Android to target platform andhowto devel。p Andr。id application software,the results indicates thatthemethod is feasible,the Android system work very well on target platformKeywords Embedded Systems,ARM9,Androi d,Toolchain,Linux2Andr

10、oid系统移植和应用程序开发 第一章绪论11手机操作系统简介第一章绪 论手机的用户群日益庞大,在人民生活中手机起到愈加重要的作用。在2010年1月由一个网站所做的调查表明,中国手机用户数量将达到七点四亿多。全国的手机及其它具有手机功能的设备的用户群体,这个数量还在继续增长。这样一来,就有更多的手机厂商也都想抓住商机赢得更多用户,所以也就涌现出许许多多的手机品牌和手机操作系统,我们大家所知道的有如:Symbian、PalmOS、Windows Mobile、Smartphone等等,这里对手机品牌不作介绍,对于手机的操作系统,这些系统中,每个系统也有许多版本,有的版本是智能的,有的版本非智能的,

11、各有各的特色和优缺点,这里不对各个系统进行详细的评论。Google公司推出了一套手机操作系统Android,并宣布Google要进军手机领域,宣称其手机系统是一个开放平台,所以就引来了许多的手机厂商的关注和极大的兴趣。由于Android系统是基于标准的Linux内核开发的一套嵌入式系统,也可以说Android系统的核心部分(不包括上层应用程序部分)是Linux系统,所以该论文在介绍Android系统移植开发之前,也就会描述和介绍通用嵌入式Linux系统移植的有关软件内容,对于涉及硬件方面不作过多的描述。12手机操作系统目前现状近来微电子技术的迅猛发展,处理器升级增长的速度也随之加快,嵌入式系统

12、领域发生了翻天覆地的变化,特别是现在网络的普及,可以使嵌入式系统具备网络的功能,嵌入式与网络也就成为当今最热门的技术,从而使得嵌入式系统得以更广泛的应用,应用到了各个领域,但是在这众多的应用中,我们最有切身体会的就是手机的使用。接下来就针对常见的几款智能手机系统简单介绍一下5|:(1)Windows Mobile系列操作系统是微软在计算机的Windows操作系统上变化而来的,因此,它们的操作界面与PC的操作系统非常相似,因此性能比较好,操作起来速度会比较快。但是,此系列手机也有一定的缺点,如因配置高、功能多而产生耗电量大、电池续航时间短、硬件采用成本高等缺点。(2)Symbian操作系统提供了

13、灵活的应用操作界面框架,不但使开发者得气Android系统移植和应用程序开发 第一章绪论以快速掌握必要的技术,同时还使手机制造商能够推出不同界面的产品,但是这种系统类型的手机,它的输入方式包括键盘输入和手写笔输入,不同的输入方式和外观设计会对各款手机的主要用途产生很大的影响,每种输入方法对消费者也有一些要求,如要求熟悉拼音,写字等。(3)PalmOS是3Com公司开发的一种32位的嵌入式操作系统,原本是一家生产掌上电脑及掌上电脑操作系统为主的公司,Palm智能手机所用的Palm操作系统又与Palm掌上电脑所用的操作系统非常相似,与微软所推出操作系统要占有大量的系统资源和储存容量不同的是,它本身

14、所占的内存极小,基于Palm操作系统编写的应用程序所占的空间也很小,对于中国用户而言,它有一个不足之处是,它的操作系统起初在中国销售的产品仍然要使用中文外挂平台,有相当部分依然是以英文界面为主,在一定程度上影响了基于Palm操作系统的产品大面积进入中国市场。(4)Linux是一套免费使用和自由传播的操作系统。Linux具有稳定、可靠、安全等优点,有强大的网络功能。由于Linux具有源代码开放,这一特点非常重要。从应用开发的角度看,由于Linux的源代码是开放的,有利于独立软件开发商(ISV)开发出硬件利用效率高、功能更强大的应用软件,也方便行业用户开发自己的安全、可控认证系统,因为丰富的应用是

15、智能手机的优越性体现和关键卖点所在。特别是当智能手机大量用作行业应用的移动终端时,Linux在手机操作系统市场中也异军突起,成为一股不容忽视的力量。(5)iPhone,相比于前面几个系统,Apple的iPhone系统的性能可能算是比较优越的,但是它在价格和语言本地化方面有一定的局限性,但是Android也吸纳了它的一些优点,而且在此基础上还做了优化,这就是Google的聪明和可以制胜之处。目前,琳琅满目的手机系统,有时也让消费者在选择手机时头痛,比如:有的手机外观还蛮赏心悦目的,但是使用时感觉手机系统和应用不是很理想;有的手机系统和应用系统很称心,但是外观傻傻的;有一些手机系统操作起来很复杂,

16、好像是为一些专业人士设计似的等等;还有的是所谓的高端手机其实就是增加了几个吸引消费者眼球的卖点就把手机价格拉得很高;总的来说目前的手机市场不是很令人满意,所以希望能有某个手机软件能够一统手机的操作系统。i3手机操作系统发展趋势据不完全统计,目前全球手机用户有30亿,2006年统计的中国手机用户有261亿;去年全球手机出货量约11亿部,其中中国约55亿部n 4|。美国最著名的未来学家尼葛洛庞帝在1999年访华时曾经预言,在4至5年后嵌入式系统和4Android系统移植和应用程序开发 第一章绪论互联网将是既PC之后的最伟大的发明。如今10年将要过去了,现实的发展验证了他的语言的正确性。现在嵌入式系

17、统正处于高速的发展阶段,未来的几年,这种发展和竞争将是愈演愈烈。由于嵌入式系统已经渗透到许多领域,如工业控制、移动通信、GPS、娱乐等,将来它会发挥更大的优势。Symbian、Linux、Windows Mobi le、Palm是目前主要的手机嵌入式操作系统,而Linux手机市场份额的上升,更多的源于Linux开放平台的支持,也随着嵌入式系统时代的发展而发展,近期,随着3G时代的到来,也可能是由于底层的Linux核心是一个开源平台,中国几大手机运营商如移动、电信、联通也在紧锣密鼓的筹备并与Google公司合作而开发Android系统,由于Android的内核Linux部分是开源的,所以在价格方

18、面占据了很大的优势。看来使用Android系统是将来手机系统的很大的趋势。14 Android简介Android是一个开源的智能手机操作系统,Android翻译成中文是机器人,机器人这个名词通常是指硬件部分,而Android是操作系统,是软件部分。这个目前正热门的手机系统跟以往各大手机厂商闭门自修所研发的系统最大的区别在于它开放原始代码,让一些手机厂商或一般的开发爱好者也可以轻易的利用Google公司所提供的SDK开发各式各样的应用软件。Android是基于Linux内核,由Linux内核、Linux运行库、用来运行代码的类似Java虚拟机以及全套的移动电话应用程序组成的,和标准的Linux开

19、发流程一样,Android系统平台开发的一个很重要的基础工作就是对其内核的编译和移植,其系统架构如下图卜l,其中Applications是Android的应用软件部分, Application Framework是Android的应用软件框架模型,Android Runtime是Android系统的运行库,Libraries是Linux系统的标准库,Linux Kernel是Linux系统的内核,也是Android系统的内核。Appl ieat ionsAppl icat ionFrameworkAndroidRuntimeLibrari esLinux Kerilel图卜1 Android系

20、统基本架构5Android系统移植和应用程序开发 第一章绪论本文结合Android的开发文档以及实践经马佥,介绍了Android内核的开发移植过程,同时也以一个实例介绍了如何了开发Android系统的应用程序。15本论文的主要工作和组织结构本论文分析了手机系统的目前现状和发展趋势,研究了嵌入式Linux系统移植的关键技术问题,分析了Android系统的功能和结构,并成功地移植了嵌入式Linux系统和Android系统。本文嵌入式Linux系统移植和Android系统移植涉及的关键性问题有:(1)建立嵌入式Linux系统的交叉开发环境对于嵌入式系统,目标板mini2440只有很小的存储空间,处理

21、器频率也很低。所谓交叉开发,就是在开发主机上编译源程序,在目标板上运行可执行程序。通常通过串口或者以太网接口传输Linux内核文件到目标板,让目标板的Linux挂接NFS或者其它的文件系统。这样的交叉开发环境可以非常方便地进行嵌入式Linux开发、调试、以及集成等。(2)移植引导程序Bootloader嵌入式Linux内核通常需要目标板上的固件引导。这些引导程序就是Bootloader,在目标板上电的时候,完成板级初始化和Linux内核引导的任务。由于Bootloader和CPU及电路板的配置情况非常相关,不可能有通用的Bootloader,开发时需要用户根据自己的具体情况进行选择移植。ubo

22、ot是一种常用的Bootloader,本文就是选择通过uboot来引导的。(3)移植Linux内核移植Linux系统内核是嵌入式Linux移植的关键部分,需根据具体的硬件平台添加或修改系统的选项、系统平台编译选项、修改系统引导代码等,为裁剪过的Linux内核添加、修改与硬件相关的代码。为了减小内核大小使Linux适合特定的应用场合,需要对Linux内核进行裁剪,将系统必须的部件直接编译进内核,其它不经常用到的部件可以以模块的形式动态加载到内核,以备系统调用。(4)开发Linux文件系统把Linux内核文件和文件系统烧写到存储设备中,使开发板上Linux系统能够独立启动并运行,根据开发板的情况,

23、选择合适的文件系统,如cramfs、yaffs2、jffs2或nfs,由于开发板mini2440内存较小,这里选择的是nfs格式的文件系统。(5)Android系统移植目前Android系统备受各大厂商(特别是手机厂商和运营商)关注,他们中好多都有意向朝着这个方向发展,认为Android可能是下一代的手机操作系统。6Android系统移植和应用程序开发 第一章绪论(6)Android系统上开发应用程序描述了开发Android系统的应用程序的开发环境的建立,应用程序开发的步骤,以及如何运行和卸载,其中以一个简单的例子做了介绍。本论文的章节安排如下:第一章为绪论,介绍了手机操作系统的现状和发展趋势

24、,分析了嵌入式Linux与Android系统移植涉及的几个关键性问题。第二章介绍了Android系统硬件、软件和开发环境。第三章详细介绍了嵌入式Linux系统移植的各项内容。第四章详细介绍了Android系统移植的各项内容。第五章介绍了Android系统的应用程序开发,描述了开发Android系统的应用程序的开发环境的建立,应用程序开发的步骤,以及如何运行和卸载等重要环节。第六章结论,对本文的工作进行了做了简单总结,并提出对今后工作的展望。Android系统移植和应用程序开发 第二章Android系统介绍第二章And ro i d系统介绍Google公司推出的Android系统,是一个开源开放

25、的平台,基于开源的Linux系统,希望包括全球的一些手持设备、运营商和自由开发者能够在他的系统上开发出优秀的软件,从而进一步扩展和扩大Android系统的使用范围,以使其系统在手持系统占有一席之地。21 Android的由来Android的由来,是现在Google Android系统平台开发的负责人Andy Rubin最先提出的,原来Rubill是个硅谷著名的极客1,除此之外,Rubin也很喜欢机器人,所以2004年Rubin从Danger公司辞职创业后新公司就取名叫Android。2005年一直想进入移动互联网的Google公司收购了Android,之后Google宣布与其它33家手机制造商

26、(包含摩托罗拉、宏达电、三星、LG等)、手机芯片供货商、软硬件供货商、电信运营商联合组成开放手机联盟(Open Handset A1llance),发布了名为Android的开放手机软件平台,这样就有了Google的Android手机系统,Rubin负责该系统平台的研发工作。Google的发展方向初步定位在一个开放的手机平台,然后让一些厂商或自由软件开发者在该平台上自行的开发一些应用软件,然后Google就可以通过这一个开源平台和丰富多样的应用软件使其Android系统在手机系统行业独领风骚。22论文设计思想由于对Andriod系统比较感兴趣,在公司没有最终拿到这个订单后,就自己在工作之余独立

27、的研究。也是由于Symbian和Windows Mobile均不是Linux内核,想在Linux嵌入式方面有些进一步的更深入的学习,于是就抓住了这个机会,同时也促成了这篇论文写作,初步打算在写这篇论文时完成Android系统的移植和简单的Android系统上应用程序的开发。首先,设计并移植标准的嵌入式Linux系统,掌握其各个步骤和环节,包括创建交叉编译工具链、移植Bootloader、Linux内核编译移植和创建文件系统。然后在标准的Linux的基础上延伸移植Android系统。这样既对标准的嵌入式1极客是指对计算机和网络技术有狂热兴趣并投入火量时问钻研的人。8AIIldroid系统移植和应

28、用程序开发 第二章Android系统介绍Linux开发移植有一定的掌握和巩固,也对Android系统的移植掌握,同时也初步掌握Android系统与标准的Linux系统的异同点,这样对后续的开发有很大的帮助。23硬件环境及资源负责Android平台研发的Rubin说:“我们不会制造Android手机硬件,6009le将把相应硬件业务交给其他厂商。”,所以Androi d对硬件要求不是很严格,对许多的硬件平台都支持。还有就是Android系统是一个开放的平台,这样就使得很多的硬件生产厂商对它都产生了很大的兴趣。嵌入式系统的硬件涉及范围较广,如面向商业通用的、面向特定应用的、和面向特定领域的等,60

29、09le建议Android系统对移动终端的硬件的基本要求:(1)CPU:ARM9,工作频率200MHZ(2)RAM: 64MB(3)FLASH: 64MB另外,还有一些其他的辅助设备,如:输入输出设备:键盘、触摸屏、手写笔等接口:网卡、串口、USB等存储设备:SD卡等Android系统是一个基于开源的Linux的开放平台的手机操作系统,所谓开源就是Linux的源代码开放,每个人都可以下载修改。所谓开放就是Android的操作系统的体系架构是透明的开放的。它运行于ARk49构架的CPU,在写这篇论文时采用的硬件是基于三星的mini2440开发板(ARM9平台),其主频400MHz,大于Andro

30、id系统的基本要求;开发板的RAM和FLASH都是64M,基本上是完全满足要求的,但是有个唯一的不足就是,由于Android系统的内容较大(系统内包括了许多应用程序),所以在制作其文件系统如果不做适当的修改,可能FLASH不能容纳,后面的制作文件系统时再作详细的介绍这个内容。9Android系统移植和应用程序开发 第二章Android系统介绍表21开发板mini2440的详细资源特性1:设备名称 内容 备注Samsung$3C2440A,主频400MHz,最高 满足基CPU处理器533Mhz 本要求在板64M SDRAM,32bit数据总线,SDRAM时 满足基SDRAM内存钟频率高达100M

31、Hz 本要求在板64M Nand Flash,掉电非易失,在板2M 基本满FLASH存储Nor Flash,掉电非易失,已经安装BIOS 足要求1、板上集成4线电阻式触摸屏接口,可以直 调试、接连接四线电阻触摸屏; 显示很2、支持黑白、4级灰度、16级灰度、256色、 方便4096色STN液晶屏,尺寸从35寸到121寸,屏幕分辨率可以达到1024x768象素;3、支持黑白、4级灰度、16级灰度、256色、LCD显示 64K色、真彩色TFT液晶屏,尺寸从35寸到121寸,屏幕分辨率可以达到1024x768象素;4、标准配置为NEC256K色240x32035英寸TFT真彩液晶屏,带触摸屏;板上引

32、出一个12V电源接口,可以为大尺寸TFT液晶的12VCCFL背光模块(Inverting)供电。1个100M以太网RJ一45接口(采用DM9000网 这里的络芯片) 接口基3个串行口 本上都接口和资源 1个USB Host 能用到1个USB Slave B型接口1个SD卡存储接口1个2Omm间距10针JTAG接口12M无源晶振 需要修系统时钟源 改内核代码实时时钟 内部实时时钟(带后备锂电池)1个34 pin 2OmmGPIO接口,1个40 pin 2Omm扩展接口系统总线接口10?mdmid系统移植和应用程序开发 第二章Android系统介绍规格尺寸 100 x 100(n衄)Linux-2

33、629(本论文使用该系统)操作系统支持WindowsCENET 501路立体声音频输出接口,一路麦克风接口;4USER LED6 USER buttons(带引出座)1个PWM控制蜂鸣器1个可调电阻,用于AD模数转换测试其他资源1个12C总线AT24C08芯片,用于12C总线测试1个2Omm问距20pin摄像头接口板载时钟电池电源接口(5V),带电源开关和指示灯24软件环境Androi d操作系统和常见的诺基亚Symbian、微软Windows Mobi le(现在统称是Windows Embedded)等,其各自的开发环境也是根据系统平台不同而不同,Android平台是基于Linux的开源、

34、开放的体系架构,它具有功能强大而又简单易用的应用程序框架,支持采用JAVA语言编写应用程序,并有可扩展的用户体验与功能丰富的图形系统和媒体体验,以及增强的基于标准的Web浏览器,而且所有的应用是平等的,不区分基本应用软件和第三方应用软件。它还具有便捷开发的特点,软件开发包(SDK)包括开发者所需要建立和运行的Android应用,也包括真实设备仿真器和高级的Debug工具。特别指出,google称未来Android手机平台将会不断开放源代码,充分实现模块化修改,这将给手机制造商带来更大的开发空间和更个性化的软件接口API。Android系统的软件架构采用分层模式,如图21,这种模式的优点减少了各

35、层之间的软件的相互依赖性,便于各层软件的独立开发和调试。Android系统移植和应用程序开发 第二章Android系统介绍Appl icat ionsHomecontacts(Phone j(Browserf Application Frameworkr Activityf W:indows 1 f Content 1 f View 1脚tificaion【瓤n魏gef J【Manager J 【I:rovders J LSystem j【Manager J【 p撞J【 g舒JL 廿1JpL。n,rCj r、。_atieornManagerManager MeHlager Manag x瓤pP

36、 s9rVtc司Libraries Android Runt ime【Sufa八釉L a 1。JLi tManagerFramework) eCore Libraxi es(OpenGL I ESlFree毛yre霄ebkit Dalvik VirtualMachine(SGL【SSL j【mcLinux KernelDi sIplay弧1(脚tpl龇:j i FIa“Ver 1(R。燃嚣eusB BrVergeypad DtqVer(wifi oriVer :捌t。队tVer【融嚣图2-1 Androi d软件架构u刮下面就对这个架构的各个层次进行逐一的介绍一下(按照由下至上顺序):(1)上

37、图中的最底层的也就是Linux Kernel部分,是该系统的核心部分Linux内核,其中包括Linux内核文件,也包括设备的驱动程序,如DisplayDriver(显示卡)、Camera Driver(摄像头)、Audio Driver(声卡)、USB Driver(USB驱动),Binder IPC Driver(Binder IPC驱动,是Android一个特殊的驱动程序,具有单独的设备节点,提供进程间通讯的功能)等许多设备的驱动程序都被集成在这里,也就是说系统要与这些外围设备通信,首先就要有这些驱动的支持,否则是不能通信的。Android系统最开始的版本是基于内核的版本是Linux一26

38、25,后来又慢慢的升级和完善,在写这篇论文时使用的是Linux一2629。(2)紧接着的上面一层是Linux Libraries(Linux运行库),如SGL(2D图像引擎)、SSL(即Secure Socket Layer位于TCPIP协议与各种应用层协议之问,为数据通讯提供安全支持)、Surface Management(界面管理)、SQLite(通用的嵌入式数据库)等,Android系统也使用了Linux的这些标准库函数,由于这些库既是开源的,也是已经被使用的许多次而验证了的,这样就节省了大量的开发时间,同时也为广大的开发爱好者提供了更广阔而又灵活的空问。可以看到在这一层里面还包含了An

39、droid Runtime(Android运行库),就是说,Android在使用Linux的标准库的同时,也开发了自己专有的库,如Core Libraries,和供这些库函数运行的环境Davik Virtual Machine(Android虚拟机),GoogleAndroid系统移植和应用程序开发 第二章Android系统介绍提出来虚拟机Dalvik的概念,它是将上层的Java程序转换成它可以执行的DEX格式的文件,然后运行。(3)最上面两层都是与应用软件相关的,Google提出了Android的软件框架Appl ication Framework,Android的应用程序框架为应用程序层的

40、开发者提供应用程序接口API,由于上层的应用程序是以JAVA构建的,因此ApplicationFramework层提供的首先包含了U工程序中所需要的各种控件,如:Views(视图组件)包括Lists(列表),Text boxes(文本框),Buttons(按钮)等,甚至一个嵌入式的Web浏览器,一个Android的应用程序可以利用应用程序框架中的以下几个部分:Activity(活动)、Broadcast Intent Receiver(广播意图接收者)、Service(服务)、Content Provider(内容提供者)。希望软件开发人员能够按照这种框架模式快速的开发出一些优秀的应用软件Ap

41、plications,同时有了这样的框架,对于软件的维护也比较容易。在做Android的软件开发之前首先要了解这些架构,这样对开发软件会有很大的帮助的,遇到问题也会很快的找到错误的根源,以便在很短的时间内解决问题。Android支持丰富的多媒体功能(如MPEG4和MP3等)和网络功能(如支持蓝牙和无线网等),有现成的应用程序框架,所以对网络多媒体和应用程序开发都有很大的帮助和很大的优越性。25开发环境介绍Google公司为开发人员提供了大量的开发资源,而且还考虑到一些没有实体硬件的开发者或一些初学者,为他们提供了一款性能优越的软件模拟器,如图22,后面会详细介绍,还包括许多有用的工具,如ADT

42、(Android Develop ToolS)、Android SDK等,Android支持在多种操作系统上的开发,如Windows、Linux、Mac OS等。Android SDK(Android Software Development Kit)是Google公司发布的基于Android系统手机软件开发的工具包,其中也包括开发文档,这些文档对于开发Android应用软件来说有很大的帮助和指导。开发基于Android应用软件,所需要开发环境的系统需求和软件列表如下:表2-2开发Android程序的软件环境吲操作系统IDE 版本 说明Windows XP 作为Android应用软件开发主机L

43、inUX Ubuntu810 作为Android系统开发主机Eclipse IDE 32 供Java开发者使用ADT 可选(推荐) Androi d开发工具插件Android系统移植和应用程序开发 第二章Android系统介绍开发环境是Ubuntu Linux 810版,开发大体步骤是在Linux系统编译Android系统内核和软件,将编译的文件拷贝到Windows上,再通过串口或网络传递,下载相应的文件到开发板上。推荐使用Eclipse+ADT(AndroidDevelopment Tool s Plugin)开发,写这篇论文时使用了ADT,这里说ADT是推荐使用,其实ADT用处很大的,基本

44、上都会使用。26软件调试环境介绍Google提供Android模拟器Dalvik,该模拟器是一个虚拟化的ARM微处理器,它运行的Linux或Android系统内核几乎与在实体设备上运行一模一样的效果,而且Google声明他们的Dalvik虚拟机在速度和内存上与Java相比更有效,将Java翻译成Dalvik字节码,Google就可以利用这个成熟的工具和庞大的Java开发群体,在没有实体硬件的情况下,可以模拟硬件开发一些软件,然后下载到模拟器上运行,结果就像在实体硬件看到一样的效果,我们知道软件开发是离不开调试,如果有个好的调试工具,就给开发人员或者软件调试人员提供了很大的方便和帮助。但是,使用

45、该模拟器也有一定弊端,也就是在Android手机上能够运行应用程序之前,开发者必须在编译的Java代码上运行它,Google提供一个Ecl ipse插件以便于Android程序在模拟器中运行时能在Ecl ipse中编译调试。Android模拟器是我们见过的最完整的模拟器,只要保证开发人员的电脑有足够的内存来同时运行Eclipse和模拟器就可以。一般情况下,软件的开发与调试更离不开开发主机和目标机的,目标机可能是模拟器,也可能是实体开发板,但是由于在开发阶段使用实体开发板反反复复的调试比较麻烦,所以这里开发和调试Android应用软件是就是使用的模拟器Dalvik,然后调试顺畅后再移植到mini

46、2440开发板上调试和使用。在下载的Android SDK开发包里面就包括了相应版本的模拟器,写这篇论文时使用的15版的,文件的路径为:tools,名称为Emulatorexe。如果在这里找不到该文件,就要尝试到Android SDK包的其它目录查找一下,如果确实不能找到,就要自己动手对SDK进行编译,制作模拟器,在写这篇论文时,使用的Android SDK自带的模拟器,就没有对NDK进行编译。在上面说的SDK的路径里找到EmuIatorexe文件,双击就可以直接运行,如果不能打开或者不能运行,也可以在Eclipse开发环境里打开运行,方法是:先运行gcl ipse开发环境,然后在Ecl ip

47、se的Windows菜单里面点击菜单项“Android AVD Manager”,要做简单的配置,模拟器运行后就会显示美好的界面(如图2-2),这种方法与直接双击运行的结果是一样的,将开发的软件下载到14Android系统移植和应用程序开发 第二章Android系统介绍模拟器上或者打开模拟器后装载软件,就可以运行Android应用程序,详细的使用方法本论文的第七章的Android应用程序开发介绍。溺l蒸麓缀戮瀚滋瓣麟戮瓣麓瓣麓糕鬻凝戮戮黼淤麓麓缀麓滋鬻鬻溱溪鬻蘩鬃麓溅瓣鬣黪豢麓l溪戮溯糕鬻缀鬻图22 Android模拟器界面有了Android模拟器这么好的东西,也就是说,如果不想花本钱购买开发

48、板,就可以直接在模拟器上做一些应用软件开发,运行效果基本上与实体开发板类似。 。Android系统的概况的大致情况就介绍到这里,Android系统的开发与移植的详细内容以及应用程序开发,后面的章节就针对这些内容进行详细的阐述。Android系统移植和应用程序开发 第三章嵌入式Linux系统移植第三章嵌入式L i nux系统移植随着信息安全意识的增强,也可能是由于最近金融危机的蔓延和深入,使得一些企业或个人用户考虑使用Linux系统,也不是说Windows系统不够安全,主要是Windows是需要一定的费用,而Linux基本上是免费的,对于企业来说,Linux也是开源的,这样也会节约一定的开发费用

49、。Google的Android系统是基于标准的嵌入式Linux系统内核而开发的,所以在开发移植Android系统时,避免不了的也要做或多或少的Linux系统的开发移植,所以在写这篇论文时也用了一些篇幅介绍嵌入式Linux系统的开发移植,这样,既能了解嵌入式Linux的开发移植,也能熟悉如何入手从嵌入式Linux系统移植到Android系统移植。Android系统内核移植方法大致有以下两种:第一种方法是首先开发一套稳定的Linux系统,然后将Android系统补丁打到Linux系统上。本论文就是采用这个方案,就是向已经移植好Linux内核的mini2440开发板上打Android补丁,这样就是先保证基本的Linux内核正常的启动,然后再打入Android的内核补丁。对于这种方案,好处是,如果出现了错误,对于错误的定位相对的容易一些;第二种方案是先实现可以使用的Kndroid内核,然后在这之上集成Linux的内核补丁,这种方法可能出错的几率较大,因为要考虑Android的各项内容,也要考虑它与Linux内核的兼容性。鉴于移植Android的方法有

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报