当前位置:首页>安卓APP>安卓系统从顶层到底层硬核讲解:APP、Framework、HAL、Linux内核

安卓系统从顶层到底层硬核讲解:APP、Framework、HAL、Linux内核

  • 2026-11-09 00:15:42
安卓系统从顶层到底层硬核讲解:APP、Framework、HAL、Linux内核

定期分享,彼此同行。

 今天为啥要讲《安卓系统从顶层到底层硬核讲解:APP、Framework、HAL、Linux内核》这个话题,一方面是因为之前我讲过一篇    SoC冷启动过程硬核讲解:从电源键按下到PMIC上电到Kernel全过程   阅读量有约5000的阅读量,大家还比较感兴趣,如有兴趣可以自行查看,今天我再讲讲安卓不同层的作用,这样也算是把整个系统都讲全了。另一方面为在我过往的经历里面会遇到一些问题的分析、算法的评估、性能的提升等等会和不同领域的人沟通有驱动的、框架的、算法的、应用的、硬件的等等经常有听不懂的术语、沟通不在一个频道,很少有人从上到下都了解,哪些层可以跑哪些算法核心作用是啥,所以基于此我想把整体的讲讲,那么你想成为可以把各个领域串起来的那个人吗?如果想成为那个人,就听我来详细讲讲:Android 系统四层架构:App 应用层 → Framework 框架层 → HAL 硬件抽象层 → Linux Kernel 内核层。

一、App 应用层

运行内容

  • 第三方 App、系统 App(设置、桌面、电话、相机 App 等)

  • UI 渲染、用户交互、业务逻辑

核心作用

  • 向系统发起功能请求(拍照、录音、存储、网络等)

  • 完全不涉及硬件操作,不访问驱动

本层算法 / 功能

  • App 内置的纯软件算法:App 内 OCR、滤镜、美颜、翻译

  • 应用自带的端侧 AI 推理(不依赖系统 NPU 服务)

二、Android Framework 层

包含:Java Framework + Native Framework(C++)

核心组件

  • Java:ActivityManager、PackageManager、CameraManager、AudioManager

  • Native:SurfaceFlinger、AudioFlinger、libcamera-client

核心作用

  • 为 App 提供统一 API

  • 权限管理、进程管理、窗口管理

  • 策略决策:音频路由、音量策略、显示模式、相机调用策略

  • 负责数据流通道管理

  • 不做任何信号处理、图像算法、音频算法

本层算法 / 功能

  • 只有策略,没有算法

  • 不做 HDR、3A、AEC、降噪、美颜、OCR 等任何计算类逻辑

三、 硬件抽象层(Hardware Abstract Layer)

核心作用

  • 承上:接收 Framework 请求

  • 启下:访问 Kernel 驱动

  • 厂商核心算法、私有 IP、硬件配置逻辑的唯一合法载体

  • 隔离 Kernel GPL 协议,保护厂商技术

运行内容Camera HAL、Audio HAL、Sensors HAL、Display HAL、NPU HAL、Charging HAL 等

本层算法

相机

  • 3A(AE/AF/AWB)算法

  • HDR、多帧合成、夜景、长曝光

  • EIS 电子防抖、畸变校正、降噪、锐化

  • ISP 控制、肤色优化、去雾

音频

  • AEC 回声消除、ENC 上行降噪

  • ANC 主动降噪、AGC 自动增益

  • EQ、动态响度、音效处理

显示

  • DC 调光、护眼算法、色温校准

  • Gamma 校正、动态对比度、局部调光

AI/NPU

  • 系统级 OCR、人脸解锁、姿态检测

  • NPU 模型调度、AI 加速执行

传感器

  • 计步、抬手亮屏、防误触、姿态融合

充电

  • 充电策略、快充协议状态机、温控策略

四、Linux 内核层

核心作用

  • 最底层,直接操作硬件寄存器

  • 提供:时钟、电源、中断、DMA、I2C/SPI/SPMI/CSI/DSI 等

  • 实现各类设备驱动

  • 向上提供 /dev/xxx 设备节点

运行内容

  • Camera Sensor 驱动、Audio Codec 驱动、Touch 驱动、PMIC 驱动、UFS/DDR 驱动等

  • 内核子系统:进程、内存、网络、电源管理

本层只做这些无算法

  • 硬件时序、寄存器配置

  • 数据搬移(DMA)

  • 物理接口驱动(CSI/DSI/PCM)

  • 触控原始数据简单滤波

  • PMIC 电源配置、快充硬件协议

备注:Kernel 绝对不运行任何 HDR、3A、AEC、ANC、美颜、OCR、图像 / 音频增强类算法。

五、层间关系

  • App ↔ Framework通信方式:Binder IPC

  • Framework ↔ HAL通信方式:HIDL(Android 8–12)/ AIDL HAL(Android 12+)

  • HAL ↔ Kernel通信方式:HAL 与内核之间不直接调用,而是通过 /dev/设备节点进行交互,常用 ioctl、mmap、read、write、poll 完成指令与数据传输。

六、总结

Android 分成多层APP、Framework、HAL、Linux内核 核心是为了解耦、兼容、安全、好维护、好开发。

      相信通过以上的讲解,大家已经对 APP、Framework、HAL、Linux 内核这四层架构有了清晰的认识。只有把这几层逻辑真正串起来,软硬件等各领域的沟通才能同频、问题定位才能精准、跨领域协作才能高效。希望这篇内容,能帮你打通从应用到底层的认知链路,成为能串联起各领域的核心技术人。

最后还是留几个小问题给大家思考:

1、App 能否直接调用 Kernel 驱动?

2、Framework 层是否运行图像 / 音频算法?

3、相机 3A(AE/AF/AWB)运行在哪一层?

4、音频 AEC 回声消除、ENC 降噪在哪一层?

5、Linux Kernel 是否运行 HDR 或夜景算法?

6、系统级 OCR 由 NPU 加速,推理在哪一层?

7、DC 调光、护眼算法在哪一层?

8、HAL 存在的核心目的?

9、触控原始数据来自哪一层?

10、传感器计步、防误触算法在哪?

11、PMIC 寄存器与快充硬件控制在哪?

12、厂商闭源定制最多的层?

13、Android 分成多层APP、Framework、HAL、Linux内核 核心目的是啥?

往期经典,推荐阅读,点击查看!

BUCK控制架构(电压/电流模式/COT/ACOT)+调制方式(PWM/PFM/PSM)+ 电感模式(CCM/BCM/DCM)+环路稳定性(相位裕度/增益裕度/穿越频率)全攻略

SoC 内部通信架构硬核之路:APB → AHB → AXI4 → ACE → CHI 全攻略

SoC拍照全链路架构硬核讲解:Sensor/MIPI_PHY/DCAM/ISP/JPG/VDSP/DDR/AXI全攻略

SoC冷启动过程硬核讲解:从电源键按下到PMIC上电到Kernel全过程
手机 / 平板等移动产品快充全链路架构硬核讲解
电感对DCDC电路效率的影响,远比你想象的更大
定期分享,彼此同行。

最新文章

随机文章