骁龙800/801设备无缘安卓7.0的原因竟然是......
骁龙800/801设备无缘安卓7.0的原因竟然是......

安卓的最新版本 7.0 牛轧糖现在已经正式放出来了,OEM 厂商们都在宣布旗下自家手机的升级计划,索尼HTC 均已公布,同时谷歌也为 Nexus 6Nexus 5X 以及 Nexus 6P 放出了安卓 7.0。

高通

不幸的是,有部分手机(而且还卖的挺好的)可能无法享受这场系统升级的盛宴,你看,索尼的升级计划中并不包括 Xperia Z3,HTC 也没有宣布其 One M8 的升级计划,以及谷歌的 Nexus 5 也不知何时才能够升级到安卓 7.0。以上三部设备,它们都有两个共同点,第一,它们都是在 2013 或 2014 年发布的,已经有点老了,不过你看苹果的 iPhone 4S 不是照常能升级?虽说卡成 × 了;第二,它们皆使用了高通骁龙 800 或 801 处理器。

据外媒在 Twitter 上宣称“高通将不会为自家的 800 或 801 放出图形驱动,所以 HTC One M8 以及其他使用了该款处理器的手机将不会得到官方的安卓 7.0 升级。”

我们也去咨询了高通官方一些关于这方面的问题,并且得到了以下回复。

“我们高通科技有限公司,一直与我们的 OEM 客户们紧密合作,以支持和推出最新的安卓系统给各类使用了高通处理器的安卓手机,支持最新系统与否更多取决于手机产品本身的生命周期,所以我们建议消费者们最好联系产品制造商以咨询系统更新的问题。”

OK,那么据高通所说,这是一个产品生命周期的问题,也就是索尼、HTC 等厂商觉得搭载了 800/801 处理器的手机太老了,生命周期已走到尽头所以不再更新。可是假如 OEM 厂商想为那几部手机更新安卓 7.0 呢?可以做到吗?

Sony

索尼此前都一直在为 Xperia Z3 开发安卓 7.0 系统,并且还有一个 Xperia Z3 的开发者预览版,一直更新到了开发者预览版 4,那么这样的话,安卓 7.0 在高通骁龙 800/801 上跑起来肯定是没有什么技术上的问题的,可是预览版 5 却至今没有发布,据索尼宣称,这里遇到了两个问题——技术和法律问题。

骁龙800/801设备无缘安卓7.0的原因竟然是......

(索尼 Xperia Z3,安卓 N 开发者预览版)

索尼手机部门的一位负责人在媒体平台上说:“我们并不是想责怪谁,也不会推卸责任,除非我们能够通过谷歌 CTS 认证,否则可能无法给 Z3 升级安卓 7.0 系统。”

Google

这段话看起来好像是索尼在责怪谷歌,那么到底什么是谷歌 CTS 呢?OEM 厂商为了得到谷歌的批准(以及使用谷歌的各种服务如 Play Store),各个 OEM 厂商必须遵守安卓的兼容性定义文书(Compatibility Definition Document*CDD),这意味着基本上对厂商们软件和硬件做出了一些基本要求和定义,然后厂商所制作的设备还需要通过兼容性测试(Compatibility Test Suite),也就是 CTS。

先来简单阐述一下,有人说得不到更新是因为高通不肯放出自家处理器的图形驱动、高通说更新与否的取决权在 OEM 厂商手上、索尼又说是谷歌的错~

这里又延伸了一个问题,安卓 7.0 里的 CDD 与 CTS 是有一些东西导致 Nexus 5、HTC One M8 和 Xperia Z3 无法通过审核吗?如果是处理器方面的话,我们可以分三个点来进行分析:支持的指令集、GPU 以及性能。

骁龙800/801设备无缘安卓7.0的原因竟然是......

我们仔细看了一遍那些将得到安卓 7.0 更新的设备,然后得出以下信息

  • 它们所使用的 GPU 有 Adreno 360、Adreno 430 以及 Mali-T860

  • 这些设备的处理器性能差距跨度很大,从 Helio P10、骁龙 410 到骁龙 820 都有

  • 大部分设备都采用了 64 位处理器

从大部分设备的 GPU 来看,应该不会是 GPU 的问题,搭载 Adreno 306 的设备都能够得到安卓 7.0 的更新,并且 ARM 的 Mail GPU 团队告诉我,安卓 7.0 支持 Open GL ES 与 Vulkan 并行使用,Mali-T760 亦支持 Vulkan,不仅仅只有 Mali-T880 或 Mali-G71 这类的高端 GPU 才支持 Vulkan 的,所以感觉“高通不肯放出图形驱动”这样的话有点不可信。

第二,应该不会是性能方面的原因导致无法更新安卓 7.0,你看连搭载骁龙 410 这样的低端设备依旧可以吃到牛轧糖,亦或是装配了联发科 P1 这样的设备也同样没问题,没有任何迹象表明骁龙 801 处理器的性能达不到系统升级的标准,并且在我的测试中,骁龙 801 要比 Helio X10 更快。

不过,需要值得一提的是,大部分能够升级的设备,都是拥有 64 位处理器,换句话说,都是基于 ARMv8 架构处理器的设备,那么到底骁龙 800/801 有什么问题呢?可是连骁龙 805 都没问题啊(Nexus 6 上面的 32 位处理器),如果不关 GPU 的事,也不关性能的事,也不是 32 位与 64 位的问题,那么到底是什么问题导致它们无法更新系统。

ARMv8 以及高级加密标准

我的结论是这样的,谷歌在安卓 6.0 里强制开启了全盘加密技术(Full-Disk Encryption),开启这项功能之后会导致手机的读写性能大幅下降,所以 CDD 也为这项功能设置了一个门槛,支持全盘加密以及高级加密标准的设备加密性能需要高于 50MiB/s。

骁龙800/801设备无缘安卓7.0的原因竟然是......

安卓 7.0 采用了基于文件的加密方式,意味着是对单个文件进行加密,而不是对整个文件系统加密,这样的加密方式能够让安卓系统实现更加精细的加密政策,并且同时还实现了直接启动(Direct Boot)功能,目前安卓 7.0 的 CDD 还未公布,但是肯定会对 AES 加密性能作出相关规定,然后 CTS 再对其进行测试。

ARMv8 架构的处理器还有另外一个功能便是硬件加密指令,这意味着基于该架构的 SoC 如 Helio P10、骁龙 410 以及 820 处理器,都可以使用该功能然后用 AES 对数据进行加密,这样会比利用软件方法加密要快的多。

所以索尼所说的“技术问题和法律问题”,应该就是指骁龙 800/801 无法达到 ARMv8 芯片 AES 加密所需要的性能速度,因为这个处理器并不支持硬件加密,而高通则为骁龙 805 加入了这项加密功能所需要的硬件,骁龙 805 支持全盘加密技术以及对安卓应用的加密功能。这可能也就是为什么 Nexus 6 可以升级至安卓 7.0 的原因了,不过其他采用 32 位处理器的手机貌似就升级不了。

我的总结是,骁龙 800/801 并不存在什么技术问题导致它无法升级至安卓 7.0,只是谷歌对加密速度有一定的要求,而骁龙 800/801 无法跨过 CTS 的门槛,也不符合 CDD 的标准。

图文翻译整理自 Android Authority

分享:
崔野
资深搞笑编辑
你好,吗? 微博:@崔野Lenny

扫描二维码,关注作者

分享微博 分享微信
爱搞机微信

爱搞机微信

搞机啦微信

搞机啦微信

推荐产品

抱歉,产品库没有您要找的产品

试用