# `1 o8 G: r [6 {9 u# E谷歌近来关于安卓的两则消息引起了我的关注,一个是AOSP可能要转入内部开发,另一个是Android 16的版本中要引入原生的Linux应用。这个对于安卓的生态来说都是很炸裂的消息。结合一些信源,我也尝试分析一下这两条新闻,也找找其中的关联。, P& ~: D5 @0 g" v. K& p' e
; d# J8 F H! }) s+ Y1.1 Android 开放源代码项目 (AOSP) 的历史与重要性9 i- [) j! Y. U) G3 y
) H! N6 X7 ?" y" }% \5 L$ A4 `$ x# P
安卓开放源代码项目(Android Open Source Project,简称 AOSP)自 2008 年发布以来,一直是全球移动生态系统的基石 1。作为安卓操作系统的基础,AOSP 采用宽松的 Apache 2.0 许可协议 1,极大地促进了安卓系统的广泛定制、创新和普及。AOSP 的核心组成部分包括了 Linux 内核(负责系统资源管理)、硬件抽象层 (HAL)(使得蓝牙、声音、麦克风和键盘等硬件功能得以使用)、安卓运行时(允许安卓应用程序运行)以及各种原生库和安卓框架 5。正是由于 AOSP 的开放性,众多的原始设备制造商(OEM),例如三星,得以在其基础上开发出各种定制化的安卓系统,例如三星的 One UI 。AOSP 的这种许可模式对于安卓在全球范围内的普及起到了至关重要的作用,它允许各种公司在安卓的核心基础上进行创新,从而形成了如今多元化的安卓生态系统。这种开放性使得安卓能够迅速占领市场份额,并持续保持其在全球操作系统中的领先地位 。& c- n; _# Z2 G- z1 e
- V1 p: k" g1 H- w3 F1.2 近期关于 Google 将内部开发 Android 的报道 - M7 {* W; A# i; ^ Y7 |4 }# g: u( b; U
近期,多家科技媒体报道称,谷歌计划将安卓操作系统的开发模式从目前的半开放模式转变为完全内部开发 。根据报道,谷歌已经向 Android Authority 证实了这一变化,并计划在未来几周内正式实施 。预计最早下周开始,所有安卓系统的开发工作都将在谷歌的内部分支中进行 。谷歌方面也表示,可能会在“本周晚些时候”发布关于此项变更的正式公告,并在 source.android.com 上提供更多详细信息 . 这一举动标志着安卓开发模式的重大转变,此前,谷歌会将一部分安卓开发工作在公开的 AOSP Gerrit 上进行 。; T y7 m6 e. k
1 s8 Y% h A4 \. M- Q1.3 Google 声明:并非完全闭源 8 d6 [5 }' S, ?. B7 k# G - }0 u" K0 N( u" C9 E- P3 X* ~+ I值得注意的是,尽管开发模式将转向内部,谷歌明确声明,这并不意味着安卓将变成一个完全闭源的平台 。谷歌承诺,在新的安卓版本发布后,仍然会将相应的源代码发布到 AOSP 。因此,此次变化的核心在于开发过程的封闭,而非最终产品的源代码是否公开。此外,安卓系统的 Linux 内核部分由于受到 GPLv2 协议的约束,将继续保持开源状态 。关键的变化在于未来公开源代码发布的频率可能会发生调整 . " G, @! |: o: ]" G( A 1 }$ c# d0 ^; F" a& D6 a9 v1.4 Pixel 手机上的原生 Linux 支持 W/ R, ]& B2 {! e$ Y% B% W+ X- @, o. K; q6 V `" t5 G
与此同时,谷歌在 2025 年 3 月的 Pixel 功能更新中引入了原生 Linux 终端应用程序 。该应用程序现已广泛提供给运行 2025 年 3 月更新的 Pixel 用户 。Linux 终端运行在 Debian Linux 虚拟机之上 ,利用了安卓虚拟化框架(AVF)。目前,它提供了一个简单的命令行界面 ,并且缺乏对图形用户界面(GUI)、硬件加速和音频支持等功能的默认支持 。然而,用户已经成功地在 Linux 虚拟机中安装了 XFCE 等桌面环境 ,这需要进行一些配置,例如分配足够的存储空间和启用端口转发 。谷歌已明确表示,其主要目的是将更多的 Linux 应用程序、工具和游戏引入安卓生态系统,而不是创建另一个桌面环境 。他们将继续开发原生的安卓桌面环境 。预计 GUI 应用程序支持将在安卓 16 中到来 。: ]+ F0 _2 U, M+ h. H7 l# ?
0 M) o. {0 O: \4 g) B
2. 可能的闭源方案分析 7 k1 k8 `. i3 j2 {7 M& U2 i8 P' w; M4 k/ _9 g
2.1 全面内部开发,定期发布完整源代码 3 @' F1 r5 m# T$ U' e; ]+ l: f( R! s2 [" ~
在这种可能性下,谷歌将完全在其内部开发安卓系统的所有功能和组件,并在每个主要版本(例如 Android 17)或重要的维护版本完成后,一次性将完整的源代码发布到 AOSP 。这与目前安卓版本发布后的源代码公开流程类似,但日常的开发过程将完全不透明 。 5 b4 K) H( N+ I, F) m; W ( k( X& v% u3 E2 h# b实施方式: 谷歌将只维护一个主要的内部分支用于安卓的开发,当开发完成并达到稳定状态后,会将该分支的代码同步到 AOSP 。/ o. _- s$ L' J5 S& }7 [% x' @
8 o; o) L! c3 N
潜在影响: ; C5 }' n0 P3 M, G . L) h4 q# g% F# P% e正面: 这种方式最直接的好处是能够显著简化谷歌的开发流程,减少由于需要同时维护内部分支和 AOSP 分支而产生的代码合并冲突 。此前,由于内部分支和 AOSP 分支的功能和 API 存在差异 ,谷歌需要花费大量时间和精力来合并补丁 。 " r# n, C9 G# T8 k! v' u- l* ?9 N# F) M8 d. } r% V5 X& u, F
负面: 最主要的负面影响是外部开发者和贡献者将无法实时跟踪安卓的开发进展 。过去,通过观察 AOSP 的代码提交,开发者和研究人员可以提前了解安卓的新特性和变化 。这种透明度的降低可能会阻碍社区的参与和创新 。 7 b" b* \' M* \+ x" ~$ B2 o, i
2.2 部分模块内部开发,核心模块继续开源4 m8 [# P5 s1 S/ a
1 }- s) x# U+ @% y; H' p
另一种可能是谷歌选择将其安卓系统的某些关键或创新模块(例如,与 Pixel 设备特定功能相关的部分)置于内部开发,而继续公开开发一些更底层的核心组件(例如,Linux 内核的安卓分支、蓝牙协议栈、构建系统等)。目前,已经有一些安卓组件是 AOSP 优先开发的 。 2 {: D0 o" B- z& u7 ? 9 A( q$ M$ p7 ~. e* `: ?实施方式: 谷歌将继续维护 AOSP 的部分开放性,但会将一些被认为是关键差异化竞争力的组件的开发转移到内部分支 。* l$ d1 M; m- u, x2 }3 l
- N3 K3 L) K9 g( n5 s' _' q
潜在影响: * M; V/ U3 J# A: ?$ N+ `& E) @8 m) D3 {
正面: 谷歌可以在保持核心技术开放的同时,对其创新功能进行更严格的控制和保密,从而在市场竞争中保持优势 。9 c! T8 M1 s* |1 x5 ?- ]