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

一、Android简介

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

主要参数表:

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

二、Android系统的组成

大体为三部分组成:1、BootLoader 2、Linux内核 3、根文件系统
嵌入式Android底层开发(一)——安卓开发的整体框架与简述_第1张图片

三、Android系统的分层

可以分为四层:
Android采用分层的架构,分为四层,从高层到底层分为
1、应用程序层(app+System apps),
2、应用程序框架层(Java APIFramework),
3、系统运行库和运行环境层(Libraries + android Runtime)
4、Linux核心层(HAL+ Linux Kernel),
也可以分为五层:
从上到下依次是
1、应用层
2、应用架构层
3、系统运行库层
4、硬件抽象层
5、Linux内核层:

如下图:
嵌入式Android底层开发(一)——安卓开发的整体框架与简述_第2张图片
其中上四层 [ APP层、Framework层、系统运行库和运行环境层 、HAL层]属于用户态,最底层Linux内核属于用户层。如下图:
嵌入式Android底层开发(一)——安卓开发的整体框架与简述_第3张图片

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

四、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专用的驱动。系统的安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于该内核。

你可能感兴趣的:(嵌入式Android开发,android,linux,Android底层开发)