常规结构

Android系统架构

Android系统主要分为四层:
1. 操作系统层:提供显示驱动,照相机驱动,WiFi驱动等硬件驱动程序及Linux系统内核。
2. 各种库及运行环境:提供使用的各种编程语音编写的代码库和Android的运行环境
3. 应用程序框架层:提供应用层使用的四大组件、各种界面控件及其所对应的各种事件,为应用层提供编程基础。
4. 应用层:面向Android设备的使用者进行编程,主要是围绕者四大组件进行的各种程序设计。


HAL层(硬件抽象层)

带有HAL层的分层结构
带有HAL层的分层结构

该层主要是Google官方为保护硬件厂商的驱动程序免受Kernel提供的GNU Listense的开源协议限制。通过使用Apache Listense提供的各种接口,使得驱动程序不直接使用Kernel的相关功能。这样硬件厂商就可以选择不开源驱动程序的源码。


引用

更详细的说明请看:https://blog.csdn.net/woainijinying/article/details/52475758


Application 与Application Framework的区别

  • Application:
    1. 是基于Android SDK进行开发的;
    2. 其程序也都围绕着四大组件和网络应用层进行开发的;
    3. 常用网站:https://developer.android.google.cn/
  • Application Framework:
    1. 是基于AOSP(Android Open Source Project)环境开发的;
    2. 主要技术方向为系统应用开发,Framework开发,浏览器内核开发,音视频编解码器,虚拟机开发及底层驱动开发等;
    3. 常用网站:https://source.android.com/
Logo

更多推荐