01. 【Android教程】系统背景及结构概述

简介: 01. 【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 内核
  • 系统运行库
  • 应用程序框架
  • 应用程序

2.1 Linux 内核

这一层是 Android 的核心系统服务,位于 Android 系统的最底层,直接与硬件设备交互。它依赖于 Linux,负责内存管理、进程管理、设备管理、网络协议栈、安全性和驱动模型等系统级服务。


Linux 内核作为 Android 硬件和软件之间的抽象层,为了更好的为 Android上层应用服务,Google 基于 Linux 做了一些的定制化的修改,具体的修改内容及原因会在后续的教程中陆续提到。

2.2 系统运行库

这一层包含两大块:系统库及 Android 运行时。


系统库

这一部分其实就是 C/C++ 库,这些库在 Android 系统中通常以 so 的形式供不同的组件使用,开发者可以通过自己的应用程序使用这些库提供的服务。


Android 运行时

Android 采用 Java 作为开发语言,在其运行时中包含了 Java 核心库的大多数功能,并使每一个 Android 应用程序都在它自己的进程中运行,都拥有一个独立的 Dalvik 虚拟机实例。Dalvik 可以保证一个设备可以同时高效地运行多个虚拟系统。

2.3 应用程序框架

这一层是会和用户直接打交道的一层,也是开发者最需要关注的一层。它包含了一系列的服务和系统,其中包括:


丰富而又可扩展的视图(Views)

内容提供器(Content Providers)

资源管理器(Resource Manager)

通知管理器(Notification Manager)

活动管理器(Activity Manager)

2.4 应用程序

开发者的绝大部分工作都是在这一层完成,通过 Java 编写的应用程序我们可以使用 Android 系统提供的服务来实现我们预期的功能。


每一个应用程序都对应一个 Dalvik 虚拟机,利用跨平台性质,基于 Android 框架开发的应用程序可以运行于任何一台安装有 Android 系统的平台。


本教程的大多数内容也是针对这一层,我们将带领你建立属于自己的第一个 Android 应用程序,并一步步由浅入深的学习 Android 各个细枝末节,让你可以更好的掌握 Android 应用程层序开发。

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

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

4. 小结

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

相关文章
|
2月前
|
存储 消息中间件 人工智能
【03】AI辅助编程完整的安卓二次商业实战-本地构建运行并且调试-二次开发改注册登陆按钮颜色以及整体资源结构熟悉-优雅草伊凡
【03】AI辅助编程完整的安卓二次商业实战-本地构建运行并且调试-二次开发改注册登陆按钮颜色以及整体资源结构熟悉-优雅草伊凡
92 3
|
2月前
|
Linux 测试技术 语音技术
【车载Android】模拟Android系统的高负载环境
本文介绍如何将Linux压力测试工具Stress移植到Android系统,用于模拟高负载环境下的CPU、内存、IO和磁盘压力,帮助开发者优化车载Android应用在多任务并发时的性能问题,提升系统稳定性与用户体验。
188 6
|
2月前
|
Java 数据库 Android开发
基于Android的电子记账本系统
本项目研究开发一款基于Java与Android平台的开源电子记账系统,采用SQLite数据库和Gradle工具,实现高效、安全、便捷的个人财务管理,顺应数字化转型趋势。
|
9月前
|
移动开发 安全 Java
Android历史版本与APK文件结构
通过以上内容,您可以全面了解Android的历史版本及其主要特性,同时掌握APK文件的结构和各部分的作用。这些知识对于理解Android应用的开发和发布过程非常重要,也有助于在实际开发中进行高效的应用管理和优化。希望这些内容对您的学习和工作有所帮助。
855 83
|
7月前
|
安全 搜索推荐 Android开发
Android系统SELinux安全机制详解
如此看来,SELinux对于大家来说,就像那位不眠不休,严阵以待的港口管理员,守护我们安卓系统的平安,维护这片海港的和谐生态。SELinux就这样,默默无闻,却卫士如山,给予Android系统一份厚重的安全保障。
238 18
|
11月前
|
监控 Java Android开发
深入探索Android系统的内存管理机制
本文旨在全面解析Android系统的内存管理机制,包括其工作原理、常见问题及其解决方案。通过对Android内存模型的深入分析,本文将帮助开发者更好地理解内存分配、回收以及优化策略,从而提高应用性能和用户体验。
|
11月前
|
存储 安全 Android开发
探索Android系统的最新安全特性
在数字时代,智能手机已成为我们生活中不可或缺的一部分。随着技术的不断进步,手机操作系统的安全性也越来越受到重视。本文将深入探讨Android系统最新的安全特性,包括其设计理念、实施方式以及对用户的影响。通过分析这些安全措施如何保护用户免受恶意软件和网络攻击的威胁,我们希望为读者提供对Android安全性的全面了解。
|
12月前
|
安全 Android开发 iOS开发
深入探讨Android与iOS系统的差异及未来发展趋势
本文旨在深入分析Android和iOS两大移动操作系统的核心技术差异、用户体验以及各自的市场表现,进一步探讨它们在未来技术革新中可能的发展方向。通过对比两者的开放性、安全性、生态系统等方面,本文揭示了两大系统在移动设备市场中的竞争态势和潜在变革。
|
17天前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
127 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡

热门文章

最新文章