Android 10 到来后,这个新特性是你一定要了解的

现在在国内,像小米、一加等厂商都已经开始向自己旗下的设备推送 Android 10,虽然以 Android 厂商们跟进 Android 大版本的性子,第一批更新的正式推送只意味着极少部分用户能够用上全新的 Android,但这至少是一个好的信号。

随着 Android、iOS 两大手机系统的不断发展,Android 在不断更新、改进的过程中吸取了很多 iOS 的优点,每一个大版本更新都在让 Android 变得更易用。

Android 10 到来后,这个新特性是你一定要了解的

很多媒体在报道 Android 10 的有关新闻时基本上都只关注到了 Google 展示出来的,和用户能够直观感受到的一些更新,但是实际上除了我们能够直接接触到的黑暗模式、通知优化、隐私设置等新内容外,Android 10 在我们看不到的系统底层也加入了一些全新的东西。

在这些位于系统底层的新东西中,有一个是我们不能忽视的 —— Project Mainline。这是一个 Google 铺垫了非常久终于在 Android 10 中实装的新功能。

对于这个功能,国内媒体基本上都没有提到,可能是因为这个功能比较偏底层。对于 Android 来说,Project Mainline 是一个非常有意义的,甚至可以说是一个有里程碑性质的功能。

在了解 Project Mainline 之前,我们需要先回顾一下 Google 在 Android O 中实装的 Project Treble。

Android 10 到来后,这个新特性是你一定要了解的

Android 的碎片化问题自从 Android 崛起一直困扰着 Google,至今这个碎片化的问题仍然很严重,即使到现在也是这样。Google 一直以来都在努力尽可能提升 Android 用户的升级率,但是一直以来 Google 的努力都没有多大的成效,因为他们对系统的掌控力太低。

虽然 Android 是 Google 制作的,但是由于 Android 本质是一个开源项目,在这个开源项目之上每个手机厂商几乎都衍生出了一个属于自己的版本,而这些衍生出来的版本是 Google 没有办法掌控的。

Google 在迭代了 Android 本身后,这个迭代要什么时候下发给终端用户还需要取决于芯片厂商以及手机厂商。芯片厂商需要向手机厂商提供可用的驱动,而手机厂商则需要在拿到驱动之后才能做适配。

在 Android O 之前,每一个大版本更新都需要经历这样一个非常长的流程才能够下发到终端用户手中,而且真正升级到新版本的只有很少的一部分用户,因为整个适配的流程很复杂,所以每多给一台设备做适配,厂商就需要消耗多一份的人力与时间。

对于手机厂商来说这就是成本,对于老旧的设备,厂商自然不愿意付出这些成本去提供更新,尤其是一年里会推出非常多新机的国内手机厂商。所以 Google 想要解决 Android 碎片化的问题,他们就必须在系统上做一些架构上的改变来增强他们对系统的掌控力,同时优化 Android 这个非常繁杂的发布流程。

Android 10 到来后,这个新特性是你一定要了解的

于是 Project Treble 出现了,它让系统本身和厂商的部件(驱动、厂商的私有库等)彻底解耦,Google 可以直接对系统内核进行修改而不影响到上层的驱动和一些定制的功能。

这使得在 Android 新版本进入测试阶段后,芯片厂商、手机厂商就可以开始着手对新版本的 Android 做适配工作,不必等待 Google 放出正式版。

而在 Google 放出正式版之后,如果厂商已经基本完成了适配工作,他们只需要做少量的工作就可以把正式版的系统合入到自己的版本下发给用户,这也就是为什么今年有厂商能够做到同步 Google 的步伐推送 Android 10 正式版,在这之中 Project Treble 功不可没。

近两年 Android 能够给更多设备提供 Beta 版镜像也是 Project Treble 的功劳,它能够让 ROM 变得更加通用,设备可以继续使用老版本的驱动,同时运行新的系统。

Android 10 到来后,这个新特性是你一定要了解的

对于 Project Treble,Google 的态度十分强硬,他们于 Android O 上实装这一改动,同时在 Android P 上强制要求所有 Android 必须要升级到 Project Treble。问题来了,为什么向来向往自由,几乎放任厂商对 Android 进行各种魔改的 Google 对于 PT 如此强硬呢?

答案很简单,PT 是 Google 夺回系统控制权的一个重要步骤。PT 的出现不单单是加速了 Android 的适配流程,它还可以让 Google 获得了绕过厂商直接给系统打补丁、做升级的能力,在应用 PT 之后,Google 可以直接向终端用户推送系统更新,就像苹果那样。

这个直接向终端用户推送补丁和更新的功能,Google 给它也起了一个专门的名字,也就是 Project Mainline。

Android 10 到来后,这个新特性是你一定要了解的

Project Mainline 是一个需要依赖 Google Play 的功能,毕竟 Google 要给终端用户直接推送更新,对于 Google 来说,没有什么比内置在 Android 中的 Google Play 这一套框架更合适的选择了。

Project Mainline 这个新特性的核心在于它能够支持 Google 通过 Play 商店给用户直接推送模块化的小型系统更新。得益于 Project Treble,Google 不需要因为不同手机的硬件不同而花大量时间去为不同的设备做适配,这个更新和 PT 版的刷机 ROM 一样是具有通用性的。

Project Mainline 的出现能够加速小型更新的下发(例如安全更新),它允许用户快速同步系统层面的一些组件到最新版本,这些更新将由 Google 直接提供,不再受厂商系统更新的制约。

Project Mainline 现阶段主要会下发三个方面的更新:

  • 关键安全更新。这类更新覆盖了那些比较容易出系统漏洞的组件,例如媒体组件,Google 能够在第一时间提供漏洞的修补并且实装到终端用户的设备上。
  • 隐私更新。Google 能够直接对系统的权限系统等进行更新,限制 App 的活动,维护用户的隐私安全。
  • 一致性更新。这类更新主要涉及到一些系统中的公共数据、公共组件,通过这方面更新 Google 可以及时解决一些系统稳定性、兼容性以及开发用 API 上的一些问题。

这些更新都是基于 Google 实装在 Andorid 10 中的 Mainline 组件以及相关的机制实现的。在 Android 10 中 Google 已经将系统中的 14 个组件转化为了 Mainline 组件,Google 能够通过 Project Mainline 对这些组件直接进行更新,其中包括安全相关的依赖、DNS 解析器、媒体编解码器、权限控制器以及一些公共的数据如时区等。

Android 10 到来后,这个新特性是你一定要了解的

值得一提的是,Google 在 Project Mainline 上运用了一套全新的模块化的升级机制,对于 Project Mainline 的更新,用户可以和安装一个 App 更新一样直接通过 Play Store 安装。

得益于这一套全新的机制,一般更新在安装完之后就可以直接生效,不需要重启。系统可以在更新之后直接加载这些新的组件,这一切都在后台进行,用户当前的任务是不会中断的。这样一来类似于 Windows 10 这种用户正在工作中、游戏中突然来个更新重启的惨剧就不会出现。

对于 Android 生态,Project Mainline 的出现可能短期内会带来一些兼容性问题,具体怎么发展要看 Google 对更新推送的把控。由于更新都小型化、模块化了,那么就会出现一共有四个更新,设备 1 只安装了前三个,而设备 2 全都安装了,加入第四个更新刚好是一个一致性更新,那么开发者这个时候就会可能遇到一个兼容性问题。

所以 Mainline 更新很大概率会是强制性的,用户没有办法选择不更新,除非通过 Root 之类的方式把更新屏蔽掉。


由于目前 Project Mainline 是需要依赖 Play 商店的,所以国内用户预计是不能用上 Project Mainline 这个功能,但是在笔者看来这个功能其实不依赖 Play 商店应该也是能够使用的,Play 商店在这其中的作用也就是接收推送和下载、执行更新。

不知道国内手机厂商会怎么处理 Mainline 更新,Mainline 更新的更新包厂商们必然是可以获取的,所以理论上他们只需要找到一个方式将这些更新包在不依赖 Play 商店的情况下推送并应用到用户的设备上就可以了。

毕竟更新包本质上也就是 Google 专门打造的新结构 APEX 以及传统的 APK,考虑到 Google 对 Mainline 更新似乎也有强制要求,所以国内的厂商应该会在 Google 启动推送 Mainline更新之前解决相关的问题。

需要注意的是,Mainline 更新只适用于 Android 10 的用户,所以运行旧系统的设备仍然只能通过传统的方式接收安全更新,直到更新到 Android 10。