Android系统架构、开发环境搭建及启动流程分析解析课件.ppt

上传人(卖家):晟晟文业 文档编号:4232665 上传时间:2022-11-21 格式:PPT 页数:40 大小:2.64MB
下载 相关 举报
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页
点击查看更多>>
资源描述

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岁生日,全世界采用这款系统的设备数量已经达到10亿台。目前最

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

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

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

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

6、版本号版本号代号代号重大变化重大变化2008.92008.91.12009.42009.41.5Cupcake 纸杯蛋糕屏幕虚拟键盘2009.92009.91.6Donut 甜甜圈2009.102009.102.0/.1Eclair 松饼动态桌面、HTML52010.52010.52.2/2.2.1Froyo 冻酸奶3G网络、Flash支持2010.122010.122.3/2.4Gingerbread 姜饼NFC2011.22011.23.0/3.1/3.2Honeycomb 蜂巢针 对 平 板 进 行 优 化,Fragment2011.102011.104.0Ice Cream Sandw

7、ich冰激凌三明治全新UI2012.62012.64.1Jelly Bean果冻豆2012.102012.104.2Jelly Bean 果冻豆支持Miracast无线显示共享功能待定待定4.4Kit Kat 奇巧巧克力Android系统优势完全开放的系统,吸引越来越多的厂家和消费者,将催生众多硬件支持和程序选择无缝结合Google应用,如Google地图、邮件、搜索等互联网的重要服务。开源软件系统,功能强大,支持众多软件,如Webkit浏览器、播放器、FLASH等。高效的JAVA虚拟机Dalvik,支持JAVA,速度快。Android系统劣势 版本更新快,如何保持前后兼容 完全开发的系统,如

8、何保持不同厂家之间兼容Android系统开发涉及三个层次:Android系统移植开发系统移植开发 芯片厂家会提供基于其样板的SDK,拿到其样板及SDK后,需要针对我司的具体硬件及产品业务做如下工作:fastboot移植(DDR参数/启动流程)、Recovery、设备驱动、工厂菜单、媒体播放、音视频兼容性等 Android子系统开发子系统开发 涉及到系统各个层次:封装硬件抽象层、增加C/C+本地业务库、定义Java层所需要的类、将本地业务库的功能接口封装成JNI、结合Java类和JNI、提供应用程序调用的Java框架类等 Android应用程序开发应用程序开发 根据具体产品的业务需求定制开发特定

9、apk eclipse环境搭建、系统调试(Logcat、DDMS等)Android目录结构Android开发环境搭建Android应用开发环境搭建Android系统开发环境搭建Android应用开发环境搭建Android应用开发环境搭建 JDK安装安装 http:/ Eclipse安装安装 http:/www.eclipse.org/downloads下载最新eclipse并安装,亦可拷贝已经安装好的eclipse使用 Android SDK安装安装 http:/www.eclipse.org/downloads下载Android SDK,直接解压运行SDK Setup.exe,点击Avail

10、able Packages。如没出现可安装包,点击Settings,选中Misc中的“Force https:/.”这项,再点击Available Packages。选择希望安装的SDK及其文档或其它包,开始下载安装所选包。国内已屏蔽了Android,下载经常失败,可拷贝已经安装好的直接使用 ADT安装安装 打开 Eclipse IDE,进入菜单中的“Help”-“Install New Software”,点击Add.按钮,弹出对话框要求输入Name和Location:Name自己取,Location输入http:/dl- Tool,安装。完成后选择Window Preferences.在左

11、边的面板选择Android,然后在右侧点击Browse.并选中SDK路径 可选择已经安装好的同事拷贝使用 创建创建AVD 为使Android应用程序可以在模拟器上运行,必须创建AVD。在Eclipse中。选择Windows Android SDK and AVD Manager进行创建Android系统开发环境搭建Android系统开发环境搭建 Android系统开发环境要求:操作系统:Ubuntu(版本号=10.04)硬盘空间:10GB JDK 版本:1.6(根据android版本而定)Python 版本:2.42.7 Android系统开发环境搭建 安装依赖包:64位机器:$sudo ap

12、t-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-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

13、zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libgl1-mesa-dev tofrodos Android系统开发环境搭建安装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 Environme

14、nt(build 1.6.0_26-b03)Java HotSpot(TM)64-Bit Server VM(build 20.1-b02,mixed mode)Android系统开发环境搭建 安装python:python工具的安装:$sudo apt-get install python Android系统开发环境搭建 安装交叉编译工具链(hisilicon)当第一次拿到海思开发包,或遇到发布包中交叉编译工具链的版本更新时,需重新安装编译工具链 交叉编译工具链:arm-hisiv200-linux 在交叉工具链安装包目录下执行命令:./cross.install Android系统开发环境

15、搭建 编译源码(hisilicon)解压海思提供的开发包 进入解压后的目录,设置编译环境 /home/work/ics$source build/envsetup.sh /home/work/ics$lunch full_godbox-eng 编译环境只需设置一次即可进行多次编译。但切换 shell 环境,则需要重新设置。编译 /home/work/ics$./mk-all.sh 4(并发线程数,(并发线程数,根据服务器性能自行调整)根据服务器性能自行调整)Android系统开发环境搭建 编译后在out目录下会生成二进制文件:outtargetproductgodbox:userdata.ic

16、s.yaffs2_xkyb system.ics.yaffs2_xkyb recovery.img kernel x 表示NAND FLASH的页大小page size(bytes为单位)y 表示ECC 校验位数 目前板子配置是2k1bAndroid系统开发环境搭建 -烧写Flash 将bootablebootloaderfastboot3.0fastboot_burn目录拷贝出来,里面包含烧录工具FastBoot3.1.8.exe 准备好tftp升级工具,并将编译源码中生成的文件拷贝到tftp升级工具所指向的目录下 准备板子及串口线,准备进行烧录Android系统开发环境搭建 -烧写u-bo

17、otAndroid系统开发环境搭建 -烧写kernel及system等 使用李铁柱发布的tftp工具,将kernel及system、userdata、recovery等按照划分的各个分区的Flash地址进行烧录。参考分区如下:Android系统开发环境搭建 -配置bootargs进入u-boot,在串口下输入如下命令:set bootcmd nand read 82000000 2e00000 a00000;bootm 0 x82000000set appargs mem=764M vmalloc=600M console=ttyAMA0,115200 mtddev=blackbox andr

18、oidboot.console=ttyAMA0 mtdparts=hinand:1024K(fastboot),512K(bootargs),512K(envback),512K(cfg),512K(cfgback),3840K(recovery),128K(deviceinfo),128K(baseparam),4M(logo),4M(fastplay),30M(cache),1M(misc),10M(kernel),180M(system),128M(userdata),10M(commondata),1M(blackbox),136M(sdcard)set recoverybootarg

19、s mem=808M console=ttyAMA0,115200 mtdparts=hinand:1024K(fastboot),512K(bootargs),512K(envback),512K(cfg),512K(cfgback),3840K(recovery),128K(deviceinfo),128K(baseparam),4M(logo),4M(fastplay),30M(cache),1M(misc),10M(kernel),180M(system),128M(userdata),10M(commondata),1M(blackbox),136M(sdcard)save烧录成功,

20、重启机顶盒即可启动Android开发环境搭建 至此,Android开发环境搭建成功。参考文档:Android系统启动流程分析Android启动流程分析Android启动流程Android从Linux系统启动有4个步骤;Init进程启动 Native服务启动 System Server服务启动 Launcher启动Android启动流程 第一步:第一步:initial进程进程(system/core/init)Init进程,它是一个由内核启动的用户级进程。内核启动后,启动一个用户级程序init的方式,完成引导进程。init始终是第一个进程.Init进程起来后根据init.rc和init.xxx.

21、rc脚本文件建立了几个基本的服务:servicemanamger zygote 。Android启动流程 第二步第二步 Zygote Servicemanager和zygote进程奠定了Android的基础。Zygote起来后会建立起真正的Android运行空间。Zygote就建立后,利用Socket通讯,接收ActivityManangerService的请求,Fork应用程序。Android启动流程 第三步第三步 SystemServer Zygote进程启动后会fork一个进程System Server。Android的所有服务循环框架都是建立System Server上。System Server会建立很多服务,并将服务添加到Service Manager中进行统一管理。Android启动流程 第四步第四步 Launcher启动启动 在System Server启动完所有的Android服务后,会通知各个服务,系统已经就绪。Launcher就是在ActivityManagerService接收到通知后建立的。实例演示Hi3716C盒子启动流程及Init.rc分析

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Android系统架构、开发环境搭建及启动流程分析解析课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|