新闻

Google 的 Android 策略重大调整:淡化 AOSP 项目,全面转向私有化开发,这里是最新消息及相关影响解读

0

据最新报导表明,Google 正在改变其未来对 Android 的规划,未来的开发重心可能将不再是 AOSP(Android 开源项目),而是转为私有化开发,意味着这个全球装机最广泛的操作系统越来越不如以前开放。消息来源:Android Authority。

** 请注意:部分中文媒体将之简单化吸引眼球地描述为“Android 闭源”,事实上这是非常不准确,并严重违反新闻准则的不负责任表述。请读完本文最后一段,就会了解,它将更接近 Chrome 和 Chromium 的关系。更多想法?欢迎到 Fuchsia 论坛来发表你的意见:https://zhos.net

谷歌可能正在对其 Android 开发流程进行一项重大调整。据报道,这家科技巨头正计划将其内部开发重心从 Android 开源项目 (AOSP) 转移出去。这一消息来源于知名 Android 专家 Mishaal Rahman,他援引了内部消息来源。据称,谷歌未来的 Android 开发将不再主要基于公开可见的 AOSP Gerrit 上的 android-mainline 分支。

Google 已证实,Android 操作系统的开发工作即将全面转入私下进行。尽管目前部分开发工作会在公共 AOSP Gerrit 平台上展示,但未来所有开发工作都将在内部完成。Google 表示,此举旨在简化 Android 系统的开发流程,而不会阻碍外部开发者的参与,因为每次新版本发布时依然会公开相应的源代码。

Android 操作系统的核心与发展历程

无论制造商如何差异化定制,每部 Android 手机都依赖同一软件基础——Android 开源项目(AOSP)。虽然设备厂商可以大幅修改系统的外观与用户体验,但核心系统功能均来源于这一开源平台。经过 16 年多的发展,Google 正在对开源版 Android 的开发流程进行重大改革,旨在简化整体开发进程。

AOSP 与内部开发分支

Android 开源项目(AOSP)是 Google 基于 Apache 2.0 许可发布的操作系统。该许可允许任何人使用、分发或修改基于 AOSP 的系统,无需支付许可费用或公开修改后的源代码。这一宽松的许可政策促进了全球范围内 AOSP 的广泛采用,也催生了诸如三星 One UI 这类定制化系统。

与其他开源项目类似,AOSP 也接受第三方开发者的代码贡献。但实际上,大部分核心开发工作均由 Google 内部团队负责,因为 Google 将 Android 视作一个全方位的产品开发项目,以确保平台的健康与活力。因此,Google 拥有对哪些代码可以合并到 AOSP 以及何时发布新版本源代码的最终决定权。为保证开发流程顺畅,Google 选择在内部进行绝大部分开发工作,让开发者和 OEM 能够使用统一版本的 Android,而无需追踪尚未完成的未来改进。

两大分支现状与合并挑战

为平衡开源的透明性与产品开发需求,Google 目前维护两个主要分支:

  • 公共 AOSP 分支:对所有人开放,供外部开发者查阅与贡献。
  • 内部分支:仅限拥有 Google 移动服务(GMS)许可的合作伙伴使用。

由于大部分核心组件(例如 Android OS 框架)是在内部分支中开发,因此公共 AOSP 分支常常落后于最新内部版本。尽管 Google 已通过转向基于主干(trunk-based)开发来缩小这一差距,但差异依旧明显。这种分支间的不一致导致在合并补丁时频繁出现冲突,例如增加新的辅助功能设置或开发仅解锁存储区域 API 时,因两个分支的列表或文件存在差异,常常需要额外的精力解决冲突问题。

私有化开发的原因与影响

为了解决上述合并冲突问题,Google 决定将所有 Android 开发工作转至内部分支,统一代码库,并在发布新版本时一次性公开所有变更。这一变动主要影响的是平台开发工作,对普通用户和应用开发者来说影响甚微,因为他们主要依赖于特定版本的发布分支,而非实时追踪内部开发进展。

对于外部开发者和记者来说,此举意味着他们将更难获得 Google 内部开发的最新动态和细节信息。没有 GMS 许可的开发者可能无法像以往那样直接跟进最新变更,这也会使得追踪未来 Android 新功能的工作变得更为复杂。

未来展望

尽管全面私有化开发可能在外界看来降低了透明度,但 Google 重申仍会在每次新版本发布时公开所有源代码,包括 Android 的 Linux 内核分支(因其基于 GPLv2 许可,必须公开源代码)。这也表明 Google 仍致力于保持 Android 作为一个开源项目的特性,只是开发流程上进行了优化和整合,以提高内部效率。

Google 将在本周晚些时候公布更多细节,有兴趣的读者可以关注官方公告和 source.android.com 上的新文档。

这对 AOSP 意味着什么?

这并不意味着 AOSP 会消失。相反,根据报告,AOSP 将更像是一个代码“投放”或“发布”的地方,而不是积极开发的平台。谷歌会在其内部、不对外公开的代码库中完成大部分开发工作,然后才将代码推送到 AOSP

这种模式类似于谷歌开发 Chrome 浏览器的方式。大部分 Chrome 开发在内部进行,之后代码才会被推送到开源的 Chromium 项目中。

可能产生的影响

如果这一转变属实,可能会对 Android 生态系统产生深远影响:

  • 透明度降低: 开发者、OEM 厂商以及爱好者可能更难实时追踪 Android 的最新开发进展,因为大部分工作将在谷歌内部完成。
  • 潜在延迟: 代码和功能推送到 AOSP 的延迟可能导致非谷歌设备(如三星、一加等手机)获得新 Android 版本或功能更新的速度变慢。
  • 碎片化担忧: 这可能潜在地加剧 Android 碎片化问题,因为谷歌的 Pixel 设备和核心服务可能会优先获得内部开发的新功能。
  • 保密性增强: 谷歌能够对其未来的功能和计划保持更高程度的保密性,直到他们选择将代码公开到 AOSP

为何做出改变?

谷歌进行此项调整的原因可能包括:希望简化内部开发流程、加速 Pixel 手机和自家服务的功能迭代、更好地控制新功能的发布节奏和保密性,以及可能更有效地整合闭源的谷歌服务代码。

背景知识补充

  • Android 开源项目(AOSP):
    AOSP 是 Google 为了推动 Android 平台的普及而开源的基础代码库。通过 Apache 2.0 许可,任何人都可以基于 AOSP 开发自己的系统版本,这也是许多厂商定制 Android 系统的基础,包括全世界知名的绝大多数手机厂商。

  • 内部开发分支:
    为了更高效地管理大规模的产品开发,Google 保留了一个仅限内部使用的分支,用于进行核心功能和系统框架的开发工作。这样可以避免因公开版本中不成熟代码而引发的混乱,同时减少合并冲突的问题。

  • 合并冲突与主干开发:
    在两个平行开发分支之间频繁进行代码合并容易产生冲突,尤其在列表、文件结构等细节不一致时更为常见。为了解决这一问题,Google 正在逐步转向基于单一主干(trunk-based)开发模式,以统一代码库、减少冗余工作,从而提升开发效率。

总结

尽管开发重心可能转移,AOSP 仍将是 Android 生态系统的基石,为众多设备制造商提供操作系统的基础代码。然而,其作为前沿开发“主线”的角色似乎正在发生转变。这一潜在的策略调整标志着谷歌 Android 开发方式的一个重要变化,其长期影响还有待观察。已知的谷歌开发 Chrome 浏览器的方式也是大致如此,但是不妨碍 Chromium 仍然是一个开源浏览器。

Google 并未公布相关的完整规划,但是可以判断 Google 为了应对未来更大的挑战,正在试图做一些重大调整,市场和开发者社区如何看待 Google 的这些重大调整目前未知。


注:本文资料来源主要引用自 Android Authority,并且借助 Google Gemimi 翻译、及补充相关信息

Google Research 团队在 seL4 峰会上介绍 CantripOS

Previous article

You may also like

Comments

Leave a reply

您的邮箱地址不会被公开。 必填项已用 * 标注

More in 新闻