安卓系统(Android)的核心部分(AOSP)是开源的,但实际设备上运行的安卓系统通常包含大量闭源组件,因此不能称为“完全开源”。具体分析如下:
1. 开源的核心:AOSP(Android Open Source Project)
AOSP 是什么?由谷歌主导的开源项目,提供安卓系统的基础框架,包括:
Linux 内核修改版
系统核心服务(电源管理、内存分配等)
基础应用(电话、短信、简单浏览器)
原生 API 接口(供开发者调用硬件功能)。
开源协议:基于 Apache 2.0 许可证,允许厂商自由修改、定制和分发,无需公开修改后的代码(与 GPL 不同)。
2. 闭源部分:谷歌服务与厂商定制
谷歌移动服务(GMS):
包括 Google Play 商店、Gmail、YouTube、地图等关键应用。
需谷歌官方认证授权,闭源且不可自由分发。
未通过认证的设备(如华为新机型)无法预装 GMS。
硬件厂商的闭源驱动:
SoC 芯片(高通/联发科等)、GPU、摄像头传感器的驱动程序由厂商提供,通常闭源。
导致开源社区难以适配最新硬件(如 LineageOS 需依赖厂商释放内核源码)。
厂商定制层(OEM 闭源部分):
华为 EMUI、小米 MIUI 等深度定制 UI。
预装的第三方应用(如厂商应用商店、游戏中心)。
部分系统优化功能(AI 拍照算法、电池管理)通常闭源。
3. 关键限制:谷歌的控制力
CTS/GMS 认证机制:设备需通过 兼容性测试(CTS) 才能预装 GMS。谷歌通过此机制:
强制要求厂商遵守安卓兼容性规范(如 API 接口统一)。
禁止厂商擅自修改核心体验(如分屏多任务的基础逻辑)。
逐步将核心功能迁至闭源服务:例如:
早期 AOSP 包含开源版“位置服务”,现已被闭源 Google Location Service 取代。
语音助手、推送通知(FCM)等依赖 GMS。
4. 开源替代方案(无谷歌生态)
类原生系统:LineageOS / CalyxOS / GrapheneOS 等基于 AOSP 开发,移除谷歌服务,增强隐私保护。
完全开源生态尝试:
/e/OS:基于 AOSP 深度去谷歌化,提供自有云服务。
Ubuntu Touch / postmarketOS:非安卓生态,兼容部分安卓应用(通过容器)。
总结:安卓的“混合开源”本质
层级是否开源?示例
AOSP 基础系统
✅ 开源 (Apache 2.0)
Linux 内核、基础框架
谷歌移动服务 (GMS)
❌ 闭源(需授权)
Play商店、地图、推送服务
硬件驱动
❌ 通常闭源
高通 GPU 驱动、相机 HAL
厂商定制层
❌ 部分闭源
MIUI 智能引擎、EMUI 文件系统
第三方预装应用
❌ 闭源
抖音、手机管家
结论:
若仅讨论 AOSP 项目本身,它是开源的。
但用户实际购买的安卓手机,其系统是 “开源核心 + 闭源服务 + 闭源驱动 + 闭源定制” 的混合体,并非完全开源。
追求完全开源的用户可选择 去谷歌化的第三方 ROM(如 LineageOS),但需牺牲部分应用兼容性。