Android系统架构概述

前言

下面是一张Android系统架构经典图示意图。大致分为5层,即Linux内核层,硬件抽象层、库和运行时,Framework层,和应用层。Android系统架构鼓励系统组件重用,共享组件间数据,并定义组件间访问权限控制。 

看图说话:

可以看到android给出的经典架构图大概可以把android分为5层,下面分别介绍:

1、Linux 

Linux内核层,android最底层最核心的部分,当我们打开手机setting,选择about phone选项,这一选项显示的内核版本就是我们所用的Linux内核版本。Linux层包含了android系统的核心服务,包括硬件驱动,进程管理,安全系统等。

2、HAL

硬件抽象层,它主要是为了移动邻域中标准不统一的的硬件驱动定义标准接口,屏蔽隔离掉Linux内核,避免android过分依赖Linux,HAL包含多个库模块,其中每个模块都为特定类型的硬件组件实现一组接口,比如音频/蓝牙模块。

3、AndroidRuntime与Standard libraries

3.1、AndroidRuntime中的Dalvik和ART

每个应用都在其自己的进程中运行,都有自己的虚拟机实例。在android4.4之前,代码的运行都要通过Dalvik,Dalvik包含一整套的android运行环境虚拟机,每个app都会分配Dalvik虚拟机来保证相互之间不受干扰,并保持独立,它的特点是运行时编译。在android4.4之后引入了ART机制,ART采用的是安装时就进行编译,以后运行时就不用编译,而在android5.X开始,Dalivik虚拟机被彻底抛弃,ART模式全面取代了Dalvik。因此android的app流畅度有很大改善,而在android7.0后还引入了混合编译模式(JIT + AOT),保证java运行效率的同时,安装app的速度大幅度提升。

3.2、Standard libraries

如图包含了android中的一些标准库。所谓标准,就是开发者在开源环境中可以使用的开发库。

4、Framework

如图包含了android framework的重点。这里是我们android应用开发者重点关注的地方,我们也会经常用到里面的服务与组件。

 

 

5、Application

这个层面就是用户在手机桌面可以看到的app应用。

图一

 

图二

 

图一和图二分别表示使用NDK和java开发的app主要构成,它们共同的特点都有Android Manifest文件,Dalvik Classes,Resource Bundle这几个东西,这些就是我们解压apk后的文件,与android最直接接触的就是SDK。

结语

Android系统架构说简单点可以用几张图表示,但却可以写几本书,所以掌握也并非一朝一夕之功,我们要有大概的认识,在以后的深入学习,就可以慢慢理解它的运行原理。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android 是一种基于 Linux 的自由和开放源代码的操作系统,由 Google 公司领导和赞助开发。它可以运行在多种移动设备上,如智能手机和平板电脑。 要开发 Android 应用,您需要安装 Android Studio。Android Studio 是由 Google 提供的集成开发环境 (IDE),可帮助您轻松地创建和调试 Android 应用。 一旦安装了 Android Studio,您就可以通过以下步骤来开发 Android 应用: 1. 打开 Android Studio,并选择“新建项目”。 2. 选择要创建的应用类型(例如“活动”或“空项目”)并输入应用的名称和包名称。 3. 设置应用的目标平台和最低版本。 4. 选择您要使用的语言(例如 Java 或 Kotlin)。 5. 选择一个主题活动并点击“下一步”。 6. 选择要使用的库(如果需要)并点击“完成”。 现在,您就可以使用 Android Studio 中的工具来开发您的应用了。例如,您可以使用“布局编辑器”来设计应用的用户界面,使用“模拟器”来测试应用,并使用“调试器”来解决问题。 更多信息,请参阅 Android 开 ### 回答2: Android系统是一款非常流行的移动操作系统,开发Android应用程序的教程非常重要。下面是我为你提供的一个简单的Android系统开发的教程概述。 首先,你需要学习Java编程语言,因为Android应用程序都是用Java编写的。学习Java编程语言至关重要,这将帮助你理解Android开发的基本原理和概念。 其次,你需要了解Android开发工具。Android开发工具包(Android SDK)是一个用于开发和调试Android应用程序的软件开发工具包。你需要下载和安装Android Studio,这是官方推荐的主要开发工具。Android Studio提供了一套丰富的工具和资源,帮助你设计、编写和调试Android应用程序。 接下来,你需要学习Android应用程序的基本组件和架构Android应用程序由各种组件组成,包括活动、服务、内容提供者和广播接收器。了解每个组件的功能和用法,可以帮助你构建功能丰富、高效的Android应用程序。 在了解基本组件之后,你需要学习如何使用应用程序界面设计。Android提供了一套丰富的用户界面元素,如布局、视图和小部件。通过设计吸引人且易于使用的用户界面,可以提高用户体验。 最后,你需要学习如何处理用户交互和访问设备功能。Android提供许多API和工具,用于响应用户的操作,并访问设备的各种功能,如相机、传感器和位置信息。 总结来说,学习Android系统开发需要掌握Java编程语言、Android开发工具、基本组件和架构、应用程序界面设计以及用户交互和设备功能访问等方面的知识。掌握这些知识后,你将能够设计、开发和部署高质量的Android应用程序。 ### 回答3: Android系统开发教程是为了帮助开发人员快速入门并掌握Android应用程序开发的技能而设计的教学材料。以下是一个简要的Android系统开发教程: 1. 环境设置:首先,需要配置好Android开发环境。这包括下载和安装Java JDK、Android Studio和Android SDK。确保将Android SDK正确配置为与所选的Android版本相对应。 2. 学习Java:在进行Android系统开发之前,对Java编程语言有一定的了解至关重要。学习Java基础知识,包括语法、面向对象编程等。 3. 学习Android基础知识:Android系统的开发是基于Java语言的,但也需要了解Android特有的API和框架。学习Android基础知识,如活动、片段、视图、布局等。 4. 开发第一个Android应用:通过创建一个简单的Hello World应用程序来入门。学习如何创建新的Android项目、设计用户界面、处理用户输入等。 5. 学习Android组件:了解Android的核心组件,如活动、服务、广播接收器和内容提供程序。学习如何使用它们来构建丰富的Android应用程序。 6. 数据存储:学习如何在Android应用程序中存储和检索数据。了解Shared Preferences、SQLite数据库和文件系统的使用方法。 7. 学习网络编程:掌握在Android应用程序中进行网络通信的基本知识。学习HTTP请求、处理JSON数据等。 8. 用户界面设计:学习如何设计吸引人的用户界面,包括使用布局和小部件来创建交互式应用程序。 9. 应用程序调试和测试:学习如何调试和测试Android应用程序,以确保其质量和功能。 10. 发布应用程序:最后一步是学习如何为Google Play商店或其他应用商店发布和分发自己的Android应用程序。 通过完成这个Android系统开发教程,您将能够掌握Android应用程序的开发技能,并为创建自己的Android应用程序打下坚实的基础。不断练习和实践将帮助您提高编码技能和解决问题的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值