0

0

Android 进入Android世界

星夢妙者

星夢妙者

发布时间:2025-10-22 12:32:33

|

630人浏览过

|

来源于php中文网

原创

进入我们的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所示。

Android 进入Android世界在这里插入图片描述

图 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 16

16.0

36

2025-6-11

Android 15

15.0

35

2024-9-24

Android 14

14.0

34

2023-10-4

Android 13

13.0

33

2022-8-15

Android 12LBeta 版 3

12L

32

2022-2-9

Android 12

12.0

31

2021-10-5

Android 12

12.0

31

2021-10-5

Android 11

11.0

30

2020-9-9

Android 10

10.0

29

2019-9-4

Android Pie

9.0

28

2018-8-7

Android Oreo

8.0-8.1

26-27

2017-8-22、12-5

Android Nougat

Android高手进阶教程之 Android Widget开发案例
Android高手进阶教程之 Android Widget开发案例

Android高手进阶教程(八)之----Android Widget开发案例(世界杯倒计时!),主要向大家讲解使用Android Widget如何编写出一款世界杯风格的倒计时程序,教程说出了制作步骤和代码。

下载

7.0-7.1.2

24-25

2016-8-22、12-5

Android Marshmallow

6.0

23

2015-9-30

Android Lollipop

5.0-5.1.1

21-22

2014-11-13、3-10

Android KitKat

4.4-4.4.4

19-20

2013-11-1、2014-6-20

Android Jelly Bean

4.3-4.2-4.1

16-18

2013-7-25、2012-10-30、2012-6-28

Android Ice Cream Sandwich

4.0.1-4.0.4

14-15

2011-10-19、2012-3-29

Android Honeycomb

3.0-3.2

11-13

2011-2-3、5-11、7-13

Android Gingerbread

2.3-2.3.7

9-10

2010-12-7、2011-1-1

Android Froyo

2.2

8

2010-5-20

Android Eclair

2.0-2.0.1-2.1

5-7

2009-10-26、12-3、2010-1-12

Android Donut

1.6

4

2009-9-15

Android Cupcake

1.5

3

2009-4-17

Bender

1.1

2

2009-2-2

Astro

1.0

1

2008-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,可以跟着安装配置一下,本文就到这里,我们后会有期!有问题欢迎评论区留言或者私信我。

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

832

2023.06.15

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

738

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

734

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

397

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

398

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

446

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

430

2023.08.02

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

16926

2023.08.03

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQL 教程
SQL 教程

共61课时 | 3.4万人学习

Java 教程
Java 教程

共578课时 | 46.4万人学习

oracle知识库
oracle知识库

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号