您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > Android系统结构及平台搭建讲义(PPT-40张)
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.net、android.media等等。Dalvik虚拟机:一种基于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机。每个Android程序都有一个Dalivik虚拟机的实例,并在该实例中执行。Dalvik虚拟机进行了内存资源使用的优化,执行.dex文件Android系统结构Linux内核层Android是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。除Linux标准驱动外,需要一些专有驱动,如Binder、Log、Ashmem等Android系统版本发布日期版本号代号重大变化2008.91.12009.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应用开发环境搭建JDK安装下载最新jdk并安装Eclipse安装下载最新eclipse并安装,亦可拷贝已经安装好的eclipse使用AndroidSDK安装下载AndroidSDK,直接解压运行SDKSetup.exe,点击AvailablePackages。如没出现可安装包,点击Settings,选中Misc中的“Forcehttps://...”这项,再点击AvailablePackages。选择希望安装的SDK及其文档或其它包,开始下载安装所选包。国内已屏蔽了Android,下载经常失败,可拷贝已经安装好的直接使用ADT安装打开EclipseIDE,进入菜单中的“Help”-“InstallNewSoftware”,点击Add...按钮,弹出对话框要求输入Name和Location:Name自己取,Location输入。确定返回后,勾选DDMS、DevelopmentTool,安装。完成后选择WindowPreferences...在左边的面板选择Android,然后在右侧点击Browse...并选中SDK路径可选择已经安装好的同事拷贝使用创建AVD为使Android应用程序可以在模拟器上运行,必须创建AVD。在Eclipse中。选择WindowsAndroidSDKandAVDManager进行创建Android系统开发环境搭建Android系统开发环境搭建•Android系统开发环境要求:–操作系统:Ubuntu(版本号=10.04)–硬盘空间:10GB–JDK版本: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++-multilibmingw32tofrodos–32位机器:$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-versionjavaversion1.6.0_26Java(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:userdata.ics.yaffs2_xkybsystem.ics.yaffs2_xkybrecovery.imgkernelx表示NANDFLASH的页大小pagesize(bytes为单位)y表示ECC校验位数目前板子配置是2k1bAndroid系统开发环境搭建----烧写Flash•将bootable\bootloader\fastboot3.0\fastboot_burn目录拷贝出来,里面包含烧录工具FastBoot3.1.8.exe•准备好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=ttyAMA0mtdpar
本文标题:Android系统结构及平台搭建讲义(PPT-40张)
链接地址:https://www.777doc.com/doc-1495947 .html