安卓系统常以开源著称,但其“100%开源”的说法并不准确。从一线无线开发者的视角来看,实际设备搭载的安卓系统包含了大量闭源组件,这不仅限于谷歌移动服务(GMS),更深入到硬件驱动与固件层面,构成了一个复杂且受多方限制的生态。
智能速览
安卓开源核心 AOSP 仅是系统基础框架。
谷歌移动服务(GMS)是关键的闭源商业组件。
高通等芯片厂的硬件驱动与固件多为闭源二进制文件。
手机厂商的系统更新高度依赖芯片厂商的闭源支持。
无线通信固件闭源是出于全球无线电法规的合规性要求。
厂商从零构建系统的成本极高,难以实现真正的自主可控。
精华内容
安卓的开源标签背后,隐藏着由商业和技术现实构成的复杂生态。深入探究其架构,会发现许多关键部分并未开放,共同决定了手机厂商的更新节奏与能力。
开源核心AOSP
安卓开源项目(AOSP)确实是安卓系统的基石,谷歌会定期发布其源代码。然而,AOSP只是一个基础框架,缺少了构成完整智能手机体验的许多关键元素。例如,它不包含谷歌的应用程序商店、地图、Gmail等谷歌移动服务(GMS),也不包含手机厂商为各自硬件定化的独有功能。厂商在此之上进行二次开发,但无法改变其基础局限性。
硬件层面壁垒
安卓闭源的重头戏在底层硬件。以高通的无线模块为例,其WiFi和蓝牙功能的实现就严重依赖闭源组件。WiFi的固件文件(如bdwlan.bin)是一个典型的例子,它包含了关键的射频参数、硬件校准数据和MAC地址,这些信息对于保障Wi-Fi的性能、合规性与兼容性至关重要,但作为二进制文件,其内部逻辑完全不可见、不可修改。蓝牙固件的情况也类似,这些闭源文件由驱动程序加载,直接决定了硬件的基础能力。
厂商依赖链条
这种闭源结构形成了一条清晰的依赖链。每当谷歌发布安卓大版本更新,手机厂商并不能立即着手适配。他们必须等待像高通这样的芯片厂商,发布与新版本安卓兼容的闭源驱动、固件以及相应的工具链。没有高通提供的闭源支持,就算手机厂商拿到了最新的AOSP代码,也无法构建出能让WiFi和蓝牙正常工作的系统。这导致厂商在系统更新上处于被动地位,难以实现从零开始的自主开发。
法规与商业现实
硬件驱动和固件的闭源,并非完全出于商业垄断,很多时候也是为了满足全球性的无线电法规要求,例如FCC认证。一旦这些固件和驱动完全开源,就可能被恶意修改,导致设备使用违规的功率或频段,造成无线电频谱混乱,甚至触犯法律。因此,这种闭源模式在某种程度上是一种监管倒逼的妥协。商业上,芯片厂商通过闭源保护其核心技术,也使得手机厂商所谓的“独立自主”在成本和技术上都难以实现。
关键评论
每个SoC厂商发布的BSP包里都有自己闭源的部分,这很普遍。
无线通信固件驱动闭源是为防止用户修改功率和频段,以满足FCC等认证要求。
就算拿到驱动源码,厂商能修改的也只是接口和生命周期等无关痛痒的东西。
创业公司因无法解决底层问题而失败,说明完全自主可控的难度远超想象。