Android

Android

Android,中文名安卓,[0]是一种基于Linux的开放源代码软件栈,为各类设备和机型而创建。[3][6]2003年10月,Android系统由Andy Rubin(安迪·鲁宾)等人创立,后在2005年8月17日被Google收购。[1][7]2007年11月5日,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统并正式对外发布。[1][7][8]截至2023年8月,Android的最新版本为Android 14。[9][10]Android附带一系列适用于电子邮件、短信、日历、互联网浏览和联系人等的核心应用。[3]除这些核心应用外,Android从一开始便内置了安全机制、多任务、显示尺寸和密度等功能,并且允许开发者开发和发布他们自己的应用,形成一个生态系统,这使得Android区别于其他平台。[11]此外,Android还致力于开发各种无障碍功能和产品,例如屏幕阅读器、消音器,甚至AR步行导航。[12]

Android,中文名安卓,[1]是一种基于Linux的开放源代码软件栈,为各类设备和机型而创建。[4][7]2003年10月,Android系统由Andy Rubin(安迪·鲁宾)等人创立,后在2005年8月17日被Google收购。[2][8]2007年11月5日,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统并正式对外发布。[2][8][9]截至2023年8月,Android的最新版本为Android 14。[10][11]

Android附带一系列适用于电子邮件、短信、日历、互联网浏览和联系人等的核心应用。[4]除这些核心应用外,Android从一开始便内置了安全机制、多任务、显示尺寸和密度等功能,并且允许开发者开发和发布他们自己的应用,形成一个生态系统,这使得Android区别于其他平台。[12]此外,Android还致力于开发各种无障碍功能和产品,例如屏幕阅读器、消音器,甚至AR步行导航。[13]

Android面向所有人开放,开发者、设计人员和设备制造商均可使用。[13]Android可用于手机、平板电脑、手表、电视、汽车、可折叠设备和ChromeOS设备。[14][13]Android的主要竞争对手是由苹果公司,诺基亚和其他少数公司开发的移动操作系统平台。[15]截至2021年5月,Android操作系统已在30亿台活跃设备上运行,[16]2022年,谷歌宣布Android的活跃设备数量正式突破30亿,稳居全球第一大操作系统。[12]截至2023年2月,根据StatCounter统计,除了美国、英国、加拿大、巴哈马、冰岛、挪威、瑞典、丹麦、瑞士、科索沃、日本、台湾和澳大利亚外,在其他所有国家和地区Android都是被广泛使用的智能手机操作系统。[17]截至2023年5月,根据手机广告网络公司AdMob提供的月度数据显示,中国的Android手机数量为88.2384万部。[18]

Android命名由来

1886年,法国作家维利耶·德·利尔-阿达姆·利尔亚当(Auguste Villiers de l'Isle-Adam)发表科幻小说《未来夏娃(L'Ève future)》,在小说中,他把外表像人的机器人取名为Android,这是Android一词最早出现在公众视野。[7]

Android标志

Android的标志是一个全身绿色的机器人,拥有半圆形的头部、两支天线和空白的点作为的眼睛。它的头部与身体之间有空白的区域,两侧各有两个圆角矩形,作为它的双臂。Android的标志是由Ascender公司设计,颜色采用了PMS 376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象征。[19]

Android的标志
Android的标志

2024年1月5日消息,谷歌将会启用新版安卓Logo。新款安卓Logo调整了安卓机器人,使原来的机器人图标更加具有立体感,另外“android”字体也变得更加紧凑且圆润。[20]

成立

2003年10月,Andy Rubin(安迪·鲁宾)、利奇·米纳尔、尼克·席尔斯、克里斯·怀特等人在加州帕罗奥图创建Android公司,并组建了当时的Android团队。联合创始人Andy Rubin把Android项目描述为“有极大的潜能以开发更智能的行动设备,以更了解其用户的位置及偏好”。[8]

Google的收购及发展

2005年8月17日,Google收购了Android及其团队,Andy Rubin成为Google公司工程部副总裁,继续负责Android项目。[2][8]根据前Google CEO施密特的说法,收购Android的目的是抗衡微软,试图阻止微软在移动市场复制桌面市场的成功。[7]Andy Rubin最初的计划是创建一个带有云部分的相机平台,用于在线存储照片,但因数码相机的发展速度缓慢,Andy Rubin的业务计划修改为“开源手机解决方案”,Android保留了其软件核心,包括Java核心。[21]

2007年9月,数字杂志《Information Week》报道了一项Evalueserve的研究报告,指出Google已在移动电话领域提交了多份专利申请。[7]11月5日,谷歌公司正式推出了Android操作系统,并宣布建立一个全球性的联盟组织,该组织由34家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成,并与84家硬件制造商、软件开发商及电信营运商组成开放手持设备联盟(Open Handset Alliance)来共同研发改良Android系统,这一联盟将支持谷歌发布的手机操作系统以及应用软件,Google以Apache免费开源许可证的授权方式,发布了Android的源代码。[2][9]同日,联盟对外展示了他们的第一个产品:一部搭载了以Linux 2.6为核心基础的Android操作系统的智能手机。[7]

2008年,在GoogleI/O大会上,谷歌提出了AndroidHAL架构图,在同年8月18号,Android获得了美国联邦通信委员会(FCC)的批准,在2008年9月23日,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本。[2][22]

2008年12月9日,新一批成员加入开放手持设备联盟,包括ARM、华为、索尼等公司。[7]

为了跟iPhone 3G竞争,诺基亚和黑莓手机于2008年均宣布有关触屏的智能手机的信息,Android最终也转向触屏手机领域。第一款运行Android系统的商用智能手机是HTC Dream,也被称为T-Mobile G1,该智能手机于2008年9月23日发布。T-Mobile G1是第一款可以访问Android Market的手机,客户可以在手机上下载应用程序。[7][23][22]

2010年,Google推出了Nexus系列的设备,随后Nexus产品线扩展到包括不同尺寸的平板电脑和手机,并且Google每年都会与其合作伙伴合作推出新设备并展示新版本的Android。[24]

领先发展

从2008至2013年,雨果·巴拉 (Hugo Barra)担任Android产品管理副总裁,参与过多次Google I/O活动和Nexus产品发布会,他于2013年8月离开Google,随即加入中国手机制造商小米。巴拉的退出是继三个月前离开Android团队的Android创建者Andy Rubin的脚步。[25]Google时任CEO赖利·佩吉在一篇博客文章中宣布,Andy Rubin从Android部门转移到Google的新项目,Rubin的职务将由Sundar Pichar取代。此前,Sundar Pichar曾负责Chrome浏览器的开发工作。[26]

2014年6月,Google发布了Android One计划,该计划创建了一组“硬件参考模型”,可供其他制造商在制造手机时参考,这有利于设备制造商以低成本打造高质量手机。[27]同年9月,谷歌印度推出了第一款Android One品牌智能手机,这些手机提供谷歌的最低功能。[28][29]

2017年1月,《信息(The Information)》报道称Google正在将其低成本的Android One计划扩展至美国,尽管《边缘(The Verge)》指该公司可能不会生产实体的设备。[30]

根据Canalys发布的2010年第四季度全球国家级智能手机市场数据显示,运行Android的智能手机出货量达到3290万部,而运行诺基亚Symbian平台的设备为3100万部,谷歌Android已成为领先平台, 但诺基亚仍然保持了全球领先智能手机供应商的地位。[31]

在2014年Google I/O开发者大会上Google宣布过去30天里有10亿台活跃的Android设备,相较于2013年6月则是5.38亿。[7]

2017年3月,Android全球网络流量和设备超越Microsoft Windows,正式成为全球第一大操作系统。[7]

截至2021年8月,根据StatCounter统计,除了美国、加拿大挪威瑞典丹麦瑞士科索沃日本、台湾和澳大利亚外,其他所有国家和地区都把Android作为首选智能手机操作系统。[7]

2021年9月27日起,Android2.3.7及以下的Android版本无法登录GmailYouTube、Google地图等相关App,也无法创立或登录Google账号。[32][7]

版本更新

Android最早的两个内部测试版本是以机器人名称来命名:阿童木(AndroidBeta)和发条机器人(Android 1.0),后因版权问题,从2009年Android 1.5开始,谷歌将甜点作为Android系统代号,如纸杯蛋糕(Android 1.5),甜甜圈(Android 1.6),松饼(Android 2.0/2.1),冻酸奶(Android 2.2)等。[2][33]

2008年9月23日,谷歌发布Android1.0,版本代号为发条机器人,内置YouTube应用程序,[15]支持摄像头等。[34]

2009年4月27日,Android发布第一个使用甜品来命名的版本Android Cupcake,中文名纸杯蛋糕,版本号为1.5,Android Cupcake支持蓝牙及屏幕内键盘,可以进行视频录制并上传至 YouTube,相比前一版本改善了一些用户界面及Google应用。此外,开发者可以在开发计算机上同时运行多个AVD(虚拟设备),因此开发者可以设计多人游戏或其他客户端服务器应用程序。[10][11]

Android Cupcake(纸杯蛋糕)
Android Cupcake(纸杯蛋糕)

2009年9月15日,Android发布Android Donut,中文名是甜甜圈,版本号为1.6,[35]Android Donut对用户界面进行了优化,主屏幕增加了模拟时钟、日历、音乐播放器、相框和搜索等小部件,增加了对CDMA智能手机的支持、额外的屏幕尺寸、电池使用情况指示器和文本到语音引擎。[36][37][10]

Android Donut(甜甜圈)
Android Donut(甜甜圈)

2009年10月26日,Android发布Android Éclair,中文名是松饼,适用于版本2.0-2.1,Android Éclair可设置动态壁纸,允许主屏幕背景显示动画,可以将多个帐户添加到设备以进行电子邮件和联系人同步(包括 Exchange 帐户),还可以实现对联系人信息和通信的即时访问,并首次引用了语音转文字功能。[38][39]

Android Éclair(松饼)
Android Éclair(松饼)

2011年2月26日,Android发布Android Honeycomb,中文名是蜂巢,版本号为3.0,Android早期的主要问题之一是代码可以在各种设备上运行,但界面是为智能手机设计的,Android 3.0 更好地适应了平板电脑的屏幕尺寸,提供了一种电子邮件客户端运行方式。此外,Android 3.0利用Nvidia Tegra 2双核处理器,用户对于图片、视频、游戏的访问速度会更快。[40][41]

Android Honeycomb(蜂巢)
Android Honeycomb(蜂巢)

Android Lollipop首次亮相于2014年6月25日的Google I/O开发者大会,中文名是棒棒糖,版本号为5.0。[42]Android Lollipop正式版源代码在2014年7月经由Android Open Source Project发布。[43]这一版本添加了对Android的新Material Design样式的支持,添加屏幕采集和屏幕共享功能,锁定屏幕可以显示通知。[44]

Android Lollipop(棒棒糖)
Android Lollipop(棒棒糖)

2016年5月19日,Google在美国旧金山召开Google I/O2016年度开发者大会,公布了最新的版本叫Android N,但还没有确定具体名字。[45]2016年8月22日,Android正式发布Android Nougat,中文名是牛轧糖,版本号为7.0,Android Nougat对处理器占用量更小,支持多种语言,可同时运行两个程序,可使用VR模式,此外还更加注重安全问题。[46][45]

Android Nougat(牛轧糖)
Android Nougat(牛轧糖)

2019年8月,Google官方宣布,将结束以“甜点”命名Android系统的方式,即将推出的Android Q将被命名为Android 10。[2]但版本的内部代号仍以“甜点”命名。[47]

2019年12月,Android发布Android 10,其开发代号为Android Q,内部代号为Quince Tart (wēnpo果塔),[33]是由Google开发的Android操作系统的第10个主要版本,Android 10的首个开发者预览版本(测试版)在2019年3月14日发行并提供下载。[48][49]正式版于2019年9月3日发行。[50]Android 10的更新主要集中在全局手势、黑暗模式、消息通知和后台管理等方面,[50]增加推出新的保护措施,增加可折叠设备、深色主题、手势导航、连接、媒体、NNAPI和生物识别等方面的API。[51][52]

Android 10(Quince Tart )
Android 10(Quince Tart )

Android 11的内部代号为Red Velvet Cake (红丝绒蛋糕),[33][53]它的第一个开发人员预览版本以工厂镜像的形式于2020年2月19日发布,适用于Google Pixel智能手机(不包括第一代Pixel和Pixel XL),[53][54]2020年9月8日发布正式版。[55]该版本包括许多新技术的系统级更新,如对SHAKEN / STIR呼叫屏幕身份验证的支持,为Stadia等媒体游戏服务提供更好的低延迟视频解码,新版本的Google神经网络API等,Android 11还提供对应用的一次性位置访问权限。[53]

Android 11(Red Velvet Cake )
Android 11(Red Velvet Cake )

Android 12的内部代号为Snow Cone(刨冰),[56]Android 12预览版计划从2021年2月开始启动,Android 12第一个开发者预览版于2021年2月18日发布。第一个测试版于2021年5月18日发布,正式版于2021年10月4日发布。[57][58]该版本引入了AppSearch作为一种系统服务,引入了新的应用启动动画。[59]

Android 12(Snow Cone)
Android 12(Snow Cone)

Android 13的内部代号为Tiramisu(提拉米苏),[60][47]2022年2月10日Google发布了Android 13开发者预览版,[61]正式版于2022年8月15日推出。[62][63]Android 13开发一项代号为“Panlingual”的新功能,该功能将允许客户在每个应用程序的基础上应用语言设置,与系统范围的设置分开。[64]此外,还增加带主题的应用图标功能,支持多语言应用,改进了文本和语言支持以及文本转换API等功能。[65]

Android 13(Tiramisu)
Android 13(Tiramisu)

Android 14内部代号为Upside Down Cake(颠倒蛋糕),[66]Android 14预览版计划从2023年2月开始启动,[67]2023年8月11日,Android 14 Beta 5正式发布,[68]Android 14增加地区偏好设置,保护隐私的屏幕截图检测API,支持字体放大高达200%等功能。[69]

Android 14(Upside Down Cake)
Android 14(Upside Down Cake)

据外媒9to5Google报道,2024年将会迎来Android 15,内部代号为Vanilla Ice Cream(香草冰淇淋)。[70][71]

界面和内容

用户对应用性能的评价在很大程度上取决于应用的响应能力,Android在应用速度和响应能力等方面不断进行优化。例如,Android在可触摸项上提供轻触反馈;界面始终具有交互性;Android设备按 60 帧/秒 (fps) 帧率刷新屏幕;在应用启动缓慢时使用启动屏幕等。[72]此外,在程序应用的过程中,有时候会出现应用响应迟钝、界面卡住,或者系统处理的时间过长等问题。当出现上述问题时,Android系统会通过显示应用已停止响应的对话框来向用户说明问题的具体情况,用户可以选择退出此应用。[72][73]

应用无响应(ANR) 对话框
应用无响应(ANR) 对话框

Material Design是一种视觉语言,可以提供一种在不同平台和各种尺寸的设备上运行的基本系统。Material Design支持库具有现成的Material Design组件,这些组件是用于创建用户界面的交互式构建块,并包括一个内置状态系统,可用于选择、激活、暂停、拖动和禁用等状态,可以支持 Android 2.1(API级别 7)及更高版本。[72][74]

在语言方面,Android用户分布广泛,用户在使用应用过程中难免发生语言不通的问题,从 Android 7.0(API 级别 24)开始,Android 框架提供部分ICU4J API,这些API可帮助用户将应用转换为多种语言,实现应用本地化。[72]此外,当需要填写文本字段时,Android系统会显示屏幕键盘(称为“软键盘输入法”)。对于部分文本,应用开发者可以指定输入类型(例如,是电话号码还是电子邮件地址)以及输入法行为方式(例如,是否自动更正拼写错误)等。[75]

硬件支持

Android的主要硬件平台为ARM架构(包括ARMv7及ARMv8-A ),一些高阶版本的Android也支持x86及x86-64的架构。[76][77][78][79]因为ARM主导智能手机架构,所以在绝大多数情况下,Android可以在ARM架构处理器上运行。另外,由于操作系统、中间件和应用程序堆栈是开源的且基于修改后的Linux内核和Java语言,因此理论上Android也适用于包括MIPS和Atom在内的任何处理器。[77]过去Android系统存在开发环境只支持Java这一缺陷,在Android将原生软件开发工具包(SDK)用于关键应用软件后,这个问题才得到解决。[80]

Android除了可以在智能手机和平板电脑上运作外,还可以在一些附有键盘和鼠标的普通PC硬件上运作[81][82][83]Android-x86可以将Android移植到x86平台上,以便Android在IntelAMD处理器上运行。[84]此外,在Android 4.4版本中还添加了x86指定代码,能够让系统在x86平台上流畅运行,这对于笔记本的作用更加显著。[85]

不同安卓版本的API级别

API级别是对Android平台版本提供的框架API修订版本进行唯一标识的整数值。Android平台提供一种框架API,应用可利用它与底层Android系统进行交互。开发者通过API级别表示应用与一个或多个版本的Android平台的兼容性。[86]

平台版本API级别VERSION_CODEAndroid 1434[87]UPSIDE_DOWN_CAKEAndroid 1333[88]TIRAMISUAndroid 1232[89]S_V231[90]SAndroid 1130[91]RAndroid 1029[92]QAndroid 928[93]PAndroid 8.127[94]O_MR1Android 8.026[95]OAndroid 7.1.1、7.125[96]N_MR1Android 7.024[97]NAndroid 6.023[98]MAndroid 5.122[99]LOLLIPOP_MR1Android 5.021[100]LOLLIPOPAndroid 4.4W20[101]KITKAT_WATCHAndroid 4.419[102]KITKATAndroid 4.318[86]JELLY_BEAN_MR2Android 4.2、4.2.217[86]JELLY_BEAN_MR1Android 4.1、4.1.116[86]JELLY_BEANAndroid 4.0.3、4.0.415[86]ICE_CREAM_SANDWICH_MR1Android 4.0、4.0.1、4.0.214[86]ICE_CREAM_SANDWICHAndroid 3.213[86]HONEYCOMB_MR2Android 3.1.x12[86]HONEYCOMB_MR1Android 3.0.x11[86]HONEYCOMBAndroid 2.3.4、 2.3.310[86]GINGERBREAD_MR1Android 2.3.2、2.3.1、2.39[86]GINGERBREADAndroid 2.2.x8[86]FROYOAndroid 2.1.x7[86]ECLAIR_MR1Android 2.0.16[86]ECLAIR_0_1Android 2.05[86]ECLAIRAndroid 1.64[86]DONUTAndroid 1.53[86]CUPCAKEAndroid 1.12[86]BASE_1_1Android 1.01[86]BASE

应用组件

Android的开发四大组件分别是:Activity(活动)、[103]Service(服务)、[104]BroadcastReceiver(广播接收器)、[105]Content Provider(内容提供商)[106]

Activity(活动)

Activity是一个应用组件,为用户提供一个可互动的屏幕来执行某项操作,例如拨打电话、拍照、发送电子邮件或查看地图。每个Activity都有一个窗口,窗口的大小一般会填满屏幕,大多数应用包含多个屏幕,因此它们包含多个Activity。用户在启动应用时出现的第一个屏幕会被指定为主Activity,每个Activity可以启动另一个Activity以执行不同的操作。例如,电子邮件应用中的主Activity可能会提供显示电子邮件收件箱的屏幕。主Activity可能会从该屏幕启动其他Activity,以提供执行写邮件和打开邮件这类任务的屏幕。[103]

虽然应用中的各个Activity在工作中相互配合,但Activity之间的关联比较松散,应用内不同Activity之间的依赖程度比较小。事实上,Activity经常会启动属于其他应用的 Activity。例如,浏览器应用可能会启动社交媒体应用的“分享”Activity。[103]

Service(服务)

Service是一种可在后台执行长时间运行操作而不提供界面的应用组件,简单来说就是一种即使用户未与应用交互也可在后台运行的组件。Service跟Activity类似,但Service不能独立运行,只能后台运行,并且可以和其他组件进行交互。[107]Service可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。此外,组件可通过绑定到服务与之进行交互,甚至是执行进程间通信 (IPC)。例如,服务可在后台处理网络事务、播放音乐,执行文件I/O或与内容提供程序进行交互。[104]

Android有三种服务类型:前台(执行一些用户能注意到的操作)、后台(执行用户不会直接注意到的操作)和绑定(绑定服务会提供客户端-服务器接口,以便组件与服务执行操作)。[104]

BroadcastReceiver(广播接收器)

一般来说,广播可作为跨应用和普通用户流之外的消息传递系统。广播接收器允许应用接收系统或其他应用广播的intent,在应用的其他组件并没有运行的情况下也可以接收。Android应用与Android系统和其他Android应用之间可以相互收发广播消息。例如,系统启动或设备开始充电时、一些新数据下载成功时Android系统都会发送广播。此外,应用还可以注册接收特定的广播。[105]

Content Provider(内容提供程序)

内容提供程序是Android应用的一部分,通常提供界面来处理数据。但是,内容提供程序主要目的是供其他应用使用,用户通常会在以下两种场景中使用内容提供程序:一种是通过实现代码访问其他应用中的现有内容提供程序;另一种是在应用中创建新的内容提供程序,从而与其他应用共享数据。[106]

内容提供程序有助于应用管理其自身和其他应用所存储数据的访问,并提供与其他应用共享数据的方法。内容提供程序是一种标准接口,可将一个进程中的数据与另一个进程中运行的代码进行连。通过配置内容提供程序,用户可以使其他应用安全地访问和修改应用数据。[108]

系统架构

Android的系统架构分为四层,从高层到低层分别是应用程序层、应用框架层、系统运行库层和Linux内核层。Android系统构架主要应用于ARM平台,在X86、MAC等体系结构的机器上同样可以运行。[109]

应用程序层

Android通常和一系列核心应用程序是一同发布,如Email客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序等,应用程序一般是用Java进行编写。[109][107]

应用框架层

开发人员可以访问核心应用程序所使用的API框架。应用程序架构设计对组件进行简化,应用程序可以发布其功能块并允许其他应用使用(不过得遵循框架的安全性限制)。此外,该应用程序重用机制让用户替换程序组件更加便捷。[109][107]

每个应用都包含着一系列的服务和系统,其中包括:视图(Views)、内容提供器(Content Providers)、资源管理器(Resource Manager)、通知管理器 (Notification Manager) 、活动管理器( Activity Manager) 。[109][107]

系统运行库

Android包含一些C/C++库,这些库能被Android系统中不同的组件使用,它们通过Android应用程序框架为开发者提供服务。其中,核心库包括系统C库(专门为基于Embedded linux的设备定制)、媒体库(支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件)、Surface Manager(管理显示子系统)、LibWebCore(web浏览器引擎)。[109][107]

Linux内核

Android平台的基础是Linux内核,Linux内核也同时作为硬件和软件栈之间的抽象层。使用Linux内核可让Android利用主要安全功能,并且允许设备制造商为知名的内核开发硬件驱动程序。[110][109]

Google Play

2009年2月,谷歌宣布推出Android Market在线软件平台,用户可在该平台寻找、购买、下载Anroid操作系统的手机应用程序及其他内容。[111]

2012年3月6日,Google推出基于Android Market打造的网上商店平台Google Play作为Android的官方应用商店,[112][113][114]Google Play支持Android[115]、Android TV[116]、Android for Cars[117]、Wear OS[118]、ChromeOS[119]、网页[120]等平台访问。

截至2017年,Google Play具有超过350万个安卓应用,150多个地方的开发者可以在Google Play上发布应用程序。[121][122]Google Play允许开发者发布应用程序的早期版本,用户可以预购选定的应用程序,以便在产品上市后立即交付。[123]

ChromeOS

2016年5月20日,Google在Google I/O上表示,将会把Google Play商店和Android App带到ChromeOS中,使ChromeOS可以执行Android APP增加推行Chromebook和Chromebox的动力,解决该平台应用程序不足的问题,此外Chromebook在美国市场出货量已经超越苹果Mac[124]

2016年9月,包括所有安卓应用在内的Google Play商店来到了ChromeOS,ChromeOS采用了一种全新的技术,在支持ChromeOS的电脑上,ChromeOS和安卓都可以用相同的操作系统内核和硬件资源。[125]

市场

根据KANTAR的数据显示,2015-2021年美国智能手机操作系统主要由安卓和iOS占领。其中,安卓系统的市场份额从2015年的59.1%波动下跌至2020年的51.7%,iOS的市场份额从2015年的39.1%上升至2020年的48.3%。在2021年前三季度安卓系统在美国的市场份额上升至53%,而iOS的市场份额则下跌至46.8%。[80]在中国,2015-2021年中国智能手机操作系统主要由安卓和iOS占领。其中,安卓系统的市场份额从2015年的71.4%波动上升至2020年的83.3%。此外,安卓系统在日本德国法国等国家的市场份额有一定差异,但在全球主要国家均占据了主要的份额。[80]截至2021年5月,Android操作系统已在30亿台活跃设备上运行。[16]2022年,谷歌宣布Android的活跃设备数量正式突破30亿,稳居全球第一大操作系统。[12]从StockApps统计的数据来看,Android在2022年1月占据了全球市场份额为 69.74%。[126]截至2023年2月,根据StatCounter统计,除了美国、英国加拿大巴哈马冰岛挪威瑞典丹麦瑞士科索沃日本、台湾和澳大利亚外,在其他所有国家和地区Android都是被广泛使用的智能手机操作系统。[17]

分支平台

Android Wear OS

Android Wear OS以Android为基础,并且针对腕部佩戴进行了优化,是专为智能手表等可穿戴式设备所设计的一个Android系统分支。[127]

Android TV

Android TV是专为家用电视所设计的一个Android系统分支,Android TV应用采用的架构与手机和平板电脑应用相同,可以在电视上使用Android应用或游戏。[128]

Android Cars

Android Auto是专为汽车所设计的一个Android系统分支,用户可以将其应用部署到搭载Android Auto或Android Automotive OS的车辆上。[129]

Android Automotive

Android Automotive是Android操作系统的变体,也是一款专为车辆仪表板使用而设计的系统分支。消息通知可在应用未使用时及时向驾驶员反映,通知可以显示在通知中心,有些通知也可以作为浮动通知显示在显示屏上。[130]

Android Go

Android Go是针对低端设备而设计的Android系统分支,通过调整操作系统配置而提升低端设备的运行速度和性能,为在数据、存储空间、内存等方面受限的入门级手机用户提供良好的手机使用体验。[131]

设备兼容性

Android适用于手机、电脑等众多类型的设备,为了让应用在设备上正常运行,应用应该容许部分设备功能的变化。因此,Android提供了一个动态应用框架,供用户在静态文件中提供特定于配置的应用资源(例如针对不同屏幕尺寸的不同XML布局)。然后,Android会根据当前设备配置加载适当的资源。因此,在对应用设计和一些额外的应用资源进行一些事先规划后,用户可以发布单个应用软件包 (APK)。不同的设备可能会运行不同版本的Android平台,后研发的平台版本通常会添加之前版本中不可用的新API,因此,每个平台版本都会指定API级别。例如,Android 1.0是API级别 1,而Android 4.4是API级别19。[6]

2023年11月,据证券时报消息,目前鸿蒙HarmonyOS NEXT开发者预览版已不兼容安卓,华为可能明年推出不兼容安卓的鸿蒙版本,对此,业内人士向记者表示:“华为内部确实有这计划,就是明年推出不兼容安卓的鸿蒙版本,但目前内部还没有下发相关通知,所以具体何时推出暂不明确。”[132]2024年1月18日,华为常务董事余承东在华为鸿蒙生态千帆启航仪式上正式发布“原生鸿蒙系统”,即“鸿蒙星河版”,该操作系统安全独立,并不与安卓兼容。[133][134]

屏幕兼容性

Android可在各种尺寸的设备上运行,包括手机、平板电脑和电视。Android为每种设备定义了两个特征:屏幕尺寸(屏幕的物理尺寸)和屏幕密度(屏幕上像素的物理密度,称为DPI)。默认情况下,应用会兼容所有屏幕尺寸和密度,但也应该针对不同的屏幕尺寸添加专门的布局,针对常见的屏幕密度添加优化的位图图片,以优化每种屏幕配置的用户体验。[6][135]

系统安全

Android为用户提供持续运作的安全功能。用户在进行下载应用、浏览网页和分享数据、接收来电等操作时,Android都会实时保护,在未使用设备的情况下也不例外。当遇到恶意应用或有害链接时,系统会自动提醒用户,并提供有关后续应对措施的建议。此外,Google Play保护机制可以防止下载应用时伤害手机或窃取数据。系统每天都会扫描应用,如果检测到恶意应用,系统会通知用户并提供后续应对措施。Google Play还会定期安全更新软件。[136][13]

Google Play安全扫描
Google Play安全扫描

数据安全

在Android设备上,用户对于自己的数据拥有绝对处理的权力,用户可自主决定是否、何时分享自己的数据,例如网络与应用活动记录、位置记录等。在应用非使用期间访问个人信息时,用户可收到提醒,用户也可以随时设置应用的隐私权限。通过隐私设置通知,用户可以决定是否允许应用获取麦克风、摄像头或位置信息的访问权限(可选择“仅此一次”、“始终允许”或“永不”)。若长时间没有访问某个应用,Android可以自动关闭其权限,以免其持续访问用户的数据。此外,如果用户需要在浏览时保护隐私,可以在Chrome或Google地图中进入无痕模式。[136][13]

Android音频权限询问
Android音频权限询问

技术安全

应用沙盒

Android平台利用Linux保护机制识别和隔离应用资源,因此,Android会为每个 Android应用分配一个唯一的用户ID (UID),并在自己的进程中运行。Android会使用此UID设置一个内核级应用沙盒。[137]

应用签名

开发者可以通过应用签名来标识应用创作者并更新其应用,无需创建复杂的接口和权限。在Android平台上运行的每个应用都必须有开发者的签名。[137]

身份验证

Android采用通过用户身份验证的加密密钥机制,该机制需要加密密钥存储区以及服务提供商和用户身份验证程序。在配有指纹传感器的设备上,用户可以注册一个或多个指纹,并使用这些指纹解锁设备以及执行其他任务。[137]

生物识别

Android 9及更高版本包含一个BiometricPrompt API,应用开发者可以使用该API采用与设备和模态无关的方式将生物识别身份验证集成到其应用中。[137]

加密

设备经过加密后,所有由用户创建的数据在存入磁盘之前都会自动加密,并且所有读取操作都会在将数据返回给调用进程之前自动解密数据。加密可确保未经授权方在尝试访问相应数据时无法读取数据。[137]

密钥

Android提供了一个由硬件支持的密钥库,以提供生成密钥、导入和导出非对称密钥、导入原始对称密钥、使用适当的填充模式进行非对称加密和解密等功能。[137]

Linux (SELinux)

作为Android安全模型的一部分,Android使用安全增强型Linux (SELinux) 对所有进程强制执行强制访问控制 (MAC),甚至包括以Root/超级用户权限运行的进程(Linux功能)。[137]

Trusty 可信执行环境 (TEE)

Trusty是一种安全的操作系统 (OS),可为Android提供可信执行环境 (TEE)。Trusty OS与Android OS在同一处理器上运行,但Trusty通过硬件和软件与系统的其余组件隔离开来。[137]

启动时验证

启动时验证会尽量确保所有已执行代码均来自可信来源(通常是设备的OEM),以防受到攻击或损坏。它建立了一个完整的信任链,该信任链从硬件保护的信任根开始,延伸到引导加载程序,再延伸到启动分区以及其他已验证分区。[137]

安全漏洞

据国家计算机网络应急技术处理协调中心2012年7月4日发布的《2012年中国互联网网络安全报告》称,2012年监测到和网络安全企业通报的移动互联网恶意程序样本有162981个,其中约有82.5%的样本针对安卓平台,安卓平台已成为恶意程序的重灾区。[138]

2013年7月5日,负责安全系统的公司Bluebox宣称:几乎市面上所有运行Android系统的手持设备,都在底层存在安全风险。黑客能够利用该点,彻底控制用户的设备,比如打电话,发短信,甚至做出一个“僵尸网络”。[138]

2015年7月27日,网络安全公司Zimperium研究人员警告,Android存在“致命”安全漏洞,“黑客”只需简单发送一封彩信便可以在用户完全不打开或阅读彩信的情况下完全控制手机,实施远程窃取文件、查收电邮乃至盗取用户名和密码等违反活动。“这类攻击的目标可以是任何人,”Zimperium公司说,“这些漏洞极其危险,因为它们无需受害人采取任何行动。”新华国际客户端获悉,Zimperium公司在此之前已将这些安全漏洞通报给谷歌公司,同时向后者提供了自行开发的补丁程序。“谷歌行动及时,48小时内便在内部代码库应用了补丁程序,”Zimperium公司说,“不过,这只是个开始,更新部署将是非常漫长的过程。”因为,补丁到达终端用户手中往往需要几个月时间。[139]

应用程序盗版

在2012年5月的《Eurogamer》的访问中,《足球经理》的开发商Sports Interactive老板迈尔斯·雅各布森 (Miles Jacobson) 谈到,Android上的盗版率是他所见过的最严重的,并表示盗版给Sports Interactive带来了负担。但在这种情况下,《足球经理》开发商Sports Interactive还是希望能够继续使用Android,尽管该平台的盗版率高达 9:1。[140]一位Android开发者表示,谷歌需要采取更多措施来阻止Android设备上盗版游戏行为日益严重的情况。[141]

与甲骨文公司的专利诉讼

2010年8月,甲骨文在美国加州北区地方法院起诉谷歌,称安卓系统有37个API包侵犯了其Java版权。2012年5月,法院判定甲骨文APIs并不受版权保护,甲骨文公司败诉。[142]2012年10月甲骨文公司向美国联邦巡回上诉法院提起诉讼。2014年5月9日,美国联邦巡回上诉法院审理认为,美国版权法保护作者的原创作品包括“文字作品”,“计算机程序”也在该定义范围之内,甲骨文有权根据版权法来保护其软件。难以接受败诉的谷歌在2014年10月向美国最高法院申请调卷令,请求最高院介入。2015年6月29日,美国最高院在关于诉讼文件最终部署的移送命令中,拒绝了谷歌的调卷令申请。该案件发往旧金山联邦法院进行审理,“合理使用”则是此次的辩论焦点。Robert Van Nest认为这是典型的“合理使用”。甲骨文公司的律师Peter Bicks认为“你不能在别人没有许可的情况下,拿走别人的东西使自己获益。”Peter Bicks列举了“合理使用”的范围,包括批评、评论、新闻报道、教学、学术和研究。“安卓并不属于上面任何一项。”[143][144]

影响评价

政府采购信息报表示,“安卓被誉为首个为移动终端打造的真正开放和完整的移动软件,最大的优势在于系统的开放性、服务的免费性和与互联网实现无缝对接。”[145]

通信信息报同样表示,相对于iOS,安卓系统最大的优势便是开源,即可以让很多人自行开发手机应用并共享。其中安卓系统相对于iOS系统更为吸引用户的是支持内存卡容量的扩容以及双卡双待功能,使得消费者不必为容量担心,而且更具有选择性。安卓系统的开放带来了安卓系统的繁荣,可繁荣的背后是安卓碎片化严重,导致用户在使用应用的体验呈现差异不一的情况。[146]

接近谷歌的人士对21世纪经济报道记者表示,安卓系统的碎片化,让安卓操作系统在体验上无法保证,导致有许多用户从安卓阵营转向“果粉”[147]谷歌将一部分Google Play Service的闭源API放在了安卓开源系统中,一旦使用到这些API,就必须要安装Google Play Service。“因为Google Play Service也是GMS(谷歌移动服务)的一部分,所以如果厂商不预装gms,那么设备就没法运行需要调用这些API的app了。”触宝科技CEO王佳梁表示。[147]

通信产业报表示,随着安卓5.0的出台,基于安卓的定制工作将变得越来越难,并存在着知识产权方面的风险。[148]

参考资料 148

  1. 面向开发者的Android — developers
  2. Android 10结束了甜点命名的传统 — 手机新浪网
  3. Announcing the Android 1.0 SDK, release 1 — android
  4. android平台架构 — developers
  5. Multidevice development — developers
  6. Device compatibility overview — developers
  7. 2007年11月5日 Android诞生 — bytesea
  8. Google Buys Android for Its Mobile Arsenal — WebCite
  9. Industry Leaders Announce Open Platform for Mobile Devices — open handset alliance
  10. Android 1.5 Platform Highlights — developers
  11. Top 5 features in Android 1.5 (Cupcake) — ZDNET
  12. 15年30亿设备,安卓如何从0到最大的操作系统? — Redian新闻
  13. 一个颠覆移动设备功能的平台 — developers
  14. 适用于大屏设备开发的响应式布局 — developers
  15. Android Operating System Review — TECHPLUTO
  16. Google:全球使用Android驱动的设备达30亿台 — 中文互联网数据资讯中心
  17. Mobile Operating System Market Share Worldwide — StatCounter
  18. android 统计新增用户 安卓手机用户数 — 51GTO
  19. Brand Guidelines — Android
  20. 安卓将启用新logo — 抖音-财经网科技
  21. Android founder: We aimed to make a camera OS — PCworld
  22. Android and its first purchasable product, the T-Mobile G1, celebrate their 8th birthdays today — Android Police
  23. T-Mobile officially announces the G1 Android phone — techcrunch
  24. From Nexus One to Nexus 10: a brief history of Google’s flagship devices — Ars Technica
  25. Android VP Hugo Barra leaves Google, joins Chinese phone maker Xiaomi (updated) — engadget
  26. This article is more than 10 years old Andy Rubin moved from Android to take on 'moonshots' at Google — the Guardian
  27. Android One will help manufacturers build low-cost phones for developing markets — the verge
  28. For the next five billion: Android One — the keyword
  29. Android One smartphones released in India — BBC
  30. Low-cost Android One phones reportedly coming to the US — the verge
  31. Google’s Android becomes the world’s leading smart phone platform — canalys
  32. Gmail、YouTube 將無法登入!Google 停止支援這批舊 Android 手機 — 自由时报
  33. Even Android 11 is cake — the verge
  34. T-MOBILE G1 (GOOGLE ANDROID PHONE) — PC
  35. Android 1.6 SDK is here — developers
  36. Android 1.6 Platform Highlights — developers
  37. Android Versions List: All Android Versions That Are Named By Google Alphabetically — Republic World
  38. history Android — developers
  39. Android 2.0 Platform Highlights — developers
  40. Android 3.0 (Honeycomb) review — techradar
  41. Android 3.0 Honeycomb — techtarget
  42. 谷歌I/O大会开幕时间确定:Android 5.0要来 — 快科技
  43. Google releases Android L preview source for Nexus devices — ZDNET
  44. Android 5.0 API — developers
  45. 人工智能成主打 2016谷歌I/O开发者大会内容汇总 — 新浪科技
  46. Android 7.0 Nougat — android
  47. Google may have already revealed the dessert name for Android 13 "T" — xda developers
  48. Introducing Android Q Beta — Android Developers Blog
  49. Android Q Beta — developers
  50. Android 10 9月3日发布 Pixel全系列抢先尝鲜 — 新浪
  51. Android 10 — develop
  52. Smart lock doesnt work after dec 24, 2019 android 10 OS update. — Android help
  53. Google releases Android 11 developer preview earlier than expected — the verge
  54. Android 11 will have 3 developer previews and 3 betas before release — android police
  55. Android 11正式版发布日期意外曝光 9月8日即将亮相 — 腾讯网
  56. Android 12 Developer Preview — developers
  57. Android 12 预览版 — developers
  58. Android 12 has been released to the Android Open Source Project — engaget
  59. Android 12功能和 API 概览 — developers
  60. Google may have already revealed the dessert name for Android 13 “T” — xda developers
  61. Google launches Android 13 Developer Preview for Pixel phones — 9T5google
  62. Android 13: News, features, and everything you need to know — Android Police
  63. Android Open Source Project
  64. 'Panlingual' feature for per-app language settings planned for Android 13 — Android Police
  65. 功能和 API 概览 — developer
  66. Android 14 gets official internal codename… Upside Down Cake — 9t5google
  67. Android 14 预览版 — developers
  68. Android 14 Beta 版 — developers
  69. Android14功能和 API 概览 — developer
  70. 传下一代Android 15 系统「隐藏版」甜点代号首度曝光 — 自由时报
  71. Android 15可能要叫Vanilla Ice Cream — iThome
  72. UI and content for billions — developers
  73. Keeping your app responsive — developers
  74. Introduction — design
  75. Handle keyboard input — Android developers
  76. NDK Revision History — developers
  77. Update: MIPS gets sweet with Honeycomb — EETIMES
  78. Android ABIs — developers
  79. Android Lollipop — developers
  80. 干货!2022年全球智能手机操作系统两大巨头对比:Android VS iOS 谁更胜一筹? — 前瞻网
  81. The future of PC is here — Remix OS for PC
  82. Acer TA272 HUL Android All-in-One Review — TECHSPOT
  83. Android on the big screen: We chew up and spit out three Jelly Bean all-in-one PCs — PCworld
  84. 4 Ways to Run Android on Your PC and Make Your Own "Dual OS" System — how to greek
  85. Android-x86
  86. 什么是 API 级别 — developers
  87. Android API Differences Report — developers
  88. Android API Differences Report — developers
  89. Android API Differences Report — developers
  90. Android API Differences Report — developers
  91. Android API Differences Report — developers
  92. Android API Differences Report — developers
  93. Android API Differences Report — developers
  94. Android API Differences Report — developers
  95. Android API Differences Report — developers
  96. Android API Differences Report — developers
  97. Android API Differences Report — developers
  98. Android API Differences Report — developers
  99. Android API Differences Report — developers
  100. Android API Differences Report — developers
  101. Android API Differences Report — developers
  102. Android API Differences Report — developers
  103. 开发者指南Activity(活动) — developers
  104. 开发者指南service(服务) — developers
  105. 开发者指南(广播接收器) — developers
  106. 应用基础知识 — developers
  107. 基于安卓操作系统的智能快件箱 — Google Patents
  108. 开发者指南(内容提供程序) — developers
  109. Android什么是架构 — Worktile
  110. 平台架构 — developers
  111. 谷歌推出Anroid Market在线软件平台 — zol
  112. Google Play应用数量(2009年-2022年) — 数据基地
  113. The new Google Store is your one-stop web shop for Chromebooks, Nexus devices and more — Android Central
  114. Introducing Google Play: All your entertainment, anywhere you go — Google play
  115. Android(Go 版本) — Google Play
  116. 开发者指南 — Google Play
  117. 开发者指南 — Google Play
  118. 大屏幕使用入门 — Google Play
  119. 开发者指南 — Google Play
  120. Google Play
  121. Number of Android applications on the Google Play store — appbrain.com
  122. Number of Google Play Store apps 2017 | Statistic — Statista
  123. How to use a Google Play gift card — Android Central
  124. 進一步整合?Android App及Play Store可執行在Chrome OS上 — ithome
  125. Chrome OS与安卓合体:保持独立却共享资源 — 新浪财经
  126. 四年失去近 8% 的全球市场,Android 丢失的市场,被谁拿走了? — 36氪
  127. Wear OS 应用开发与移动应用开发的差异 — developers
  128. Android TV 概览 — developers
  129. Android for Cars 概览 — developers
  130. Android Automotive OS 上的通知 — developers
  131. Android(Go 版本) — developers
  132. 网传鸿蒙系统明年将不兼容安卓,业内人士:内部确实有这计划 — 今日头条
  133. 华为鸿蒙星河版发布 — 抖音短视频
  134. 鸿蒙星河版开发者预览发布!余承东:鸿蒙生态设备已突破8亿 — 百家号
  135. Screen compatibility overviewd — developers
  136. 在系统设计层面保障您的安全 — android
  137. Android 安全功能 — source
  138. 安卓曝出重大漏洞:黑客可控制99%设备 — 第一财经
  139. 安卓曝致命漏洞 黑客发彩信便可控制手机 — 新华网
  140. Football Manager dev hopes to stick with Android despite 9:1 piracy rate — EUROGAMER
  141. Op-Ed: Android Piracy Is Huge Problem for Game Devs — WIRED
  142. 谷歌惹麻烦:被判侵犯甲骨文Java版权 — zol新闻中心
  143. 谷歌甲骨文大战Java: 开源软件争议“合理使用” — 新浪财经
  144. Java专利侵权案:甲骨文赢得对谷歌的上诉 — 新浪科技
  145. 参考 145
  146. 参考 146
  147. 参考 147
  148. 参考 148
广告位:底部(ad-bottom)—— 请到中台「公共区块」编辑此内容