开源社区

Android开发变“封闭”后对AOSP和开源意味着什么?

Android开发变“封闭”后对AOSP和开源意味着什么?

  • 发布:
  • 人气: 10
  • 评论: 0

应用介绍

  近期,Google 对 Android 开发模式进行了一系列调整,引发了开发者社区对 AOSP(Android 开源项目)未来走向的广泛关注和讨论。一些人担心 Android 正在变得更加封闭,影响独立开源版本的开发。不过,在

  最近,关于Google 对 AOSP 开发方式的调整,引发了不少讨论。大家关心的是,这些变化是否会影响我们开发独立开源 Android 版本的能力。

  2025 年 3 月 27 日,Google 宣布对 Android 平台的开发模式进行调整。虽然有人解读为 Android 正在变得更封闭,但事实其实没那么悲观。

  Android 开源项目(AOSP)是 Google 最具影响力的开源贡献之一。它支持着各种各样的设备,从手机、电视到汽车,甚至咖啡机。实际上,它是全世界部署最广泛的操作系统,连 Facebook 和 Amazon 这样的公司都在使用——而这些公司并不在 Google 官方认证生态中,也没有使用 Google 服务的授权(比如手机和平板上的 GMS,汽车上的 GAS,电视上的 GTVS)。

  但这些产品并不是直接运行 AOSP 的。相反,Google 会基于 AOSP,按设备形态开发内部的 Android 分支,这些分支中包含了闭源框架、API 和硬件支持。因此,大部分新代码其实早已在私下完成,AOSP 主分支并没有经过 Google 自家团队的完整测试,这也导致很多下游开发者直接构建时容易遇到问题。

  不过,Google 大约每年都会将内部开发树的快照进行一次整理,去除闭源部分后,发布一个稳定的 AOSP 分支(例如android-12.0.0_r1)。这基本把大部分新代码带到了开源社区中,只是等到准备发布时才公开。

  简而言之,Google 现在不鼓励大家使用 AOSP 主分支,并且已经将它设为私有。与此同时,Google 也表示会继续承诺发布稳定的开源版本。

  新版 Android 的开发过程仍是私下进行,等准备好才发布,这跟以前大体一致。不过过去有一些项目是 AOSP 优先开发的(比如 Bionic、Bluetooth、Cuttlefish、Virtualization),现在也变得更封闭了。事实上,即便是官方的 Android OEM,以前也很难参与非 AOSP-first 项目的开发。

  Android 仍会通过 android-latest-release 分支发布到 AOSP。当内部开发完成并通过测试后,就会推送一个稳定版本。借助下文提到的 Trunk Stable 改进,这种发布频率可能会比以往更高。

  AOSP 的贡献流程发生了变化,可能变得更加不透明。新流程可能需要提交者投入更多精力,也类似于 Google 以前内部处理非 AOSP-first 项目的方式。

  Android 通用内核(ACKs)依然在开源方式下开发,并持续上游提交到Android NDK 也仍在 GitHub()上保持开源。

  虽然这对希望一切都公开透明的开发者来说可能有些失望,但这其实一直就是 Android 的常态。整体来看,变化不大,对大多数人来说还是“照常营业”——只是你现在更难通过 AOSP-first 的项目“猜”出下一版 Android 的新功能了。

  Google 还引入了一种新的开发模式,叫做 Trunk Stable。这包括一个基于 feature flag(功能开关)的开发方式,同时提高了 Android 的发布频率——这些改变可能对下游开源社区是好事。

  在这个模式下,新功能会被隐藏在开关后,只有当它们准备好或需要为特定设备启用时才会真正启用。对 Google 来说,这种方式有助于提升质量,只在功能成熟后启用,也能避免针对不同设备形态反复分支,有望让不同设备统一在一套代码基础上开发。

  更少的碎片化,Bug 也更少:功能可以在测试成熟后再启用,或者只对需要的设备开放。久而久之,有望让不同设备共享更多代码。

  对于 Android Automotive(Google 专门为汽车打造的原生车载操作系统)来说,基本不会有什么变化。这个方向本来就不像手机那样完全公开开发。Google 目前也没有说要关闭 Automotive 的相关 tag。

  另外,Trunk Stable 模式也可能让各类设备的代码实现更统一。通过共享核心代码,Google(以及下游开发者)可以更容易地基于一个更频繁更新的版本继续开发。

  Google 从保持 Android 开源中获得了巨大收益——这帮助它把自家服务推广到更广泛的用户群。

  整个设备生态是一张由软硬件厂商共同构成的网络。所有参与者都需要能自由访问开源代码,以此开发自己的技术积累,而这些反过来又帮助 Google 和它的合作伙伴推动新设备和形态的诞生。

  一个很典型的例子是 Android 对 RISC-V 的支持。虽然现在 Google 正式支持了,但这个方向最早其实是由阿里巴巴推动的。如果没有 AOSP 开源,这种尝试根本不可能实现。

  虽然 Android 的开发模式变了,很多人会觉得“更封闭”了,但对整个生态系统来说,影响其实不大。大多数事情还是老样子,只是开发过程不再那么容易“窥探”了,仅此而已。

相关应用