Android 进入Android世界

  欢迎你来到Android的世界!很高兴在这里碰面,从今天开始我们将并肩作战,你可以把我当成你的朋友,我们一起学习新的知识,编写每一行代码,体验Android开发给你不一样的感觉。

一、Android介绍

  Android是一种移动智能设备操作系统,比如手机、平板电脑、手表、车载设备等,丰富着我们的生活。Android系统是目前世界上市场占有率最高的移动操作系统,Android是建立在Linux开源系统基础之上的。

  2003年10月,Andy Rubin(安迪·鲁宾)等人一起创办了Android公司,于2005年8月17日被Google(谷歌)公司收购,收购后Andy Rubin继续负责Android项目。2007年11月5日,Google与84家硬件制造商、软件开发商及电信营运商组成开放手持设备联盟(Open Handset Alliance),来共同研发改良Android系统并生产搭载Android的智慧型手机,并逐渐拓展到平板电脑及其他领域上。随后,Google以Apache免费开源许可证的授权方式,发布了Android的源代码,并在2008年Google推出了Android的第一个版本。

  Android的发展跟任何新生事物一样,也不是一帆风顺、顺风顺水的,从最开始苹果公司的阻挠,到Linux团队的除名,再到Oracle(甲骨文公司)的针对,主要是针对Android侵犯Java知识产权一事对Google提起了诉讼,这也是后面Android改用Kotlin作为开发语言的原因,虽然现在你会看到一些古董项目仍然是使用Java,但是新项目基本都切换到Kotlin了。

  杀不死你的使你更强大,由于Google的开放政策,任何手机厂商和个人都能免费获取Android操作系统源码,并且可以自由地使用和定制。目前来说国外出名的Android手机就是三星了,而国内使用的厂家就比较多,荣耀、小米、OPPO、VIVO、魅族等手机品牌。华为原来也用Android,后面随着老美的制裁,启用了备案系统,也就是现在的鸿蒙,一步一步成长到现在的纯血鸿蒙,相信鸿蒙会越来越强大。好的,我们回到Android上,下面我们开始进一步了解Android系统。

二、Android 系统架构

  通过Android系统架构我们可以了解到Android系统是怎么工作的,我们来看一下官方网站最新的Android平台架构图,大致分为5层架构:Linux内核层(Linux Kernel)、硬件抽象层(Hardware Abstraction Layer,HAL)、系统运行库层、应用框架层(Java API Framework)、应用层(System Apps),如下图1-1所示。

在这里插入图片描述

图 1-1 Android系统架构图

2.1. Linux内核层

  Android系统是基于Linux内核的,Linux 内核提供了系统的进程管理、内存管理、文件系统、网络功能、硬件驱动、安全机制,Android的 Linux内核层在此基础上添加了部分Android专用的驱动,如音频驱动、显示驱动、照相机驱动、蓝牙驱动、WIFI驱动、USB驱动等。

2.2. 硬件抽象层

  硬件抽象层(Hardware Abstraction Layer,HAL)处于应用程序框架层和Linux内核层之间,用于将硬件抽象化。简单来说,就是对内核驱动程序进行封装,向上提供接口,向下屏蔽具体的实现细节。当应用程序框架层API要访问设备硬件时,Android系统会为该硬件组件加载库模块。

2.3. 系统运行库层

  系统运行库层分为两个部分:
  (1)Native C/C++ Libraries。通过一些C/C++库为Android系统提供了主要的特性支持,这些库能够被安卓系统的不同组件所使用。它们通过Android应用框架为开发者提供服务,其中有系统C语言库、多媒体库、图层管理、SQLite、OpenGL|ES、WebKit、音频、SSL、SGL等。

  (2)Android Runtime。Android运行时库,允许开发者使用Java语言来编写Android应用,Android运行时库包括核心库以及Dalvik虚拟机(Android 5.0以后更改为ART虚拟机)。Dalvik虚拟机兼容了大多数Java语言所需要的功能函数,还包括了Android的核心库,比如android.os、android.net、android.media等。ART虚拟机采用AOT(Ahead-of-time)技术,在应用程序安装时就会将字节码转换为机器码,从而优化了应用运行的速度。在内存管理方面,ART也有比较大的改进,对内存分配和回收都做了算法优化,降低了内存碎片化程度,回收时间也得以缩短。

2.4. 应用框架层

  应用框架层(Java API Framework)提供了大量可供开发人员使用的应用程序接口(Application Programming Interface,API),Android自带的很多核心应用也是使用这些API完成的。应用程序框架层集中了很多Android开发需要的组件,其中最主要的就是Activities(活动)、Broadcast Receiver(广播接收器)、Services(服务)以及Content Providers(内容提供者)这四大组件。

2.5. 应用层

  应用层(System Apps)就很好理解了,你在手机上能看到的应用都属于这一层,而这一层的应用又分为系统应用和用户开发的应用。一些厂商为了方便用户使用,会在出厂时就默认安装很多应用。那些应用中能卸载的就是用户开发的应用,比如微信、QQ、抖音、微博等;不能卸载的就是系统自带的应用,比如浏览器、联系人、电话、日历、相机等应用。

三、Android发布的版本

  Android自从面世以来到现在已经发布了20多个版本了,目前最新的是Android 13 (Beta) 版,目前未正式发布,今年的Google I/O大会上将会正式发布,下面我们通过一张表来介绍Android目前的所有版本,如表1-1 所示。

名称版本名API等级发布时间
Android 1616.0362025-6-11
Android 1515.0352024-9-24
Android 1414.0342023-10-4
Android 1313.0332022-8-15
Android 12LBeta 版 312L322022-2-9
Android 1212.0312021-10-5
Android 1212.0312021-10-5
Android 1111.0302020-9-9
Android 1010.0292019-9-4
Android Pie9.0282018-8-7
Android Oreo8.0-8.126-272017-8-22、12-5
Android Nougat7.0-7.1.224-252016-8-22、12-5
Android Marshmallow6.0232015-9-30
Android Lollipop5.0-5.1.121-222014-11-13、3-10
Android KitKat4.4-4.4.419-202013-11-1、2014-6-20
Android Jelly Bean4.3-4.2-4.116-182013-7-25、2012-10-30、2012-6-28
Android Ice Cream Sandwich4.0.1-4.0.414-152011-10-19、2012-3-29
Android Honeycomb3.0-3.211-132011-2-3、5-11、7-13
Android Gingerbread2.3-2.3.79-102010-12-7、2011-1-1
Android Froyo2.282010-5-20
Android Eclair2.0-2.0.1-2.15-72009-10-26、12-3、2010-1-12
Android Donut1.642009-9-15
Android Cupcake1.532009-4-17
Bender1.122009-2-2
Astro1.012008-9-23
表 1-1 Android系统版本信息

3.1 版本说明

  下面说明一下这张表,表从下往上,是Android版本的更新信息,在最开始的时候Android的版本是内部使用,这两个预发布的内部版本,它们的代号分别是铁臂阿童木(Astro)和发条机器人(Bender)由于不是公开的,因此也没有详细的版本名。

  从Android 1.5 开始Google为发布的版本进行命名,以甜点为主。纸杯蛋糕(Cupcake)、甜甜圈(Donut),这种命名风格直到Android 8.0的奥利奥(Oreo)为止,我大胆的猜测,他喜欢的甜点名都用完了,而Android 9.0 是馅饼(Pie),之后就直接以数字命名了,我们从表中也能看得出来。

  由于Android的发展,一些老的版本不再维护了。目前Android开发者平台中,最老的版本是 Android 4.4(KitKat)。这里我们说一些有代表性的版本,

  • Android 6.0(Marshmallow)这个版本开始,有运行时权限的概;
  • Android 8.0中对通知做了优化;
  • Android 10.0的暗黑模式、桌面模式、手势导航;
  • Android 12.0的蓝牙运行权限、功能使用、性能优化等。
  • Android 13的照片选择器、跨设备复制粘贴、精细媒体权限控制;
  • Android 14的锁屏自定义快捷方式、卫星通信支持、Ultra HDR图像格式;
  • Android 15 应用归档功能、局部屏幕共享、系统级AI抠图工具;
  • Android 16的预测性返回手势、量子安全加密、多设备协同计算加速。

  目前Android 16国内各大厂商已经在做适配了,相信不久之后就会有手机厂商打出基于Android 16的标识去推销自家手机产品,对比开发者来说要想体验Android 16 可以通过Android Studio去安装模拟器,不过需要版本比较新的AS,例如 Android Studio Meerkat |2024.3.1,不过你要是使用最新的Android Studio Narwhal | 2025.1.1 Patch 1,那就是肯定可以下载Android 16模拟器进行预览的。

  关于Android Studio的安装和配置,我之前写过一篇:Android Studio 安装配置教程 - Windows(详细版),你如果是刚了解Android,可以跟着安装配置一下,本文就到这里,我们后会有期!有问题欢迎评论区留言或者私信我。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初学者-Study

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值