版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android系统结构及平台搭建Android系统结构
Android开发环境搭建
Android启动流程分析Android系统结构Android系统结构基于Linux的自由及开源的操作系统。Android操作系统最初由AndyRubin开发。2008年10月
第一部Android智能手机发布。2011年第1季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2012年11月,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。2013年09月24日谷歌开发的操作系统Android迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。目前最流行的智能手机开发平台,现已普及到平板电脑、游戏机、数码相机、OTT机顶盒、智能电视等各终端产品。Android系统结构一个好的开发平台一定有一个成熟、稳定的系统架构来支撑Android平台系统结构从上到下分为四层:应用层框架层系统运行库Linux内核层Android系统结构应用层Android不仅仅是操作系统,也包含了许多应用程序,如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等。用Java语言编写,基于框架层API实现。可被开发人员开发的其他应用程序替换。Android系统结构框架层可重用的软件组件,简化应用程序的开发,向应用提供API。ActivityManager(活动管理器)管理各个应用程序生命周期以及通常的导航回退功能WindowManager(窗口管理器)管理所有的窗口程序ContentProvider(内容提供器)使得不同应用程序之间存取或者分享数据ViewSystem(视图系统)构建应用程序的基本组件NotificationManager(通告管理器)使应用程序可以在状态栏中显示自定义的提示信息PackageManager(包管理器)Android系统内的程序管理ResourceManager(资源管理器)提供应用程序使用的各种非代码资源,如本地化字符串、图片、布局文件、颜色文件等Android系统结构系统运行库层系统库:连接框架层与Linux内核层的重要纽带,框架层的支撑SurfaceManager:负责管理显示与存取操间互动,负责2D与3D绘图MediaFramework:多媒体库,支持常用的音频、视频格式录制和回放SQLite:小型的关系型数据库引擎OpenGL|ES:根据OpenGLES1.0API标准实现的3D绘图函数库WebKit:网页浏览器的软件引擎SSL:在Andorid上通信过程中实现握手Libc:从BSD继承的标准C系统库,为基于embeddedlinux的设备定制核心库:提供了Java语言API中的大多数功能,同时也包含了Android的一些核心API,如android.os、、android.media等等。Dalvik虚拟机:一种基于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机。每个Android程序都有一个Dalivik虚拟机的实例,并在该实例中执行。Dalvik虚拟机进行了内存资源使用的优化,执行.dex文件Android系统结构Linux内核层Android是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。除Linux标准驱动外,需要一些专有驱动,如Binder、Log、Ashmem等Android系系统统版版本本发布日期版本号代号重大变化2008.91.1
2009.41.5Cupcake纸杯蛋糕屏幕虚拟键盘2009.91.6Donut甜甜圈
2009.102.0/.1Eclair松饼动态桌面、HTML52010.52.2/2.2.1Froyo冻酸奶3G网络、Flash支持2010.122.3/2.4Gingerbread姜饼NFC2011.23.0/3.1/3.2Honeycomb蜂巢针对平板进行优化,Fragment2011.104.0IceCreamSandwich冰激凌三明治全新UI2012.64.1JellyBean果冻豆
2012.104.2JellyBean果冻豆支持Miracast无线显示共享功能待定4.4KitKat奇巧巧克力
Android系统统优优势势完全全开开放放的的系系统统,,吸吸引引越越来来越越多多的的厂厂家家和和消消费费者者,,将将催催生生众众多多硬硬件件支支持持和和程程序序选选择择无缝缝结结合合Google应用用,,如如Google地图图、、邮邮件件、、搜搜索索等等互互联联网网的的重重要要服服务务。。开源源软软件件系系统统,,功功能能强强大大,,支支持持众众多多软软件件,,如如Webkit浏览览器器、、播播放放器器、、FLASH等。。高效效的的JAVA虚拟拟机机Dalvik,支支持持JAVA,速速度度快快。。Android系统统劣劣势势版本本更更新新快快,,如如何何保保持持前前后后兼兼容容完全全开开发发的的系系统统,,如如何何保保持持不不同同厂厂家家之之间间兼兼容容Android系统统开开发发涉及及三三个个层层次次::Android系统统移移植植开开发发芯片片厂厂家家会会提提供供基基于于其其样样板板的的SDK,拿拿到到其其样样板板及及SDK后,,需需要要针针对对我我司司的的具具体体硬硬件件及及产产品品业业务务做做如如下下工工作作::fastboot移植(DDR参数/启动流程))、Recovery、设备驱动动、工厂菜菜单、媒体体播放、音音视频兼容容性等Android子系统开发发涉及到系统统各个层次次:封装硬硬件抽象层层、增加C/C++本地业务库库、定义Java层所需要的的类、将本本地业务库库的功能接接口封装成成JNI、结合Java类和JNI、提供应用用程序调用用的Java框架类等Android应用程序开开发根据具体产产品的业务务需求定制制开发特定定apkeclipse环境搭建、、系统调试试(Logcat、DDMS等)Android目录录结构Android开发发环境搭建建Android应用用开发环境境搭建Android系系统开发环环境搭建Android应用用开发环境境搭建Android应用用开发环境境搭建Android系统统开发环境境搭建Android系统统开发环境境搭建Android系统统开发环境境要求:操作系统::Ubuntu(版版本号>=10.04)硬盘空间::10GBJDK版版本:1.6(根据据android版版本而定))Python版本本:2.4~2.7Android系统统开发环境境搭建安装依赖包包:64位机器器:$sudoapt-getinstallgit-coregnupgflexbisongperfbuild-essential\zipcurlzlib1g-devlibc6-devlib32ncurses5-devia32-libs\x11proto-core-devlibx11-devlib32readline5-devlib32z-dev\libgl1-mesa-devg++-multilibmingw32tofrodos32位机器器:$sudoapt-getinstallgit-coregnupgflexbisongperfbuild-essential\zipcurlzlib1g-devlibc6-devlibncurses5-dev\x11proto-core-devlibx11-dev\libgl1-mesa-devtofrodosAndroid系统统开发环境境搭建安装JDK:步骤1更更新安安装包$sudoapt-getupdate步骤2安安装jdk1.6$sudoapt-getinstallsun-java6-jdk用户按提示示操作即可可。步骤3检检查安安装结果确认JDK版本号号正确$java-versionjavaversion"1.6.0_26"Java(TM)SERuntimeEnvironment(build1.6.0_26-b03)JavaHotSpot(TM)64-BitServerVM(build20.1-b02,mixedmode)Android系统统开发环境境搭建安装python::python工具的的安装:$sudoapt-getinstallpythonAndroid系统统开发环境境搭建安装交叉编编译工具链链(hisilicon)当第一次拿拿到海思开开发包,或或遇到发布布包中交叉叉编译工具具链的版本本更新时,,需重新安安装编译工工具链交叉编译工工具链:arm-hisiv200-linux在交叉工具具链安装包包目录下执执行命令::./cross.installAndroid系统统开发环境境搭建编译源码((hisilicon)解压海思提提供的开发发包进入解压后后的目录,,设置编译译环境/home/work/ics$sourcebuild/envsetup.sh/home/work/ics$lunchfull_godbox-eng编译环境只只需设置一一次即可进进行多次编编译。但切切换shell环环境,则则需要重新新设置。编译/home/work/ics$./mk-all.sh4(并发线程程数,根据据服务器性性能自行调调整)Android系统统开发环境境搭建编译后在out目录录下会生成成二进制文文件:out\target\product\godbox:recovery.imgkernelx表示NANDFLASH的页大大小pagesize((bytes为单位位)y表示ECC校校验位数目前板子配配置是2k1bAndroid系统统开发环境境搭建烧烧写Flash将bootable\bootloader\fastboot3.0\fastboot_burn目录拷贝出出来,里面面包含烧录准备好tftp升级级工具,并并将编译源源码中生成成的文件拷拷贝到tftp升级级工具所指指向的目录录下准备板子及及串口线,,准备进行行烧录Android系统统开发环境境搭建烧写u-bootAndroid系统统开发环境境搭建烧烧写kernel及及system等使用李铁柱柱发布的tftp工工具,将kernel及system、userdata、recovery等按按照划分的的各个分区区的Flash地址址进行烧录录。参考分区如如下:Android系统统开发环境境搭建配配置bootargs进入u-boot,,在串口下下输入如下下命令:setbootcmd'nandread820000002e00000a00000;bootm0x82000000'setappargs'mem=764Mvmalloc=600Mconsole=ttyAMA0,115200mtddev=blackboxandroidboot.console=ttyAMA0mtdparts=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)'setrecoverybootargs'mem=808Mconsole=ttyAMA0,115200mtdparts=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烧录录成成功功,,重重启启机机顶顶盒盒即即可可启启动动Android开开发发环环境境搭搭建建至此此,,Android开开发发环环境境搭搭建建成成功功。。参考考文文档档::Android系系统统启启动动流流程程分分析析Android启启动动流流程程分分析析Android启启动动流流程程Android从Linux系统统启启动动有有4个步步骤骤;;Init进程程启启动动Native服务务启启动动SystemServer服务务启启动动Launcher启动动Android启动动流流程程第一一步步::initial进程程(system/core/init)Init进程程,,它它是是一一个个由由内内核核启启动动的的用用户户级级进进程程。。内内核核启启动动后后,,启启动动一一个个用用户户级级程程序序init的方方式式,,完完成成引引导导进进程程。。init始终终是是第第一一个个进进程程.Init进程程起起来来后后根根据据init.rc和脚本本文文件件建建立立了了几几个个基基本本的的服服务务::servicemanamgerzygote。。。。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年健康管理师三级理论全真试题解析
- 2026年江苏省建筑施工安管人员C1证模拟复习题及答案
- 2026年掘进作业模拟试卷目及参考答案
- 2026年美甲师(四级理论知识)试题及答案
- 2026年内科学主治医师考试真题及答案详解
- 2026年农村社区管理试题及答案
- 2026年普法学法知识竞赛考试押题卷含答案(典型题)
- 2026年人工智能公需科目测评及答案
- 2026年人工智能训练师竞赛实操试题
- 一年级上册数学国庆假期作业7天10以内加减法练习含答案
- 2026年安徽合肥单招考试题库
- 辽宁石化职业技术学院单招职业技能考试题库及答案
- 2026-2027学年四年级上册数学单元全真模拟培优卷(人教版)第4单元 加法模型和乘法模型
- 2026年全国职业病诊断医师培训职业性化学中毒复习题及答案
- 徐工25吨吊车使用说明书
- 帕金森病深部脑刺激(DBS)手术
- 平面设计师招聘笔试题及解答(某大型国企)2025年
- 2026年温州市房地产行业分析报告及未来发展趋势报告
- 老师给的立式多喷嘴水喷射真空泵设计课程设计模板
- 实施指南(2025)《HGT 4615-2023 增塑剂 柠檬酸三丁酯(TBC)》
- 2025年南航乘务英语题库及答案
评论
0/150
提交评论