android系统结构及平台搭建讲义.ppt

上传人:F****n 文档编号:96026491 上传时间:2019-08-23 格式:PPT 页数:40 大小:2.63MB
返回 下载 相关 举报
android系统结构及平台搭建讲义.ppt_第1页
第1页 / 共40页
android系统结构及平台搭建讲义.ppt_第2页
第2页 / 共40页
android系统结构及平台搭建讲义.ppt_第3页
第3页 / 共40页
android系统结构及平台搭建讲义.ppt_第4页
第4页 / 共40页
android系统结构及平台搭建讲义.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《android系统结构及平台搭建讲义.ppt》由会员分享,可在线阅读,更多相关《android系统结构及平台搭建讲义.ppt(40页珍藏版)》请在金锄头文库上搜索。

1、,Android系统结构及平台搭建,Android系统结构 Android开发环境搭建 Android启动流程分析,Android系统结构,Android系统结构,基于Linux的自由及开源的操作系统。Android操作系统最初由Andy Rubin开发。 2008年10月 第一部Android智能手机发布。 2011年第1季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年11月,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。 2013年09月24日谷歌开发的操作系统Android迎来了5岁生日,全世界采用这款系统的设备数量已经达

2、到10亿台。 目前最流行的智能手机开发平台,现已普及到平板电脑、游戏机、数码相机、OTT机顶盒、智能电视等各终端产品。,Android系统结构,一个好的开发平台一定有一个成熟、稳定的系统架构来支撑 Android平台系统结构从上到下分为四层: 应用层 框架层 系统运行库 Linux内核层,Android系统结构,应用层 Android不仅仅是操作系统,也包含了许多应用程序,如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等。 用Java语言编写,基于框架层API实现。 可被开发人员开发的其他应用程序替换。,Android系统结构,框架层 可重用的软件组件,简化应用程序的开发,向应

3、用提供API。 Activity Manager(活动管理器)管理各个应用程序生命周期以及通常的导航回退功能 Window Manager(窗口管理器)管理所有的窗口程序 Content Provider(内容提供器)使得不同应用程序之间存取或者分享数据 View System(视图系统)构建应用程序的基本组件 Notification Manager(通告管理器) 使应用程序可以在状态栏中显示自定义的提示信息 Package Manager(包管理器) Android系统内的程序管理 Resource Manager(资源管理器)提供应用程序使用的各种非代码资源,如本地化字符串、图片、布局文

4、件、颜色文件等,Android系统结构,系统运行库层 系统库:连接框架层与Linux内核层的重要纽带,框架层的支撑 Surface Manager:负责管理显示与存取操间互动,负责2D与3D绘图 Media Framework:多媒体库,支持常用的音频、视频格式录制和回放 SQLite: 小型的关系型数据库引擎 OpenGL|ES:根据OpenGL ES 1.0API标准实现的3D绘图函数库 WebKit:网页浏览器的软件引擎 SSL:在Andorid上通信过程中实现握手 Libc:从BSD继承的标准C系统库,为基于embedded linux的设备定制 核心库:提供了Java语言API中的大

5、多数功能,同时也包含了Android的一些核心API,如android.os、、android.media等等。 Dalvik虚拟机:一种基于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机。每个Android程序都有一个Dalivik虚拟机的实例,并在该实例中执行。Dalvik虚拟机进行了内存资源使用的优化,执行.dex文件,Android系统结构,Linux内核层 Android是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。 除Linux标准驱动外,需要一些专有驱动,如Binder、Log、Ashmem等,Androi

6、d系统版本,Android系统优势,完全开放的系统,吸引越来越多的厂家和消费者,将催生众多硬件支持和程序选择 无缝结合Google应用,如Google地图、邮件、搜索等互联网的重要服务。 开源软件系统,功能强大,支持众多软件,如Webkit浏览器、播放器、FLASH等。 高效的JAVA虚拟机Dalvik,支持JAVA,速度快。,Android系统劣势,版本更新快,如何保持前后兼容 完全开发的系统,如何保持不同厂家之间兼容,Android系统开发,涉及三个层次: Android系统移植开发 芯片厂家会提供基于其样板的SDK,拿到其样板及SDK后,需要针对我司的具体硬件及产品业务做如下工作:fas

7、tboot移植(DDR参数/启动流程)、Recovery、设备驱动、工厂菜单、媒体播放、音视频兼容性等 Android子系统开发 涉及到系统各个层次:封装硬件抽象层、增加C/C+本地业务库、定义Java层所需要的类、将本地业务库的功能接口封装成JNI、结合Java类和JNI、提供应用程序调用的Java框架类等 Android应用程序开发 根据具体产品的业务需求定制开发特定apk eclipse环境搭建、系统调试(Logcat、DDMS等),Android目录结构,Android开发环境搭建,Android应用开发环境搭建 Android系统开发环境搭建,Android应用开发环境搭建,Andr

8、oid应用开发环境搭建,JDK安装 http:/ Eclipse安装 http:/www.eclipse.org/downloads下载最新eclipse并安装,亦可拷贝已经安装好的eclipse使用 Android SDK安装 http:/www.eclipse.org/downloads下载Android SDK,直接解压运行SDK Setup.exe,点击Available Packages。如没出现可安装包,点击Settings,选中Misc中的“Force https:/.”这项,再点击Available Packages。选择希望安装的SDK及其文档或其它包,开始下载安装所选包。

9、国内已屏蔽了Android,下载经常失败,可拷贝已经安装好的直接使用 ADT安装 打开 Eclipse IDE,进入菜单中的 “Help” - “Install New Software”,点击Add.按钮,弹出对话框要求输入Name和Location:Name自己取,Location输入http:/dl- Tool,安装。完成后选择Window Preferences.在左边的面板选择Android,然后在右侧点击Browse.并选中SDK路径 可选择已经安装好的同事拷贝使用 创建AVD 为使Android应用程序可以在模拟器上运行,必须创建AVD。在Eclipse中。选择Windows A

10、ndroid SDK and AVD Manager进行创建,Android系统开发环境搭建,Android系统开发环境搭建,Android系统开发环境要求: 操作系统:Ubuntu(版本号=10.04) 硬盘空间:10GB JDK 版本:1.6(根据android版本而定) Python 版本:2.42.7,Android系统开发环境搭建,安装依赖包: 64位机器: $ sudo apt-get install git-core gnupg flex bison gperf build- essential zip curl zlib1g-dev libc6-dev lib32ncurses

11、5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g+-multilib mingw32 tofrodos 32位机器: $ sudo apt-get install git-core gnupg flex bison gperf build- essential zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libgl1-mesa-dev tofrodos,A

12、ndroid系统开发环境搭建,安装JDK: 步骤 1 更新安装包 $ sudo apt-get update 步骤 2 安装 jdk 1.6 $ sudo apt-get install sun-java6-jdk 用户按提示操作即可。 步骤 3 检查安装结果 确认JDK 版本号正确 $ java -version java version “1.6.0_26“ Java(TM) SE Runtime Environment (build 1.6.0_26-b03) Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode),A

13、ndroid系统开发环境搭建,安装python: python工具的安装: $ sudo apt-get install python,Android系统开发环境搭建,安装交叉编译工具链(hisilicon) 当第一次拿到海思开发包,或遇到发布包中交叉编译工具链的版本更新时,需重新安装编译工具链 交叉编译工具链:arm-hisiv200-linux 在交叉工具链安装包目录下执行命令:./cross.install,Android系统开发环境搭建,编译源码(hisilicon) 解压海思提供的开发包 进入解压后的目录,设置编译环境 /home/work/ics $ source build/en

14、vsetup.sh /home/work/ics $ lunch full_godbox-eng 编译环境只需设置一次即可进行多次编译。但切换 shell 环境,则需要重新设置。 编译 /home/work/ics $ ./mk-all.sh 4(并发线程数,根据服务器性能自行调整),Android系统开发环境搭建,编译后在out目录下会生成二进制文件: outtargetproductgodbox: userdata.ics.yaffs2_xkyb system.ics.yaffs2_xkyb recovery.img kernel x 表示NAND FLASH的页大小page size (

15、bytes为单位) y 表示ECC 校验位数 目前板子配置是2k1b,Android系统开发环境搭建 -烧写Flash,将bootablebootloaderfastboot3.0fastboot_burn目录拷贝出来,里面包含烧录工具FastBoot3.1.8.exe 准备好tftp升级工具,并将编译源码中生成的文件拷贝到tftp升级工具所指向的目录下 准备板子及串口线,准备进行烧录,Android系统开发环境搭建 -烧写u-boot,Android系统开发环境搭建 -烧写kernel及system等,使用李铁柱发布的tftp工具,将kernel及system、userdata、recove

16、ry等按照划分的各个分区的Flash地址进行烧录。 参考分区如下:,Android系统开发环境搭建 -配置bootargs,进入u-boot,在串口下输入如下命令: set bootcmd nand read 82000000 2e00000 a00000; bootm 0x82000000 set appargs mem=764M vmalloc=600M console=ttyAMA0,115200 mtddev=blackbox androidboot.console=ttyAMA0 mtdparts=hinand:1024K(fastboot),512K(bootargs),512K(envback),512K(cfg

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号