Android Treble 结构:Part 1 - 介绍

介绍

Android是由谷歌开发的移动操作系统,基于Linux内核和其他开源软件的修改版本,主要设计用于智能手机和平板电脑等触摸屏移动设备。此外,谷歌还进一步开发了用于电视的Android TV,用于汽车的Android Auto以及用于腕表的Wear OS,每都具有专用的用户界面。Android变种也用于游戏机,数码相机,个人电脑和其它电子产品。
最初由谷歌于2005年收购的Android公司开发,Android于2007年推出,第一款商用Android设备于2008年9月推出。此后,操作系统经历了多个主要版本,当前版本为8.1 Orea,于2017年12月发布。

Android Treble

毫无疑问,Treble或“Project Treble”是自Android以来在Android框架中所做的最大和最大胆的改变。
在我们有下面类似疑问之前,

  1. 什么是Treble?
  2. 它对我有何影响[OEM/SOC供应商等]
  3. 接下来我该怎么办?
  4. 有哪些相关变化?

最重要的问题仍然是为什么需要Treble或者说Treble解决了什么问题
在本教程的这一部分,让我们尝试建立对Treble声称要解决问题的初步理解。

从下表中,我们可以看到眼前的问题:
Android Treble 结构:Part 1 - 介绍_第1张图片
或者下图会更好:
Android Treble 结构:Part 1 - 介绍_第2张图片
正如我们从上面的两张照片中可以看到的那样,很明显,即使在成为全球最常用的操作系统之后,Android仍然存在一个大问题,碎片化。
最新的Android版本Orea在所有设备中的占比低于6%。
另外请注意,Marshmallow和Lollipop [2014-2015发布的] 等旧版本仍占据50%以上的设备。

这种碎片化会影响到谁呢?
它会影响所有与Android有直接或间接关系的人。

  1. 客户:作为客户,我们希望能使用最新的Android系统。
  2. OEM: 及时更新设备将使他们不易受到安全问题的影响。
  3. Google: 谷歌付出了很多努力,最终看到使用最新Android版本的设备比例非常低,他们一定很难过。。。

那么其它操作系统呢?
现在,将Android与ios进行比较。如下图所示:
Android Treble 结构:Part 1 - 介绍_第3张图片
在比较时,我们可以清楚的看到差距。
最新版本的ios版本“ios 11”在几乎惊人的87%的设备上运行。

是什么导致安卓如此严重的碎片化的呢?
下图来自Google’s official developer blog便于我们更好的理解。
Android Treble 结构:Part 1 - 介绍_第4张图片
Android版本生命周期。

  1. Android团队向全世界发布最新版本的开源代码。
  2. 芯片制造商,为他们特定的硬件修改新版本。
  3. 设备制造商与运营商合作测试和认证新版本。
  4. 设备制造商和运营商向用户提供新版本。

然而,在我们完成所有这些步骤之前,谷歌已经发布或者即将发布下一个Android版本,这导致又要循环这些操作。

更新Android系统版本会遭遇到哪些问题呢?

  1. 难度:核心framework层和HAL层是紧密耦合的。
  2. 成本:当然,工程和测试的成本很高,不仅在SOC供应商层面,而且在OEM和运营商层面。
  3. 漫长:有时时间长短取决于定制的程度,这个过程非常冗长,可能需要数月。

因此,Treble由此诞生了。
Project Treble的目标是将Vendor Implementation(大部分由芯片厂商写的特定于硬件的驱动软件)和Android OS Framework分开。

这是通过在Android OS Framework和Vendor Implementation之间引入新的Vendor Interface来实现的。新的Vendor Interface由供应商测试套件(VTS)验证,类似于CTS,以确保Vendor Implementation的向前兼容性。

让我们看看Google如何通过Treble解决Android版本更新问题。
Android Treble 结构:Part 1 - 介绍_第5张图片
通过稳定的Vendor Interface可以访问Android特定的硬件部分,设备制造商可以选择通过更新Android OS Framework向消费者提供新的Android版本,而无需芯片制造商做任何额外工作。
Android Treble 结构:Part 1 - 介绍_第6张图片

这篇译文我做了部分修改和精简,第一次写译文,如果有什么疑问,欢迎批评指正 0.0

访问不了的网站,你差的可能只是一个梯子~
参考资料:
原文

你可能感兴趣的:(Android之旅)