欢迎来到 安卓源码空间!
安卓源码空间

             嵌入式Android底层开发(一)——安卓开发的整体框架与简述




一、Android简介


Android是一种基于Linux内核(不包含GUN组件)的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。

主要参数表:


参数



上线时间 2008年9月23日
系统家族 类Unix、Linux
内核类型 宏内核(Linux内核)

二、Android系统的组成


大体为三部分组成:1、BootLoader 2、Linux内核 3、根文件系统
在这里插入图片描述


三、Android系统的分层


可以分为四层:
Android采用分层的架构,分为四层,从高层到底层分为
1、应用程序层(app+System apps),
2、应用程序框架层(Java APIFramework),
3、系统运行库和运行环境层(Libraries + android Runtime)
4、Linux核心层(HAL+ Linux Kernel),


也可以分为五层:


从上到下依次是
1、应用层
2、应用架构层
3、系统运行库层
4、硬件抽象层
5、Linux内核层:


如下图:
在这里插入图片描述
其中上四层 [ APP层、Framework层、系统运行库和运行环境层 、HAL层]属于用户态,最底层Linux内核属于用户层。如下图:
在这里插入图片描述

下面将具体介绍下各层都有什么


四、Android系统各层的主要内容


Android系统五层架构


1、应用层


系统内置的应用程序以及非系统级的应用程序都属于应用层,负责与用户进行直接交互,通常都是用Java进行开发的。


2、应用架构层(Framework)


应用框架层为开发人员提供了开发应用程序所需要的API,我们平常开发应用程序都是调用这一层所提供的API,当然也包括系统应用。这一层是由Java代码编写的,可以称为Java Framework。


3、系统运行库层(库+虚拟机)


从Android系统框架图上可以看出,系统运行库层分为两部分,分别是 C/C++ 程序库和 Android 运行时库,具体内容参照Android系统五层架构


4、硬件抽象层(HAL层)


Android硬件抽象层HAL总结
Android HAL(Hardware Abstract Layer)硬件抽象层,从字面意思可以看出是对硬件设备的抽象和封装,为Android在不同硬件设备提供统一的访问接口。HAL处于Android framework和Linux kernel driver之间,HAL存在的意义有以下2个方面:
1、HAL屏蔽了不同硬件设备的差异,为Android提供了统一的访问硬件设备的接口。
2、HAL层帮助硬件厂商隐藏了设备相关模块的核心细节。


5、Linux内核层:


与之前学的Linux差不太多。
Android 的核心系统服务基于Linux 内核,在此基础上添加了部分Android专用的驱动。系统的安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于该内核。

copyright@ 2020-2028  安卓源码空间网版权所有   

备案号:豫ICP备2023034476号-1号