1、前言 - Project Treble
Android 目前有一个比较明显的缺点是设备升级到新版本系统所要花费的时间太长(比如从 Android 6.0 升级到 Android 7.0)。通常在由 Google 发布新版本的 AOSP 之后,还需要 SoC 厂商对 HAL 进行升级,以及 OEM 厂商对 HAL 和 Framework 进行升级后,用户才能在设备上收到 OTA 升级包的推送。低端一点的产品甚至在出厂后就不会再进行系统升级了。用户对此抱怨良多。反观竞争对手 iOS 在这方面就做得比较好(但这不代表我支持 iOS)。
**为了解决这个问题,于是 Google 发起了 Project Treble 项目。**2017 年 5 月 12 日,官方在”Developers Blog”上向公众介绍了这一项目并宣布 Android 8.0 中将引入它,但从目前我拿到的描述 Project Treble 的相关文档的修订记录来看,这些文档最早的起草时间可以追溯到 2015 年 10 月 30 日。
而 Project Treble 中最重要的就是新增了 Vendor Interface 这一概念,以及相应的 Vendor Test Suite (VTS) 测试。
2、VTS 的概念及作用
VTS 全称是 Vendor Test Suite,官方在介绍它时将其与 CTS 进行了类比,原文是:
Project Treble aims to do what CTS did for apps, for the Android OS framework. The core concept is to separate the vendor implementation — the device-specific, lower-level software written in large part by the silicon manufacturers — from the Android OS Framework.
This is achieved by the introduction of a new vendor interface between the Android OS framework and the vendor implementation. The new vendor interface is validated by a Vendor Test Suite (VTS), analogous to the CTS, to ensure forward compatibility of the vendor implementation.
意思是 Project Treble 中引入 Vendor Interface 的目的是将 Android Framework 与 HAL 分开,并通过 VTS 测试来对这些 Vendor Interface 进行测试以确保 HAL 的向前兼容。
只看这一段可能还是描述得不太清楚。我们知道仅管 APP 层与 Framework 层在设计上是分开的, 但通过 CTS 测试,确保了 APP 与 Android Framework 之间有一致的调用接口(API),这使得 APP 开发者编写的同一款程序可以运行在不同系统版本(向前兼容)、不同硬件平台、不同厂商制造的不同设备上。
VTS 类似 CTS,通过对 Vendor Interface 进行测试,确保同一个版本的 Android Framework 可以运行在不同 HAL 上,或不同 Android Framework 可以运行在 同一个 HAL 上。
通过这样的 Framework / HAL 分离设计和接口一致性保证,也使得 8.0 版本之后的 Android 系统在进行升级时,可以直接对 Framework 进行升级而不用考虑 HAL 层的改动,从而缩短了用户手上设备得到系统升级 OTA 推送的时间。
相关推荐
VTS(Vendor Test Suite)是一种自动化测试工具,用于测试 Android 原生系统的实现情况。在 Ubuntu 16.04 环境中搭建 VTS 环境,需要按照以下步骤操作: 首先,需要安装 Python 开发工具包、协议缓冲区工具和 ...
展锐Android VTS Test Guide 1 Introduction 2 Test environment setup 3 VTS test 4 Cautions 5 Reference documents
Android系统的VTS测试套件介绍.pdf
**BACnet与可视化测试软件VTS** BACnet(楼宇自动化控制网络)是一种标准通信协议,专门设计用于建筑自动化和控制系统,如暖通空调(HVAC)、照明、安全和消防系统等。它允许不同制造商的设备在同一个网络上相互...
(Generic system image)— Reference AOSP system image通用系统映像上的兼容性测试套件这个文件包也是签约获取授权后才能获取,Google也会定期更新GSI包Android O要求测试VTS和CTS on GSI,此时对应版本必须是GSI...
VTS工具的出现,使得工程师和技术人员能够更方便地测试、配置和诊断BACnet网络中的设备。 在VTS_3.6.5版本中,我们可以预期以下关键功能和知识点: 1. 设备发现:VTS工具能够扫描网络并自动发现BACnet设备,显示其...
Android 9.0 最新的CTS测试规范,官方最新的定义文档。
1. **一致性测试**:VTS提供了一系列的测试用例,覆盖了BACnet/IP协议的各个部分,包括对象类型、服务、属性等,确保设备符合标准。 2. **交互模拟**:用户可以模拟不同的BACnet服务,如Who-Is、I-Am、ReadProperty...
【标题】:“VTS bacnet”是一个专门针对BACnet协议的可视化测试工具,全称为Visual Test Shell for BACnet。 【描述】:VTS-3.5.2-source是这个软件的源代码版本,它允许用户对BACnet设备进行深入的交互和测试。...
Android 5.0 CTS(Compatibility Test Suite)测试是确保应用程序和设备与Android系统兼容性的重要环节。CTS是Google为了保证Android生态系统的一致性和稳定性而设计的一套全面的测试工具和流程。本官方指导手册详细...
本指南适用于外国籍船舶和中国籍船舶,包括客船、300总吨及以上的其他船舶,但军用船舶、渔业船舶和体育运动船艇除外。 一、VHF程序 在大连海域,VTS服务将分为五个区域:大连湾VTS分区、旅顺新港VTS分区、长兴岛...
【天津港智能VTS系统开发】是针对复式航道管理技术难题的一项创新举措,该系统融合了多种先进技术,包括船舶动态智能识别、智能关联、智能监视和智能推演,旨在提升船舶交通监管和服务效能。系统的主要组成部分有...
【XM2VTS 数据集与 TensorFlow 的结合使用】 XM2VTS 数据集是视频序列识别领域的一个重要资源,尤其在人脸识别、行人检测和行为分析等任务中被广泛应用。该数据集包含了多模态(Multi-modal)的信息,如视觉、声音...
【中国沿海VTS及分道通航规定】是中国在航海领域的重要法规,旨在规范和保障海上交通的安全、高效运行。VTS,全称Vessel Traffic Service(船舶交通服务),是国际上广泛采用的一种海事管理手段,通过岸基设施对船舶...
对于压缩包中的"vts.docx"文件,很可能包含了一份详细的技术报告或设计方案,对vts的原理、实现方法、优势和应用案例进行了阐述。这份文档将是我们深入学习vts的关键资源,通过阅读和分析,可以获取更多具体的技术...
随着技术的不断进步和临床应用的深入探索,VTS4系统有望在更多领域发挥作用,例如,在教育、娱乐等行业中推广使用,为更广泛的用户提供高质量的视觉训练服务。 总之,美国VTS4弱视训练软件系统凭借其创新的技术理念...
Nginx-Module-VTS是Nginx的一个增强模块,主要功能是提供详细的Web服务器访问统计和性能监控。Prometheus是一款流行的开源监控和警报工具,广泛用于收集和分析各种系统的指标。在本场景中,Nginx-Module-VTS与...
VTS,全称可能是"BACnet Test Suite",是一款用于测试和验证BACnet协议实现的软件工具。这个特定的版本"r1015"表明这是该工具的第1015次提交,可能代表着源代码库中的一个里程碑。"trunk"通常在版本控制系统中指的是...
《电动汽车整车技术规范VTS模板解析》 电动汽车作为未来交通出行的重要方向,其技术规范的制定对于产品质量、安全性能及市场竞争力具有决定性影响。VTS(Vehicle Technical Specification)是汽车行业内的一种技术...
Android CTS(Compatibility Test Suite)是Google为确保Android设备与应用程序之间的兼容性而设计的一套测试框架。在Android系统中,CTS扮演着至关重要的角色,它确保了不同制造商生产的设备在运行Android应用时能...