【Arch】Android系统简介

0、Google IO

下面是Google IO的logo(Innovation in the Open)(Input/Output)(1/0)——

这里写图片描述

Google IO是由Google举办的网络开发者大会,旨在讨论用Google和开放网络技术去开发网络应用。Google IO大会从2008年开始,在美国加州旧金山每年举行一次。

2008/1
Google Web Toolkit 1.5,Java 1.5,Google App Engine。

2009/2
Android,App Engine,Chrome,Google Web Toolkit,OpenSocial,Google AJAX,Google Wave。

2010/3
Android 2.2,WebM,VP8。

2011/4
Android 3.1,Music Beta,Chrome,Google Chrome OS,Chromebook。

2012/5
Nexus 7,Nexus Q,Google Glass,Android 4.1,Android设备,应用商店,Google+。

2013/6
Youtube直播:Google+,Hangouts,Google Play,Google TV,“OK Google”,Google Maps,Chrome,Pixel。

2014/7
Android One,Android L(Dalvik>ART),Android Wear,Android Auto,Android TV,Chrome,Android Fit。

2015/8
2015年的Google IO大会重点发布了三大智能平台,包括移动端、可穿戴设备和物联网。
移动端——
全新的移动端平台Android M,即Android 6.0 Marshmallow,与Android 5.0 Lollipop相比,有六项重大的改进,具体为 App Permissions(软件权限管理)、Chrome Custom Tabs(网页体验提升)、App Links(App关联)、Android Pay(Android支付)、Fingerprint Support(指纹支持)和Power&Change(电量管理)。
可穿戴设备——
智能可穿戴设备平台Android Wear,较去年作了一定程度的更新,如手腕转动切换应用,自动识别涂鸦并转化为表情,选择常亮应用,传感器接口开放等等。
物联网——
全新的物联网系统平台Brillo,源于Android,是对Android底层的一个细化,得到了Android的全部支持,比如蓝牙、WIFI等技术,而且功耗低,安全性高,是一个端到端的应用。于此同时,还发布了通信工具Weave,它可以将云、手机和物联网Brillo三者联系起来。
除了三大平台之外,此次IO大会上Google还针对不同的领域更新了四款软件服务,包括Google Now的即点即得、Chrome的流量推断、Google Maps的离线地图,以及全新的照片应用Google Photos,可自动整理照片。软件之外还有硬件,它就是VR眼镜CardBoard,新的SDK同时支持Android和IOS,以及随之衍生出来的Jump工具,用来捕捉VR图像。

2016/9
Google Assistant,Google Home,Allo,Duo,Android N,Google Daydream,Android Wear 2.0,Instant Apps。
Android N——
运行:JIT编译器,App安装速度快,编译代码规模小。
图形:Vulkan。
加密:可加密单个文件。
升级:后台更新,下次重启后升级。
操作:分屏多任务,多任务快速切换,“清除所有”。

2017/5
2017年5月17日至19日,Google I/O 2017在美国加州山景城的海岸线圆形剧场拉开帷幕。在为期三天的年度开发者盛宴中,Google全方面的展示在软件领域的最新成果和发展动向,在Android O系统、Fuchsia系统、Chrome OS、Google Assistant、VR/AR、Google Home以及Android核心应用方面开展介绍。发布会的亮点还包括:新增Google Lens视觉识别功能、Google助手登陆iOS、Google Home可以打电话了,但是Android O无太多功能升级,下半年推独立VR,手机的未来是AI。

2018/5
新的 Android P 系统的发布是 I/O 大会第一天的重点,Google 将其称为 10 周年的新一代版本,并主打智能化。具体体现在机器学习的引入,能够了解用户的使用习惯,并预测行动。Android P 还引入了 ML Kit,这是一个新的软件开发工具包(SDK),允许开发者将大量 Google 预先建立的机器学习模型整合到他们的 Android 或 iOS 应用中。会上,Google 发布了 Android Jetpack,并称其为下一代的 Android 组件,旨在帮助开发者加快应用开发速度。

1、Android系统发展历程

Android系统最初由Andy Rubin开发,后被Google收购。Android一词最早出现于一位法国作家的科幻小说《未来夏娃》,意指外表像人的机器,Android系统最初的几个版本就是以全球著名的机器人为名的,后因版权问题,便改为了延用至今的食物名,下面是几个主要版本及其功能的介绍。
Android 1.6 Donut:甜甜圈。主要功能包括在web和本地进行快速搜索的搜索栏,多样化的屏幕尺寸,发布app的Android Market。
Android 2.1 Eclair:松饼。主要功能包括Google地图导航,自定义Home页面,语言短信。
Android 2.2 Froyo:冻酸奶。主要功能包括语言控制,便携式热点,使用了Dalvik JIT编译器和JavaScript V8引擎带来的性能提升。
Android 2.3 Gingerbread:姜饼。主要功能包括更友好的游戏API,NFC技术,电池管理。
Android 3.0 Honeycomb:蜂巢。主要功能包括更友好的平板界面布局,系统控制栏,快捷设置方式。
Android 4.0 Ice Cream Sandwich:冰激凌三明治。主要功能包括创建app文件夹,数据使用的监控,Android Beam共享数据。
Android 4.1 Jelly Bean:果冻豆。主要功能包括Google Now,可操作通知,多账户切换。
Android 4.4 Kitkat:一种巧克力。主要功能包括“Ok Google”音控,Immersive Design,智能拨号。
Android 5.0 Lollipop:棒棒糖。主要功能包括Material Design,Multiscreen,锁屏时通知。
Android 6.0 Marshmallow:棉花糖。
Android 7.0 Naugat:牛轧糖。
Android 8.0 Oreo:奥利奥。
Android 9.0 Pie:派。

2、Android系统特点

Android是开源的,遵循Apache协议,分5层架构,SDK(四大组件为Activity/Broadcast Receiver/Content Provider/Service)强大,UI不断改进,生态系统逐步完善,但是,系统运行速度有待改善,现在许多厂商都选择其作为基础平台来开发自己的产品,市场占有率很高,却没有较好的盈利模式,特别是越来越多的手机厂商,产品类型迥异,可以说是雨后春笋,但又是良莠不齐的,同时给产品兼容和屏幕适配带来了一定的困难。

3、Android系统框架

Android系统整体上分为五层:Linux Kernel(GPL)、HAL、Native Libraries&Android Runtime、Android Framework、Applications。如下图所示——

这里写图片描述

Linux内核层——
Android的底层是基于Linux操作系统的,那么在硬件层面的驱动开发就可以直接延用Linux的成果。

硬件抽象层——
既然有了Linux内核层与硬件打交道,为什么还要有个硬件抽象层呢?一开始是没有HAL的,HAL是在2008年的Google IO大会上引入的,旨在进一步降低Android系统与硬件的耦合度。Linux遵循的是GPL协议,意味着其下的所有驱动都应该是开源的,而Android遵循的是Apache协议,有些东西可能不想开源出来,HAL就正好规避了这个问题。

系统运行库层——
这一层是一些基础库,多数由C/C++实现,包括了不少开源项目,如WebKit、OpenGL、SQLite等,项目之多,Google开发了基于git的repo版本管理工具,用repo来管理整个工程。

应用程序框架层——
这一层是个Java库,为上层应用程序提供了API接口,而且还包括了一些系统级服务进程。

应用程序层——
这一层是直接面向用户的应用程序。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值