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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 Environment (build 1.6.0_26-b03) Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
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 亿台。 目前最流行的智能手机开发平台,现已普及到平板电 脑、游戏机、数码相机、OTT机顶盒、智能电视等各 终端产品。
Android目录结构
Android开发环境搭建
Android应用开发环境搭建 Android系统开发环境搭建
Android应用开发环境搭建
Android应用开发环境搭建
JDK安装 http://developers.sun.com/downloads/下载最新jdk并安装 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及其文档或其它包, 开始下载安装所选包。 国内已屏蔽了Android,下载经常失败,可拷贝已经安装好的直接使用 ADT安装 打开 Eclipse IDE,进入菜单中的 “Help” -> “Install New Software”,点击Add...按钮, 弹出对话框要求输入Name和Location:Name自己取,Location输入http://dlssl.google.com/android/eclipse。确定返回后,勾选DDMS、Development Tool,安装。 完成后选择Window > Preferences...在左边的面板选择Android,然后在右侧点击 Browse...并选中SDK路径 可选择已经安装好的同事拷贝使用 创建AVD 为使Android应用程序可以在模拟器上运行,必须创建AVD。在Eclipse中。选择 Windows > Android SDK and AVD Manager进行创建
Android系统开发环境搭建
• 安装python:
– python工具的安装: $ sudo apt-get install python
Android系统开发环境搭建
• 安装交叉编译工具链(hisilicon) 当第一次拿到海思开发包,或遇到发布包 中交叉编译工具链的版本更新时,需重新 安装编译工具链 • 交叉编译工具链:arm-hisiv200-linux • 在交叉工具链安装包目录下执行命令: ./cross.install
Android系统开发环境搭建
• 编译源码(hisilicon)
– 解压海思提供的开发包 – 进入解压后的目录,设置编译环境 /home/work/ics $ source build/envsetup.sh /home/work/ics $ lunch full_godbox-eng 编译环境只需设置一次即可进行多次编译。但 切换 shell 环境,则需要重新设置。 – 编译 /home/work/ics $ ./mk-all.sh 4(并发线程数, 根据服务器性能自行调整)
Βιβλιοθήκη Baidu
待定
4.4
Kit Kat 奇巧巧克力
Android系统优势
完全开放的系统,吸引越来越多的厂家和 消费者,将催生众多硬件支持和程序选择 无缝结合Google应用,如Google地图、邮 件、搜索等互联网的重要服务。 开源软件系统,功能强大,支持众多软件 ,如Webkit浏览器、播放器、FLASH等。 高效的JAVA虚拟机Dalvik,支持JAVA,速 度快。
Android系统劣势
版本更新快,如何保持前后兼容 完全开发的系统,如何保持不同厂家之间兼容
Android系统开发
涉及三个层次: Android系统移植开发
芯片厂家会提供基于其样板的SDK,拿到其样板及SDK后,需要针对 我司的具体硬件及产品业务做如下工作:fastboot移植(DDR参数/启动流 程)、Recovery、设备驱动、工厂菜单、媒体播放、音视频兼容性等
Android系统结构
一个好的开发平台一定有一个成熟、稳定的系 统架构来支撑 Android平台系统结构从上到下分为四层:
应用层 框架层 系统运行库 Linux内核层
Android系统结构
应用层
Android不仅仅是操作系统,也包含了许多应用程 序,如SMS短信客户端程序、电话拨号程序、图片 浏览器、Web浏览器等。 用Java语言编写,基于框架层API实现。 可被开发人员开发的其他应用程序替换。
Android系统结构
框架层
可重用的软件组件,简化应用程序的开发,向应用提供API。 Activity Manager(活动管理器)管理各个应用程序生命周期以及通常 的导航回退功能 Window Manager(窗口管理器)管理所有的窗口程序 Content Provider(内容提供器)使得不同应用程序之间存取或者分享 数据 View System(视图系统)构建应用程序的基本组件 Notification Manager(通告管理器) 使应用程序可以在状态栏中显示自 定义的提示信息 Package Manager(包管理器) Android系统内的程序管理 Resource Manager(资源管理器)提供应用程序使用的各种非代码资 源,如本地化字符串、图片、布局文件、颜色文件等
2009.9 2009.10 2010.5 2010.12 2011.2
版本号 1.1 1.5
1.6 2.0/.1 2.2/2.2.1 2.3/2.4 3.0/3.1/3. 2 4.0 4.1 4.2
代号
重大变化
Cupcake 纸杯蛋糕
Donut 甜甜圈 Eclair 松饼 Froyo 冻酸奶 Gingerbread 姜饼 Honeycomb 蜂巢
Android系统开发环境搭建
• 编译后在out目录下会生成二进制文件: out\target\product\godbox: userdata.ics.yaffs2_xkyb system.ics.yaffs2_xkyb recovery.img kernel
x 表示NAND FLASH的页大小page size (bytes为单位) y 表示ECC 校验位数 目前板子配置是2k1b
Android系统开发环境搭建
Android系统开发环境搭建
• Android系统开发环境要求:
– 操作系统:Ubuntu(版本号>=10.04) – 硬盘空间:10GB – JDK 版本:1.6(根据android版本而定) – Python 版本:2.4~2.7
Android系统开发环境搭建
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中的大多数功能,同时也包含了Android的 一些核心API,如android.os、android.net、android.media等等。 Dalvik虚拟机:一种基于寄存器的Java虚拟机,而不是传统的基于栈的 虚拟机。每个Android程序都有一个Dalivik虚拟机的实例,并在该实例 中执行。Dalvik虚拟机进行了内存资源使用的优化,执行.dex文件
Android子系统开发
涉及到系统各个层次:封装硬件抽象层、增加C/C++本地业务库、定义 Java层所需要的类、将本地业务库的功能接口封装成JNI、结合Java类和 JNI、提供应用程序调用的Java框架类等
Android应用程序开发
根据具体产品的业务需求定制开发特定apk eclipse环境搭建、系统调试(Logcat、DDMS等)
Android系统结构
Linux内核层
Android是基于Linux2.6内核,其核心系统服 务如安全性、内存管理、进程管理、网路协议 以及驱动模型都依赖于Linux内核。 除Linux标准驱动外,需要一些专有驱动,如 Binder、Log、Ashmem等
Android系统版本
发布日期 2008.9 2009.4
• 安装依赖包:
– 64位机器:
$ sudo apt-get install git-core gnupg flex bison gperf buildessential \ 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 buildessential \ zip curl zlib1g-dev libc6-dev libncurses5-dev \ x11proto-core-dev libx11-dev \ libgl1-mesa-dev tofrodos
Android系统开发环境搭建 ----烧写Flash
• 将bootable\bootloader\fastboot3.0\fastboot_burn目录 拷贝出来,里面包含烧录工具 FastBoot3.1.8.exe • 准备好tftp升级工具,并将编译源码中生成 的文件拷贝到tftp升级工具所指向的目录下 • 准备板子及串口线,准备进行烧录
屏幕虚拟键盘
动态桌面、HTML5 3G网络、Flash支持 NFC 针对平板进行优化, Fragment 全新UI
2011.10 2012.6 2012.10
Ice Cream Sandwich冰激凌三明治 Jelly Bean果冻豆 Jelly Bean 果冻豆
支 持 Miracast 无 线 显 示 共 享功能
相关文档
最新文档