1 Android 系统背景及结构概述

Android 系统背景及结构概述

1. Android的历史

Android一词的本意指“人形机器人”,安迪•鲁宾 (Andy Rubin) 在2003年以此名创办了Android公司并开始召集团队研发Android系统。后于 2005 年被 Google 收购,安迪•鲁宾随后任Google 工程部副总裁,继续负责Android项目的研发工作。

安卓系统(Android)是一款基于Linux内核的自由开源的操作系统,主要使用于移动设备,如智能手机和平板电脑。 Google 在 2007 年 11 月 5 日正式对外公布的了这款系统,并以“绿色机器人”的形状作为其Logo。早期由 Google 开发,后由开放手机联盟(Open Handset Alliance)负责开发。

2. Android的层级结构

Android从系统架构上可分为四层结构,自下而上分别是:

  • Linux内核
  • 系统运行库
  • 应用程序框架
  • 应用程序
    Android层级.png
  1. Linux内核
    这一层是Android 的核心系统服务,位于Android系统的最底层,直接与硬件设备交互。它依赖于 Linux,负责内存管理、进程管理、设备管理、网络协议栈、安全性和驱动模型等系统级服务。
    Linux 内核作为Android硬件和软件之间的抽象层,为了更好的为Android上层应用服务,Google基于Linux做了一些的定制化的修改,具体的修改内容及原因会在后续的教程中陆续提到。
  2. 系统运行库
    这一层包含两大块:系统库及Android运行时
  • 系统库:
    这一部分其实就是C/C++库,这些库在Android系统中通常以so的形式供不同的组件使用,开发者可以通过自己的应用程序使用这些库提供的服务。
  • Android运行时
    Android采用Java作为开发语言,在其运行时中包含了Java核心库的大多数功能,并使每一个 Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik可以保证一个设备可以同时高效地运行多个虚拟系统。
  1. 应用程序框架
    这一层是会和用户直接打交道的一层,也是开发者最需要关注的一层。它包含了一系列的服务和系统,其中包括;
    1 丰富而又可扩展的视图(Views);
    2 内容提供器(Content Providers);
    3 资源管理器(Resource Manager);
    4 通知管理器(Notification Manager);
    5 活动管理器(Activity Manager);
  2. 应用程序
    开发者的绝大部分工作都是在这一层完成,通过Java编写的应用程序我们可以使用Android系统提供的服务来实现我们预期的功能。
    每一个应用程序都对应一个Dalvik虚拟机,利用跨平台性质,基于Android框架开发的应用程序可以运行于任何一台安装有android系统的平台。
    本教程的大多数内容也是针对这一层,我们将带领你建立属于自己的第一个Android应用程序,并一步步由浅入深的学习Android各个细枝末节,让你可以更好的掌握Android应用程层序开发。

3. Android各个版本、代号及API级别

从Android 1.5开始,Google发型每一个Android版本都用一个甜品的名称作为代号,而代号首字母是从C开始以此按照字母顺序排列,而直到19年发布的Android Q开始,Google弃用了这一传统,改名为Android 10。

名称版本号API等级发布时间BuildVersion
Q10.0292019-09BuildVersionCodes.Q
Pie9.0282018-08BuildVersionCodes.P
Oreo8.1272017-12BuildVersionCodes.OMr1
Oreo8.0262017-08BuildVersionCodes.O
Nougat7.1252016-12BuildVersionCodes.NMr1
Nougat7.0242016-08BuildVersionCodes.N
Marshmallow6.0232015-08BuildVersionCodes.M
Lollipop5.1222015-03BuildVersionCodes.LollipopMr1
Lollipop5.0212014-11BuildVersionCodes.Lollipop
Kitkat Watch4.4W202014-06BuildVersionCodes.KitKatWatch
Kitkat4.4192013-10BuildVersionCodes.KitKat
Jelly Bean4.3182013-07BuildVersionCodes.JellyBeanMr2
Jelly Bean4.2-4.2.2172012-11BuildVersionCodes.JellyBeanMr1
Jelly Bean4.1-4.1.1162012-06BuildVersionCodes.JellyBean
Ice Cream Sandwich4.0.3-4.0.4152011-12BuildVersionCodes.IceCreamSandwichMr1
Ice Cream Sandwich4.0-4.0.2142011-10BuildVersionCodes.IceCreamSandwich
Honeycomb3.2132011-06BuildVersionCodes.HoneyCombMr2
Honeycomb3.1.x122011-05BuildVersionCodes.HoneyCombMr1
Honeycomb3.0.x112011-02BuildVersionCodes.HoneyComb
Gingerbread2.3.3-2.3.4102011-02BuildVersionCodes.GingerBreadMr1
Gingerbread2.3-2.3.292010-11BuildVersionCodes.GingerBread
Froyo2.2.x82010-06BuildVersionCodes.Froyo
Eclair2.1.x72010-01BuildVersionCodes.EclairMr1
Eclair2.0.162009-12BuildVersionCodes.Eclair01
Eclair2.052009-11BuildVersionCodes.Eclair
Donut1.642009-09BuildVersionCodes.Donut
Cupcake1.532009-05BuildVersionCodes.Cupcake
Base1.122009-02BuildVersionCodes.Base11
Base1.012008-10BuildVersionCodes.Base

4. 小结

本节对Android系统的背景及结构做了一个简单的讲解,旨在让大家有一个基本的认识,如果感兴趣的话可以查阅相关资料进行深入了解。下一张我们将带着大家完成开发环境的搭建,这也是进入开发之前的必经之路。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值