@ 2025.03.28 , 12:53
6

Google将Android开发完全私有化

Google宣布今后Android开发将全面转入内部,仅在发布新版本时公开源代码,外部开发者将更难追踪最新变化。

今后,Android操作系统的开发将完全在Google内部进行,不再维持公开与私有两条并行分支。这意味着,外部开发者将无法实时追踪Android的最新进展,而只能在新版本发布时获得对应的源代码。

长期以来,所有Android手机的底层系统都依赖于Android开放源代码项目(AOSP)。这一项目采用Apache 2.0许可证,允许任何人免费使用、修改和分发基于AOSP的系统,无需支付授权费或公开源代码。这种开放性让Android得以迅速普及,各厂商纷纷在AOSP基础上开发自己的定制系统,如Samsung的One UI。

尽管AOSP允许外部开发者贡献代码,但大部分核心开发工作始终由Google主导。公司将Android视为一项完整的产品开发项目,以确保其作为平台的稳定性和生命力。因此,Google对AOSP的最终代码合并和版本发布时间拥有绝对控制权。

为何全面转向私有开发

为了简化开发流程,Google决定放弃当前两条分支并行的模式,全面转向内部开发。这一举措旨在提高效率,同时减少分支合并带来的冲突。

此前,Google维持着两个主要的Android分支:公开的AOSP分支与内部开发分支。前者向所有人开放,后者仅限拥有Google移动服务(GMS)授权的厂商使用。然而,绝大部分核心组件——包括Android OS框架——早已在内部分支中开发,AOSP往往只是滞后的“镜像”。

这种滞后性在对比原生AOSP版本与Google最新的Android 16测试版时尤为明显。测试版基于内部分支构建,功能和API远超AOSP版本。尽管Google曾尝试通过“主干开发”模式减少分支差异,但同步合并工作依然费时费力,且合并冲突频发。

例如,当Google为导航栏和键盘加入屏幕放大功能时,这一补丁在AOSP与内部分支中引发了合并冲突。原因在于两者的辅助功能列表长度不同。尽管修复这一问题相对简单,但类似冲突在合并时层出不穷。

另一个例子是“仅解锁存储区API”的开发。该功能最初在AOSP中进行,但相关的Android构建标志却在内部分支中创建。这导致Google不得不从内部分支挑出补丁,手动将其合并到AOSP,进一步增加了工作量。

为避免这种繁琐且重复的合并工作,Google决定放弃AOSP的实时开发,改为只在发布新版本时同步源代码。

对开发者和用户的影响

Google表示,这一改变不会让Android变成闭源系统。公司依然会在发布新版本时公开源码,例如,年内发布的Android 16将同步放出对应的源代码。此外,因Linux内核采用GPLv2许可证,Google仍需持续公开其Android内核分支的源代码。

不过,这一改变将影响开源组件的实时性。目前,部分组件(如构建系统、更新引擎、蓝牙协议栈、虚拟化框架和SELinux配置)仍在AOSP中进行实时开发。今后,这些组件也将转入内部,仅在版本发布时才对外公开。

对于普通用户来说,这一变化几乎没有直接影响。Android的开发效率或许会有所提升,从而加快新版本的迭代速度并减少Bug,但整体变化不易察觉,手机更新频率也不会因此加快。

对应用开发者而言,这一调整同样影响不大。由于他们主要关注平台API和发布版,Android底层的私有化开发对其开发工作影响甚微。然而,平台开发者和定制ROM开发者将面临更大困难。由于AOSP与正式版本的代码差距变大,外部开发者在版本发布前将难以追踪新功能和平台改动,定制适配的难度也将提高。

对媒体记者来说,这一改变意味着获取Android开发信息变得更难。过去,AOSP中代码改动往往能揭示Google的开发计划。例如,有记者曾在AOSP中发现Pixel设备即将支持网络摄像头功能,并提前曝光了Android 16的发布时间。今后,类似的代码线索将大幅减少,媒体对新版本功能的预测将更加困难。

Google为何选择私有化开发?

尽管从外部看,Google此举显得“封闭”,但从开发效率的角度来看,这一决策合理且必要。Google面临三种选择:维持现状、全面私有化开发,或完全公开开发。考虑到Android生态的复杂性和私有开发的效率优势,Google最终选择将所有开发工作整合至内部分支。

Google将在本周发布正式公告,届时还将公布更多技术细节和新的开发文档。有兴趣的开发者可以在Android源码官网上关注最新信息。

本文译自 android authority,由 BALI 编辑发布。

赞一个 (5)