460 likes | 719 Views
Android 简介. 刘莹. 1. Android 手机系统的诞生. Android 本意指 “ 机器人 ” ,最初由现任 Google 工程副总裁的安迪 · 罗宾( Andy Rubin )创建于 2003 年, 2005 年被 Google 收购。. Android 的推广.
E N D
Android简介 刘莹 1
Android手机系统的诞生 Android本意指“机器人”,最初由现任Google工程副总裁的安迪·罗宾(Andy Rubin)创建于2003年,2005年被Google收购。 东北大学软件学院
Android的推广 • 2007年11月5日 基于Linux内核的软件平台和操作系统由Google正式发布,开启了一个新手机系统辉煌时代的开始。同时Google联合了34家厂商并成立了“开放手机联盟”(Open Handset Alliance, OPA) ,开启了Android发展的最初标准和加盟支持原则。 东北大学软件学院
开放手机联盟 • 开放手机联盟,Open Handset Alliance:是美国Google 公司与2007 年11 月5 日宣布组建的一个全球性的联盟组织。 • 联盟将会支持Google 发布的Android 手机操作系统或者应用软件,共同开发名为Android 的开放源代码的移动系统。 • 开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员数量已经达到了43 家。 东北大学软件学院
OHA与Android • OHA是一个软硬件开发者组织,包括 Google, NTT DoCoMo, Sprint Nextel, and HTC … • 目标: • 加速智能移动设备的发展 • 提供用户更多更好更便宜的服务 • 由OHA开发的Android™,是第一个完整的、开放的、免费的智能移动开发平台。 东北大学软件学院
Android • Android 软件系列包括操作系统、中间件和一些关键应用。 • Android是基于JAVA的系统,运行在 Linux 2.6核上。 • Android SDK 提供多种开发所必要的工具与API。 东北大学软件学院
Android手机系统的成长历程 • 2007年11月5日至2011年1月10日 • Android初步发布 • 第一款机型Dream G1的诞生(Android 1.0时代) • 不被市场认可--G1和G2逐渐被市场接受(Android 1.5时代) • HTC HeroG3广受欢迎,成为最受欢迎的机型(Android 1.6时代) • 众多厂商加盟支持,机型越来越多,市场反应和占有率越来越高,同时伴随着Market出现爆发式增长。蓝牙2.1、多点触控支持是这一阶段的特色(Android 2.0时代) • 支持动态桌面(Android 2.1时代) • 支持在线视频Flash播放、网络共享功能,加入了Just-In-Time(JIT)功能较大提升了运行速度(Android 2.2时代) • 内置NFC Reader功能、强化游戏性(Android 2.3时代) • 专门针对平板电脑进行优化的Android 3.0版(Android进入真正意义上的平板电脑时代) 东北大学软件学院
Android v1.0 • 2008年9月23日 Android SDK V1.0发布;主要的变动为org.apache.http.impl和wifi相关的改变,同时在android permission中做了不少权限改动,整个开发文档也得到了完善,和10月23日销售的T-Mobile G1已经十分接近,但不包含GMail、Youtube等组件。 • 2009年10月23日 T-Mobile G1(Dream)正式发售; 东北大学软件学院
Android v1.5 Cupcake • Android 1.5版本相比之前的1.1版本增加了对屏幕虚拟键盘的支持。 • 之前的老版本仅支持拍照,新版的增加了对视频录制功能,同时也将拍照时的启动速度做了优化,还可以将拍摄的视频发布到Youtube。 • 支持了Widget,用户可以自行加入音乐播放器和文件夹快捷方式等。 • 改进了GPS功能,定位库使用了A-GPS技术,搜星速度大幅提高。 • 增加了Voice Search的语音识别功能,但是仅限于英文。 • 蓝牙耳机支持A2DP蓝牙立体声,但仍然不能传输文件。 • 内置的重力加速感应器增加了自动探测方向的支持。 • 内置的Google Chrome Lite浏览器更新了Webkit内核,升级了包含了Squirellfish更快的JavaScript处理,从此浏览网页更为迅捷。 • 用户界面细节改善,在Gmail、Calenda、Messaging等组件的外观都有较小改进。另外在程序菜单的背景出现花纹。 • 中文显示和中文输入的支持,Android 1.1除了英语以外,只能支持德语,而Android 1.5的国际化有了更进一步的发展,支持包括中文在内的十几种语言。 东北大学软件学院
Android 1.6 Donut • 新的Android Market:完全重新设计的Android Market,可以显示更多的屏幕截图,支持显示推广图片/文字,新增运动、健康、主题和动漫4个分类。 • 手势支持:新的SDK里面加入了一个GestureBuilder类,可以让开发者生成针对某个应用程序的手势库。 • 支持CDMA网络. • TXT-2-speech:Donut新包含了由SVOX开发的Pico语音引擎,支持了更多语言的发音,包括英语、法语、德语、意大利语等。 • 快速搜索框:新加入了Quick Search Box(也叫Android Search), 可直接搜索括联系人,音乐,浏览历史,书签等手机内容。 • 全新的拍照界面:用户现在可以同一个界面中快速切换照相,摄像或画廊模式。Android开发团队表示新版相机程序启动速度快了39%,拍照间的延迟减少了28%。 • 应用程序耗电查看:哪个软件耗多少电,一见了然,耗电量也会成为消费者选择软件的依据之一。 • 支持VPN:可以连接到基于pre-shared key或证书的L2TP/IPSEC,以及标准的L2TP/PPTP VPN网络。 • 其他:支持更多的屏幕分辨率,如WVGA,QVGA等。linux内核升级到2.6.29。支持OpenCore2媒体引擎。新增面向视觉或听觉困难人群的易用性插件。 东北大学软件学院
Android 2.0 Eclair • 支持多个Google和Exchange账户 • 更便捷的快速联系人菜单 • 统一的电子邮件收件箱 • 支持短信和彩信的搜索 • 用户自定义短信自动删除功能 • 改善相机的白平衡、微距、特效等功能 • 两指扩张放大网页、支持HTML5 • 支持蓝牙2.1 • 更佳的图像硬件加速 东北大学软件学院
Android v2.1 – v2.2 • 2010年1月11日 Android 2.1 SDK发布,在此之前一周Google第一步手机,搭配Android 2.1系统的Nexus One已经正式发;支持动态壁纸效果,让不少用户初看到的时候眼前一亮,原来Android的桌面和操作体验效果也可以如此的绚丽。此外,Android 2.1时代更多的可以说是BUG补丁的修补和完善。 • Android 2.2的发布,具有重要的纪念意义,从这时起,Android手机正式开始完美支持页面Flash视频和图片,让用户的浏览体验效果提升了一个台阶。 东北大学软件学院
Android 2.3 Gingerbread和Nexus S • 游戏支持能力提升 • 界面简化,运行速度提升 • 增强的电源管理和延长待机时间 • 类似iOS效果的一键复制粘贴功能 • 更快更直观的文字输入功能 • 多媒体影音功能提升 • 新增应用管理方式 • 增加下载管理器 • 原生支持VoIP电话功能 • 拍照时可以选择前置摄像头或后置自带的拍照摄像头 • 内置NFC Reader应用功能 东北大学软件学院
Android 3.0 Honeycomb平板电脑诞生 • 在刚刚结束的CES 2011会展上,使用Android 3.0平板电脑专用优化版系统的摩托罗拉XOOM正式诞生,同时也将Android版本推至3.0版,是Android发展史上极具历史意义的一次重大更新。 东北大学软件学院
Android 4.0 Ice Cream Sandwich • 2011年10月19日在香港发布。 • 全新的UI;全新的Chrome Lite浏览器,有离线阅读,16标签页,隐身浏览模式等;截图功能;更强大的图片编辑功能;自带照片应用堪比Instagram,可以加滤镜、加相框,进行360度全景拍摄,照片还能根据地点来排序;Gmail加入手势、离线搜索功能,UI更强大;新功能People:以联系人照片为核心,界面偏重滑动而非点击,集成了Twitter、Linkedin、Google+等通讯工具。有望支持用户自定义添加第三方服务;新增流量管理工具,可具体查看每个应用产生的流量,限制使用流量,到达设置标准后自动断开网络。 东北大学软件学院
未来…… • Android 4.1Jelly Bean(果冻豆): 2012年6月28日 新特性:更快、更流畅、更灵敏;特效动画的帧速提高至60fps,增加了三倍缓冲;增强通知栏;全新搜索;搜索将会带来全新的UI、智能语音搜索和Google Now三项新功能;桌面插件自动调整大小;加强无障碍操作;语言和输入法扩展;新的输入类型和功能;新的连接类型。 • Android 5.0Key Lime Pie(青柠派): 待定 东北大学软件学院
Android 特点 • 1、开放性 • 2、应用程序无界限 • 3、应用程序是在平等的条件下创建的 • 4、应用程序可以轻松的嵌入网络 • 5、应用程序可以并行运行 东北大学软件学院
Android的优势 • 源代码完全开放,便于开发人员更清楚的把握实现细节,便于提高开发人员的技术水平,有利于开发出更具差异性的应用。 • 采用了对有限内存、电池和CPU 优化过的虚拟机Dalvik,Android 的运行速度比想象的要快很多。 • 运营商(中国移动等)的大力支持,产业链条的热捧。 • 良好的盈利模式(3/7 开),产业链条的各方:运营商、制造商、独立软件生产商都可以获得不错的利益。将移动终端的评价标准从硬件向软件转变,极大的激发了软件开发者的热情。 • Android 的源代码遵循Apache V2 软件许可,而不是通常的GPL v2 许可。有利于商业开发。 • 具有强大的Linux 社区的支持。 东北大学软件学院
Android的不足 • Google 提供了一套Java 核心包(J2SE 5, J2SE 6)的有限子集,尚不承诺遵守任何Java 规范,可能会造成Java阵营的进一步分裂。 • 现有应用完善度不太够,需要的开发工作量较大。 • 基于QEMU 开发的模拟器调试手段不十分丰富,只支持通话、SMS等,速度慢。 • 暂不具备Push Mail 和Office (DataViz、QuickOffice 计划近期推出)功能,目前主要面向的是普通消费者用户,对商业用户支持尚弱。 东北大学软件学院
系统环境 • Android SDK (Software Develop Kit)所支持的操作系统: • Windows XP (32-bit) or Vista (32- or 64-bit) • Mac OS X 10.4.8 or later (x86 only) • Linux (tested on Linux Ubuntu Dapper Drake) 东北大学软件学院
Android 系统架构(Software Stack) 东北大学软件学院
Android S/W Stack – Linux Kernel • 核心系统服务基于Linux Kernel 2.6 • Memory and Process Management • Network Stack • Driver Model • Security • 在硬件和软件之间以及和其他层次之间提供一个抽象层 东北大学软件学院
Android S/W Stack – Linux Kernel (Cont) • 核心增强功能 • Alarm预定的时间上触发应用程序事件或动作 • Ashmem内存分配和共享机制 • Binder • Power Management • Low Memory Killer • Kernel Debugger • Logger 东北大学软件学院
Android S/W Stack – Linux Kernel (Cont) • Binder • Driver to facilitate IPC between applications and services • Problems of Linux IPC • Applications and Services may run in separate processes but must communicate and share data • IPC can introduce significant processing overhead and security hole • Properties of Binder • High performance through shared memory • Per-process thread pool for processing requests • Reference counting and mapping of object references across processes • Synchronous calls between processes 东北大学软件学院
Android S/W Stack – Linux Kernel (Cont) • Binder in Action • A pool of threads is associated to each service application to process incoming IPC. • Binder performs mapping of object between two processes. • Binder uses an object reference as an address in a process’s memory space. 东北大学软件学院
Android S/W Stack – Linux Kernel (Cont) • Power Management • Problem • Mobile devices depend on battery power and batteries have limited capacity. • Properties of Power Management • PM is built on top of standard Linux Power Management. • PM supports more aggressive power management policy. • Components make requests to keep the power on through “Wake Locks”. • PM supports several different types of wake “Wake Locks”. 东北大学软件学院
Android S/W Stack – Linux Kernel (Cont) • If there are no active wake locks, CPU will be turned off. • If there are no partial wake locks, screen and keyboard will be turned off. Power Management in Action 东北大学软件学院
Android S/W Stack - Runtime • Core Libraries • Providing most of the functionality available in the core libraries of the Java language • APIs • Data Structures • Utilities • File Access • Network Access • Graphics • Etc 东北大学软件学院
Android S/W Stack – Runtime (Cont) • Dalvik Virtual Machine • Providing environment on which every Android application runs • Each Android application runs in its own process, with its own instance of the Dalvik VM. • Dalvik has been written so that a device can run multiple VMs efficiently. • Register-based virtual machine 东北大学软件学院
Android S/W Stack – Runtime (Cont) • Dalvik Virtual Machine (Cont) • Executing the Dalvik Executable (.dex) format • .dex format is optimized for minimal memory footprint. • Compilation • Relying on the Linux Kernel for: • Threading • Low-level memory management 东北大学软件学院
Android S/W Stack - Libraries Including a set of C/C++ libraries used by components of the Android system Exposed to developers through the Android application framework 东北大学软件学院
Android S/W Stack – Libraries (Cont) • Features • System C Library (Bionic) • Media Libraries • Surface Manager (Surface Flinger) • Audio Manager (Audio Flinger) • LibWebCore (WebKit) • SGL • 3D Libraries • FreeType • SQLite 东北大学软件学院
Android S/W Stack – Libraries (Cont) • Bionic • Custom libc implementation optimized for embedded use • Problem with GNU libc 东北大学软件学院
Android S/W Stack – Libraries (Cont) • Bionic (Cont) • Properties • BSD license • Small size and fast code paths • Very fast and small custom pthread implementation • No support for certain POSIX features • No compatibility with GNU libc • Constraint that all native code must be compiled against bionic 东北大学软件学院
Android S/W Stack – Libraries (Cont) • WebKit • An application framework that provides foundation for building a web browser based on open source WebKit browser • Properties • Ability to render pages in full (desktop) view • Full CSS, JavaScript, DOM, AJAX support • Support for single-column and adaptive view rendering 东北大学软件学院
Android S/W Stack – Libraries (Cont) • Media Framework • A media framework based on PacketVideo OpenCore platform • Properties • Support for standard video, audio, still-frame formats • Support for hardware/software codec plug-ins • SQLite • Light-weight relational database management system • Back end for most platform data storage 东北大学软件学院
Android S/W Stack – Libraries (Cont) • Surface Manager (Surface Flinger) • Providing system-wide surface composer, handling all surface rendering to frame buffer device • Operation 东北大学软件学院
Android S/W Stack – Libraries (Cont) • Surface Manager (Cont) • Properties • Can combine 2D and 3D surfaces and surfaces from multiple applications • Surfaces passed as buffers via Binder IPC calls • Can use OpenGL ES and 2D hardware accelerator for its compositions • Double-buffering using page-flip 东北大学软件学院
Android S/W Stack – Libraries (Cont) • Audio Manager (Audio Flinger) • Processing multiple audio streams into PCM audio out paths • Operation 东北大学软件学院
Android S/W Stack – Libraries (Cont) • SGL • The underlying 2D graphics engine • 3D Libraries • An implementation based on OpenGL ES 1.0 APIs • Using either H/W 3D acceleration (if available) or the included optimized 3D S/W rasterizer • FreeType • Rendering bitmap and vector font 东北大学软件学院
Android S/W Stack – App Framework • Enabling and simplifying the reuse of components • Developers have full access to the same framework APIs used by the core applications. • Users are allowed to replace components. 东北大学软件学院
Android S/W Stack – App Framework (Cont) Features 东北大学软件学院
Android S/W Stack - Application • Android provides a set of core applications: • Email Client • SMS Program • Calendar • Maps • Browser • Contacts • Etc • All applications are written using the Java language. 东北大学软件学院
开发环境 • IDE – Eclipse • Eclipse plug-in - ADT • Software Development Kit (SDK) • Android Emulator • Debbuger 东北大学软件学院
Thank you! 东北大学软件学院