整机开发常见名词解析,一篇带你全搞懂!

📢 1. 职业规划篇
来聊聊安卓职业规划?整机开发大专能做么?
📢 2.基础篇
基础篇.前言
基础篇.编译环境搭建
基础篇.源码目录简介
基础篇.系统 mk_bp 讲解
基础篇.开机动画定制
基础篇.定制桌面壁纸、导航方式
基础篇.系统属性、api 使用
基础篇.名称修改、名词介绍
基础篇.用 bugreport 带你看 Crash 和 ANR
基础篇.Provision 源码分析

📢 3. 系统应用篇
系统应用篇.开机向导制作一
系统应用篇.开机向导制作二
系统应用篇.Settings 导航切换分析
系统应用篇.开机向导导航切换一
系统应用篇.开机向导导航切换二
系统应用篇.gms 制作集成
系统应用篇.开机向导适配 GMS
系统应用篇.Launcher3 结构剖析一
系统应用篇.Launcher3 结构剖析二
系统应用篇.Launcher3 结构剖析三
系统应用篇.Launcher3 图标加载流程一
系统应用篇.Launcher3 图标加载流程二
系统应用篇.Launcher3 桌面布局定制
系统应用篇.解密 Partner、google PAI 机制
系统应用篇.Partner 机制预制壁纸、默认布局
系统应用篇.Launcher 双排 Hotseat 定制一
系统应用篇.Launcher 双排 Hotseat 定制二
系统应用篇.Launcher 双排 Hotseat 定制三
系统应用篇.Launcher Taskbar 简介以及调出
系统应用篇.SystemUI 篇_用工具教会你看布局、进程
系统应用篇.SystemUI 结构讲解一
系统应用篇.SystemUI 结构讲解二
系统应用篇.SystemUI 的启动流程
系统应用篇.SystemUI 导航栏创建一
系统应用篇.SystemUI 导航栏创建二
系统应用篇.SystemUI 自定义导航按键
系统应用篇.SystemUI 快捷面板下拉流程
系统应用篇.SystemUI 定制禁用锁屏下拉通知栏
系统应用篇.SystemUI 通知注册流程
系统应用篇.SystemUI 通知发送流程

📢 4. 系统篇
系统篇.SystemServer 篇_应用与系统进程间关系
系统篇.SystemServer 简介、自定义 Service 服务一
系统篇.SystemServer 简介、自定义 Service 服务二
系统篇.SystemServer 简介、自定义 Service 服务三
系统篇.SystemServer 简介、自定义 Service 服务四
系统篇.SELinux 问题解决套路一
系统篇.SELinux 问题解决套路二
系统篇.ActivityManagerService 简介
系统篇.WindowManagerService 简介一
系统篇.WindowManagerService 简介二
系统篇.PackageManagerService 简介一
系统篇.PackageManagerService 简介二
系统篇.FW 实战 - Letterbox 定制应用方向一
系统篇.FW 实战 - Letterbox 定制应用方向二
系统篇.分屏流程一
系统篇.分屏流程二

📢 5. 性能篇
(省)低内存优化
性能篇 (省). 低内存查杀机制
性能篇 (省).SystemServer 与 LMK 的 socket 通信
性能篇 (省). 内核进程 LMKD
性能篇 (省). 内存分析
性能篇 (省). 内存泄漏定位与解决
(稳)稳定性优化
性能篇 (稳).WatchDog 检测机制一
性能篇 (稳).WatchDog 检测机制二
性能篇 (稳). 深入 Crash 捕获器流程一
性能篇 (稳). 深入 Crash 捕获器流程二
性能篇 (稳). 深入炸弹 ANR 流程一
性能篇 (稳). 深入炸弹 ANR 流程二
(快)开机优化
性能篇 (快). 开机耗时分析
性能篇 (快). 开机耗时优化
性能篇.实战优化方案分享
framework交流,答疑:251662478

在 Android 整机开发 过程中,我们会经常遇到一些专业术语,例如 AOSP、SoC、HAL、ODM、SystemServer、Bootloader 等等。如果你是刚入门的开发者,看到这些术语可能会一脸懵 🤯,那么这篇文章就带你一次性搞懂这些核心概念!🔥

🛠 1. AOSP(Android Open Source Project)
AOSP,全称 Android 开源项目,是 Google 开源的 Android 系统源码项目。
📌 特点:
✅ 开源,任何厂商、开发者都可以基于 AOSP 进行修改和二次开发。
✅ 主要包含 Framework、SystemServer、Settings、Launcher、SystemUI 等核心模块。
✅ 但 AOSP 不包含 Google GMS(Google Mobile Services),即没有 Play 商店、Google 服务框架等。
📌 AOSP 主要源码目录:

💾 2. SoC(System on Chip)
SoC,系统级芯片,是指将 CPU、GPU、NPU、基带、ISP、音频处理等集成在一颗芯片上的设计。
📌 主流 SoC 厂商:
✅ 高通(Snapdragon)
✅ 联发科(Dimensity)
✅ 三星(Exynos)
✅ 苹果(A 系列、M 系列)
📌 SoC 影响的部分:
性能(CPU 架构、主频)
功耗(制程工艺,如 4nm、5nm)
相机(ISP 处理能力)
AI 计算(NPU 性能)

🔌 3. HAL(Hardware Abstraction Layer)
HAL,硬件抽象层,是 Framework 与底层硬件驱动之间的桥梁。
📌 作用:
✅ HAL 屏蔽了具体的硬件实现,使得 Android 框架层可以调用统一接口,而不关心具体的硬件实现。
✅ 通过 VNDK(Vendor Native Development Kit) 保持 系统层(System) 和 厂商层(Vendor) 的分离,方便 ROM 适配。
📌 HAL 相关源码目录:

📱 4. ODM & OEM
📌 OEM(Original Equipment Manufacturer,原始设备制造商)
OEM 指的是品牌商,如 小米、OPPO、vivo,他们主要负责市场、品牌、产品定义,真正的生产、研发可能由 ODM 代工。
📌 ODM(Original Design Manufacturer,原始设计制造商)
ODM 指的是 代工厂,如 闻泰、华勤、龙旗,他们为 品牌厂商(OEM) 设计、生产手机,然后贴上品牌商 Logo 进行销售。
📌 例子:
🔹 小米的 Redmi 手机,可能是 闻泰 ODM 代工。
🔹 OPPO、vivo 的一些低端机型,可能由 华勤 ODM 代工。

🖥 5. SystemServer
SystemServer 是 Android 系统的核心进程,在 Zygote 启动后,会 fork 出 SystemServer 进程,负责管理所有的 系统服务(System Service)。
📌 SystemServer 负责的关键服务:
📌 SystemServer 启动流程:
1️⃣ Zygote 进程 fork 出 SystemServer 进程
2️⃣ 加载 frameworks/base/services/java/com/android/server/SystemServer.java
3️⃣ 启动各个系统服务(AMS、WMS、PMS…)

🔑 6. Bootloader(引导加载程序)
Bootloader 是 系统启动的第一步,负责加载 Linux Kernel,并引导 Android 启动。
📌 Bootloader 主要作用:
✅ 进入 Fastboot 模式,支持刷机、解锁。
✅ 验证 Boot 分区签名,确保系统完整性(Android Verified Boot,AVB)。
✅ 加载 Boot.img,启动 Linux 内核。
📌 常见的 Bootloader 解锁命令:

adb reboot bootloader
fastboot oem unlock

🔍 7. SELinux(Security-Enhanced Linux)
SELinux 是 Android 4.4+ 引入的安全机制,它采用 强制访问控制(MAC),限制 APP & System 进程的权限,防止恶意操作。
📌 SELinux 主要策略:
📌 SELinux 相关命令:

adb shell getenforce       # 查看当前模式
adb shell setenforce 0     # 设为 Permissive 模式(仅限 root 设备)

💾 8. System / Vendor / Product 分区
在 Android 8.0 之后,为了 支持 Treble(解耦系统 & 厂商代码),Android 系统分区结构变为:
📌 Treble 主要作用: ✅ AOSP 更新时,不影响厂商代码,ROM 适配更快。
✅ 厂商只需要适配 Vendor 分区,可以兼容不同的 Android 版本。

🔗 9.AIDL(Android Interface Definition Language)
AIDL(Android 接口定义语言)用于定义 进程间通信(IPC) 的接口,使得不同进程中的组件可以通过 Binder 进行通信。
📌 常见使用场景:
系统服务(AMS、WMS)
跨进程通信(APP 访问后台服务)
系统应用(Settings、Telephony)

🔌 10…Binder(Android IPC 机制)
Binder 是 Android 进程间通信(IPC) 的核心机制,它类似于 Linux 的 管道,但更高效、安全。
✅ Binder 作用:
进程间通信(IPC)
系统服务管理(AMS、WMS 依赖它)
应用权限管理
📌 Binder 相关源码:

💾 11.HAL(Hardware Abstraction Layer)
HAL(硬件抽象层)是 Framework 与底层硬件驱动之间的桥梁。
✅ HAL 作用:
让 Android 框架可以调用 摄像头、音频、传感器、WiFi 等硬件
提供统一接口,屏蔽具体硬件差异
📌 HAL 代码结构:

🔡 12.HIDL(HAL Interface Definition Language)
HIDL 是 Android 8.0 之后引入的新 HAL 机制,用于让 系统层(System)和厂商层(Vendor) 更好地分离。
✅ HIDL 作用:
让 HAL 变成 稳定接口,Android 更新时不影响厂商代码
支持 Treble(解耦系统 & 厂商代码)

🖥 13.Zygote(应用进程孵化器)
Zygote 是 Android 启动的第一步,所有 APP 进程都是 Zygote fork 出来的。
✅ 作用:
预加载类库、资源,加快应用启动
减少内存占用(共享 Dex、So 代码)
📌 Zygote 启动流程:
1️⃣ init 进程启动 Zygote
2️⃣ Zygote 预加载系统类、资源
3️⃣ Zygote fork 出 SystemServer
4️⃣ 应用进程启动时,fork 自 Zygote

⚙ 14.SystemServer(系统核心进程)
SystemServer 是 Android 核心服务进程,负责管理 AMS、WMS、PMS 等重要服务。
📌 SystemServer 主要服务:

📱 15.GMS(Google Mobile Services)
GMS 是 Google 提供的 应用和 API,比如 Google Play、Gmail、YouTube 等。
📌 国产 ROM 需要 GMS 认证的原因:
✅ 方便国际化(Google Play 下载 APP)
✅ GMS 提供 Google 登录、地图 API

🛠 16.RRO(Runtime Resource Overlays) & SRO(Static Resource Overlays)
📌 RRO(动态资源覆盖)
运行时修改系统资源(如 WiFi 名称、主题)
不用重新编译 ROM,灵活性高
📌 SRO(静态资源覆盖)
编译时就覆盖资源(性能更好)
适合厂商定制 ROM,比如修改 Launcher 图标、默认主题

📂 17.XTS(CTS、VTS 兼容性测试)
XTS 是 Google 用来验证 Android 兼容性的测试套件,主要包括:
✅ CTS(Compatibility Test Suite):测试 AOSP 是否符合标准
✅ VTS(Vendor Test Suite):测试 HAL / Kernel 兼容性

🐵 18.Monkey(压力测试工具)
Monkey 是 Android 随机点击测试工具,用于 压力测试 APP。
📌 Monkey 命令示例:
adb shell monkey -p com.example.app -v 1000

🔗 19.fastboot(刷机模式)
fastboot 是 Android 刷机工具,用于解锁 Bootloader、刷入系统镜像。
📌 常见 fastboot 命令:

adb reboot bootloader
fastboot oem unlock
fastboot flash boot boot.img

📦 20.Mainline(Google Play 更新核心组件)
Mainline 是 Google 通过 Play Store 更新系统核心组件 的机制,不需要厂商 OTA 更新。
📌 Mainline 作用:
✅ 让用户更快获得安全补丁
✅ 不依赖厂商 OTA,减少更新延迟

🚀 21. 你学到了什么?
📢 以上就是 Android 整机开发中的常见名词解析,如果你想深入 AOSP 开发,搞懂这些术语是 第一步!
✅ 📌 你还想了解哪些整机开发知识?欢迎留言讨论!🔥

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值