Android基础知识——Android系统——Android系统特性与平台架构

第一章:Android系统特性与平台架构

 

Android平台架构:

                                                       图1.1 google官方 Android平台架构图

 

Android系统分为5大层:

        Linux Kernel(linux内核)——liunx内核层

        Hardware Abstraction Layer(硬件抽象层)——硬件抽象层

        Native C/C++ Libraries(本地C/C++库)、Android Runtime(Android运行环境)——系统运行库层

        Java API Framework(Java API框架)——应用框架层

        Sysrem Apps(系统应用)——应用层

 

liunx内核层

Linux Kernel(linux内核)主要包括:

        Power Management(电源管理)、WIFI驱动、USB驱动、Shared Memory(共享内存)、Camera(相机驱动)、Bluetooth(蓝牙驱动)、keypad(矩阵按键)、Display(显示驱动)、Binder(IPC进程间通信)、Audio(音频驱动)

        Android使用linux内核为其提供了安全的IPC机制,数据隔离,用户系统,硬件驱动等。

 

硬件抽象层

Hardware Abstraction Layer(硬件抽象层):

        HAL层是为linux系统内核提供与硬件交互的中间接口层,屏蔽了硬件驱动实现细节,实现了硬件设备的驱动,为操作系统内核提供硬件操作的接口。(例如串口开发  应用程序—>驱动程序open() —>HAL_open()—>硬件)

 

系统运行库层

Native C/C++ Libraries(本地C/C++库):

         Android系统运行的底层原生C/C++库。(即android系统为linux内核提供的C/C++方法原生库,linux运行的环境为C/C++;为Android NDK开发提供原生开发库)

Android Runtime(Android运行环境):

        ART:预编译AOT和及时编译JIT、GC

Android虚拟机(Dalvik)

        ART与Android虚拟机提供了将java代码或dex文件转换为linux内核可以执行的C/C++代码的解释功能。

 

应用框架层

Java API Framework(Java API框架):

        Android为应用开发提供的系统组件API。(应用开发提供API,Android ROM定制开发)

 

应用层

Sysrem Apps(系统应用):

        Android系统的应用程序,即APP。

 

个人总结:

        Android系统通过linux内核操作计算机物理设备资源;

        HAL层为Android系统提供了硬件底层驱动,为控制外部输入输出设备提供了交互方法;

        Native层为Android系统提供了Android系统的系统原生C/C++方法库;

        Android Runtime为Android系统运行环境,提供了预编译AOT与即时编译AIT把dex字节码文件编译成机器码交给linux内核执行。

        Framework为Android系统提供了java应用开发框架,即java开发库。

 

        Android应用调用Framework层开发框架与Native原生C/C++库开发Android应用,通过ART(即AOT、JIT与虚拟机)实现java代码或者dex字节码编译成机器码,交给Linux内核执行,Linux内核通过HAL控制Android硬件设备,向用户展示Android应用。

(个人理解,有不对的地方请大佬指出共同提高)

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值