【安卓】安卓xTS之Media模块 学习笔记(1) xTS介绍

0. 声明

因为安卓的迭代比较快,大框架更新也是常有的事,
在此单独声明,本系列内容适用于 安卓13/安卓14(2023.12 左右)。
更早的版本和往后的版本不做保证。

1.背景

Media的安卓xTS相关测试和功能修复已经进行了一段时间了。
在此整理总结下xTS工作总结,留待后续查阅整理。

2. xTS介绍 - 什么是xTS

谷歌的xTS是对谷歌发布的CTS/GTS/VTS/STS/BTS/CTS-on-GSI等一系列测试的统称。
因为安卓系统比较庞大,模块多,并且维护者、参与厂家、贡献者都很多。
为了确保安卓系统的正常功能,谷歌发布了xTS测试系统。
作为安卓的伴生测试系统,xTS为安卓内部各个模块各个层级提供了大量的测试用例,用以维护安卓的兼容性和功能正确。

2.1 CTS

介绍

CTS(Compatibility Test Suite)是Android设备的兼容性测试,主要测试apk与framwork之间的兼容性,测试Android设备是否符合Android系统的兼容性要求。
CTS测试包括_CTS基本测试_和_CTS Verifier测试_两部分,后者是前者的补充,CTS检查的是API和功能,而CTS Verifier是测试在静态设备上测试无法自动测试的API和功能,例如音频质量,触摸屏,加速度计,相机等等
在CTS测试中,会运行和安装一系列dex和APK文件,模拟不同的场景,测试Android标准的接口是否正常返回。通过CTS测试的设备可以获得Android的商标,并享受Android Market的权限。
CTS是xTS测试中比较重要的一项,且测试内容比较全面,case数量众多。CTS会模拟apk的各种行为来测试framework的接口。
CTS的通过意味着基本可以提供安卓系统所要求的功能,在这个系统上,通用的apk都可以正常运行。

测试内容

安卓CTS测试内容|500

这个表列的比较详细了,包含签名,接口测试,Dalvik虚拟机 等等,测的是比较详细的。

部署方式

简单介绍下CTS的部署情况,在PC主机上下载CTS测试套件。PC主机最好是linux,谷歌原生支持,如果是windows就需要做一些魔改才能实现。
然后通过USB连接安卓待测设备。
然后在PC主机上安装依赖的环境(AAPT、JDK、ADB……),之后运行CTS Trade Federation自动化测试框架,CTS会从测试包里通过ADB push 一些测试软件(单独的测试用例是用java语言编写的JUnit测试,并打包成Android.apk)和资源文件到安卓待测机中,并进行运行。
运行过程中,PC主机会实时的去监控一些状态,抓取logcat等日志。
等待测试完成后,通过ADB把测试结果抓出来。

在这里插入图片描述

CTS的测试包可以自行编译,或从安卓官网下载 (媒体测试需要另外下载 CTS媒体测试包)

  • 下载地址:兼容性测试套件下载 | Android 开源项目 | Android Open Source Project
    请添加图片描述
    arm架构的待测机就下载 兼容性测试套件 (CTS) - ARM 后缀的,下下来是个尾缀linux_x86-arm的zip包,表示这个包只能在x86的Linux上运行,用于测试arm架构的设备。
    请添加图片描述

2.2 VTS

VTS(vendor test suite),意为供应商测试套件。主要测试Framework与Vendor的HAL层实现之间的兼容性,主要通过AIDL或者HIDL接口。
如图所示,VTS主要测试的是Framework到vendor这一层的接口。
vendor这一层的实现主要是芯片厂家维护,通过AIDL/HIDl接口供Framework调用的。
VTS的测试没有CTS那么全面,VTS的更多的是测试一下vendor接口和少量功能,可以看做是CTS的基础吧。VTS能通过,代表vendor已经提供了最基础的功能接口(接口里的功能是否正确还不确定,至少是接口已经有了)

xTS|400

2.3 GTS

GTS(Google Test Suite)是Google为Android设备提供的测试套件,主要是为了测试Android设备是否符合Google的服务要求。在GTS测试中,会测试Google的各种服务,如Google Play商店、Google地图、YouTube等,以确保这些服务在Android设备上能够正常运行。GTS测试旨在保证Android设备能够提供最佳的用户体验,并确保Google的服务能够在各种设备上稳定运行。

2.4 NTS

对于TV类型的产品,除了上述的VTS、CTS和GTS测试外,还需要进行Netflix认证(NTS)。NTS认证主要是为了确保Android设备的硬件和软件都符合Netflix的要求,以保证用户在使用Netflix应用时能够获得最佳的观影体验。

2.5 STS

STS(Android Security Test Suite)是谷歌关于android安全补丁安装情况的一个测试套件STS和security patch相关的,是CTS测试新增加一项安全测试套件。

2.6 GSI

GSI(Generic system image)— Reference AOSP system image通用系统映像上的兼容性测试套件
这个文件包也是签约获取授权后才能获取,Google也会定期更新GSI包Android O要求测试VTS和CTS on GSI,此时对应版本必须是GSI版本,测试包都为VTS。

2.7 其他

3. 参考文档

  • 谷歌官网介绍页面:兼容性测试套件 | Android 开源项目 | Android Open Source Project
  • AndroidTV CTS/VTS/GTS/STS_gts有多少modules和cases-CSDN博客
  • CTS/GTS/STS/VTS/CTS-Verifier_sts测试

4. 系列

  • 【安卓】安卓xTS之Media模块 学习笔记(1) xTS介绍
  • 【安卓】安卓xTS之Media模块 学习笔记(2) xTS环境部署(windows)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/157552.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言小游戏:三子棋

目录 🌍前言 🚅目录设计 💎游戏逻辑设置 ⚔三子棋棋盘设计 ⚔三子棋运行逻辑 👀怎么设置人下棋 👀怎么设置电脑下棋 ✈如何判断输赢 ✍结语 🌍前言 Hello,csdn的各位小伙伴你们好啊!这次小赵给大…

问题:HTTP method names must be tokens

问题:HTTP method names must be tokens 2023-12-04T09:43:16.65408:00 INFO 7808 --- [nio-6600-exec-1] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request headerNote: further occurrences of HTTP request parsing errors will be logg…

freeRTOS创建任务

一.动态创建任务 1.函数xTaskCreate() BaseType_t xTaskCreate( TaskFunction_t pxTaskCode, // 函数指针, 任务函数const char * const pcName, // 任务的名字const configSTACK_DEPTH_TYPE usStackDepth, // 栈大小,单位为word,10表示40字节void * const pvParameters, // …

rust入门(rust教程、rust安装方法)

文章目录 Rust开发入门Rust的特性Rust的应用场景Rust安装——环境配置1. 安装rustup具体执行步骤 2. 验证安装 Rust的卸载基本语法变量与数据类型控制流函数 Rust的所有权系统错误处理实战:构建一个小项目创建新项目编写代码运行项目安装相关链接器运行 删除项目 Ru…

【云原生 | Docker】Docker核心概念 应用上手最佳流程

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

Unity版本使用情况统计(更新至2023年10月)

本期UWA发布的内容是第十三期Unity版本使用统计,统计周期为2023年5月至2023年10月,数据来源于UWA网站(www.uwa4d.com)性能诊断提测的项目。希望给Unity开发者提供相关的行业趋势,了解近半年来哪些Unity版本的使用概率更…

ESP32-Web-Server编程-通过 Web 下载文本

ESP32-Web-Server编程-通过 Web 下载文本 概述 当你希望通过网页导出设备的数据时,可以在 ESP32 上部署一个简单的文件 Web 服务器。 需求及功能解析 本节演示如何在 ESP32 上部署一个最简单的 Web 服务器,来接收浏览器或者 wget 指令请求文件数据。…

基于APM(PIX)飞控和mission planner制作遥控无人车-从零搭建自主pix无人车普通舵机转向无人车-1(以乐迪crossflight飞控为例)

1.前期准备 准备通过舵机转向的无人车地盘、遥控器、地面站电脑、飞控等。安装驱动程序、端口程序、netframwork等,不再赘述。 2.安装固件 安装ardurover固件,如果在线失败,选择官方最新的固件下载到本地,选择本地安装。 3.调试…

qt使用wimlib-imagex,做windows系统备份还原

wimlib-imagex是个第三方工具,可对系统映像进行操作,下载地址: https://wimlib.net/downloads/index.html 程序主要用到以下这两个文件:libwim-15.dll和wimlib-imagex.exe wimlib-imagex.exe的调用命令参数,可以通过…

python爬虫非对称加密RSA案例:某观鸟网站

声明: 该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关 一、找出需要加密的参数 js运行 atob(‘aHR0cDovL2JpcmRyZXBvcnQuY24vaG9tZS9hY3Rpdml0eS9wYWdlLmh0bWw’) 拿到网址&#xf…

【离散数学】——期末刷题题库(集合)

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

如何使用Node.js快速创建本地HTTP服务器并实现异地远程访问

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…

php之zip文件中压缩、解压、增加文件、删除

官方文档 PHP: Zip - Manual 在PHP中,zip扩展提供了处理ZIP文件的功能。它允许你创建、读取、更新和提取ZIP文件。 首先,确保你的PHP环境已经安装了zip扩展。你可以在php.ini文件中找到以下行来检查: extensionzip 如果没有注释掉&#xf…

Linux系统下Nginx的安装步骤

目录 Nginx简介Nginx的作用Nginx的安装方法方法一方法二方法三 本文主要介绍在Linux系统下,三种常见Nginx安装方法。 Nginx简介 Nginx是一个高性能的HTTP和反向代理服务器,也可以作为邮件代理服务器和通用的TCP/UDP代理服务器。它最初由Igor Sysoev创建…

10、SQL注入——数据库基础

文章目录 一、数据库概述二、数据库分类Mysql数据库连接方法 三、识别数据库四、SQL语法4.1 SQL基本语法4.2 高级操作 一、数据库概述 数据库(database):存储在磁盘、磁带、光盘或其他外存介质上、按一定结构组织在一起的相关数据的集合。数…

JS浮点数精度问题及解决方案

前端面试大全JS浮点数精度问题及解决方案 🌟经典真题 🌟浮点数精度常见问题 🌟为什么会有这样的问题 🌟真题解答 🌟总结 🌟经典真题 为什么 console.log(0.20.10.3) 得到的值为 false 🌟…

kk(kubeadmin)在麒麟与centos安装k8s集群踩坑记录

4台机器的集群两台centos,两台麒麟v10 问题1.执行到集群和节点加入集群时候报错 ERRO[18:48:06 CST] Failed to add master to cluster: Failed to exec command: sudo env PATH$PATH:/sbin:/usr/sbin /bin/sh -c “/usr/local/bin/kubeadm join --config/etc/kube…

css实现正六边形嵌套圆心

要实现一个正六边形嵌套圆心,可以使用CSS的::before和::after伪元素以及border-radius属性。以下是具体的解析和代码: 使用::before和::after伪元素创建正六边形。设置正六边形的背景色。使用border-radius属性使正六边形的内角为60度。在正六边形内部创…

网络安全(二)-- Linux 基本安全防护技术

4.1. 概述 安全防护基础主要是会用Linux系统, 熟悉Linux基本操作命令。 在这个章节中,我们主要探讨自主访问控制(许可位、ACL)、文件属性、 PAM技术、能力机制等。 4.1.1. 补充命令 本章节中,涉及一些新的命令&#…

丢掉破解版,官方免费了!!!

哈喽!大家好。 几天不见,今天给大家带来一款海外的神器,官方宣布完全免费,但仅限于个人与教育用途,切勿商用噢! 不要看这个软件名字普普通通,实际上内蕴乾坤! 接下来看我给大家炫一…
最新文章