Android 操作系统简介
1.1 Android 名词
- Android 一词的本义指 “机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开
源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。 - Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l’Isle-Adam)在1886年发表的科
幻小说《未来夏娃》(L’ève future)中。他将外表像人的机器起名为Android。
1.2 Logo
- Android 的logo 是由Ascender公司设计的,诞生于2010年,其设计灵感源于男女厕所门上的图
形符号,于是布洛克绘制了一个简单的机器人,它的躯干就像锡罐的形状,头上还有两根天线, Android小机器人便诞生了
02. 发展历程
2.1 历程简介
- 2003年10月,Andy Rubin 等人创建Android公司,并组建Android团队。
- 2005年8月17日,Google 低调收购了成立仅22个月的高科技企业Android及其团队。安迪鲁宾成为Google公司工程部副总裁,继续负责Android项目。
- 2008年,在GoogleI/O大会上,谷歌提出了AndroidHAL架构图,在同年8月18号,Android
获得了美国联邦通信委员会(FCC)的批准,在2008年9月,谷歌正式发布了Android 1.0系
统,这也是Android系统最早的版本。 - 2009年9月,谷歌发布Android 1.6的正式版,并且推出了搭载Android 1.6正式版的手机
- HTC Hero(G3),凭借着出色的外观设计以及全新的Android 1.6操作系统,HTC
Hero(G3)成为当时全球最受欢迎的手机。Android 1.6也有一个有趣的甜品名称,它被称 为Donut(甜甜圈)。
每年陆续更新版本… - 2019年,Android 10。。。。。。
3. 发行版本
- 10.0 Android 10.0 2019年 , 今年的Android Q的正式名称是Android 10
- 11 按照惯例,Android 11可能会在2020年3月份放出(开发版),谷歌I/O大会上正式发布。
04. 体系架构
采用了分层的架构
Android系统架构图,如下
Linux 内核
- Android 平台的基础是 Linux 内核。例如,Android Runtime (ART) 依靠 Linux 内核来执行底层功
能,例如线程和低层内存管理。使用 Linux 内核可让 Android 利用主要安全功能,并且允许设备 制造商为著名的内核开发硬件驱动程序
硬件抽象层(HAL) - Android 的 HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL 的目的是为了把 Android framework 与
Linux kernel 隔开,让 Android 不至过度依赖 Linux kernel,以达成 Kernel independent
的概念,也让 Android framework 的开发能在不考量驱动程序实现的前提 下进行发展
Android Runtime - 对于运行 Android 5.0(API 级别 21)或更高版本的设备,每个应用都在其自己的进程中运行,并 且有其自己的 Android
Runtime (ART) 实例。ART 编写为通过执行 DEX 文件在低内存设备上运行 多个虚拟机,DEX 文件是一种专为
Android 设计的字节码格式,经过优化,使用的内存很少。编 译工具链(例如 Jack)将 Java 源代码编译为 DEX
字节码,使其可在 Android 平台上运行
原生C/C++库 - 许多核心 Android 系统组件和服务(例如 ART 和 HAL)构建自原生代码,需要以 C 和 C++ 编写 的原生库。Android
平台提供 Java 框架 API 以向应用显示其中部分原生库的功能。例如,您可以 通过 Android 框架的 Java OpenGL
API 访问 OpenGL ES,以支持在应用中绘制和操作 2D 和 3D 图形。如果开发的是需要 C 或 C++ 代码的应用,可以使用
Android NDK 直接从原生代码访问某 些原生平台库
Java API框架
您可通过以 Java 语言编写的 API 使用 Android OS 的整个功能集。这些 API 形成创建 Android 应 - 用所需的构建块,它们可简化核心模块化系统组件和服务的重复使用包括以下组件和服
系统应用
- Android 随附一套用于电子邮件、短信、日历、互联网浏览和联系人等的核心应用。平台随附的应
用与用户可以选择安装的应用一样,没有特殊状态。因此第三方应用可成为用户的默认网络浏览 器、短信 Messenger
甚至默认键盘(有一些例外,例如系统的“设置”应用)。系统应用可用作用
户的应用,以及提供开发者可从其自己的应用访问的主要功能。例如,如果您的应用要发短信,您
无需自己构建该功能,可以改为调用已安装的短信应用向您指定的接收者发送消息。
05 应用组件
Android开发四大组件
活动 (Activity)
- Android 中,Activity是所有程序的根本,所有程序的流程都运行在Activity 之中,Activity可
以算是开发者遇到的最频繁,也是Android 当中最基本的模块之一。 一般一个Android 应用是由多个Activity
组成的。这多个Activity 之间Android的应用 可以进 行相互跳转。
服务 (Service )
- Service 是android 系统中的一种组件,它跟Activity 的级别差不多,但是他不能自己运行,
只能后台运行,并且可以和其他组件进行交互。Service 是没有界面的长生命周期的代码。
举个例子,打开一个音乐播放器的程序,这个时候若想上网了,那么,打开Android浏览
器,这个时候虽然已经进入了浏览器这个程序,但是,歌曲播放并没有停止,而是在后台继
续一首接着一首的播放。其实这个播放就是由播放音乐的Service进行控制。
广播接收器 (BroadcastReceiver )
- 在Android 中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。
内容提供者 (Content Provider )
- Content Provider 是Android提供的第三方应用数据的访问方案
在Android中,对数据的保护是很严密的,除了放在SD卡中的数据,一个应用所持有的数据
库、文件等内容,都是不允许其他直接访问的。Android当然不会真的把每个应用都做成一
座孤岛,它为所有应用都准备了一扇窗,这就是Content Provider。
06 平台优势
开发性
- 在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android
联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平 台也将很快走向成熟。
开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者
来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以 用更低的价位购得心仪的手机
丰富的硬件
- 这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,
功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容,如同
从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone
上使用、联系人等资料更是可以方便地转移。
方便开发
- Android平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,可
想而知,会有多少新颖别致的软件会诞生。但也有其两面性,血腥、暴力、情色方面的程序和游戏 如何控制正是留给Android难题之一。
Google应用
- 在互联网的Google已经走过10年度历史,从搜索巨人到全面的互联网渗透,Google服务如地图、
邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的 Google服务。