Android EDLA CTS、GTS等各项测试命令汇总
文章目录
- [Android EDLA CTS、GTS等各项测试命令汇总](#Android EDLA CTS、GTS等各项测试命令汇总)
-
- 一、前言
- 二、命令汇总
- 三、其他
-
- 1、小结
- 2、测试前的基本准备
- 3、各类型套件资源下载网址
- [4、Android EDLA 认证测试内容详解](#4、Android EDLA 认证测试内容详解)
一、前言
Android EDLA认证中,必须要通过所有GMS认证测试项;
EDLA 设备必须通过所有 GMS 认证测试,测试项主要包括:
| 测试类型 | 主要内容 |
|---|---|
| CTS | Android 兼容性测试,验证 API 符合性和系统功能完整性 |
| GTS | Google 服务测试,确保 GMS(Play 商店、Drive 等)正常运行 |
| VTS | 内核测试、Vulkan 图形性能测试,验证 3D 渲染兼容性 |
| GSI | 烧录通用系统镜像后测试,确保设备支持官方系统更新和系统兼容 |
| STS | 安全测试套件,验证系统安全漏洞 |
| 手动测试 (CTSV/GTSV) | 针对特定功能的人工验证,如摄像头、显示、网络、通知等 |
| BTS | Google系统固件扫描,主要测试代码中的权限是否滥用,签名信息校验 |
| CheckList | 系统属性配置和 Android 版本新特性检查 |
上面的不同测试类型,需要下载不同的测试套件进行测试,测试后会有测试报告。
不同的测试项是对应不同的套件的,并且不同的套件,测试的命令也是有差异的。
本文主要记录一下测试EDLA的不同命令,有需要的可以收藏看看。
二、命令汇总
开始测试前,需要先下载对应的套件解压后,然后进入tool目录,在命令窗口输入./XXX-tradefed,就会进入测试环境;
比如cts测试,需要在android-cts/tools 文件夹下打开命令窗口,在命令窗口执行 ./cts-tradefed,后面就可以测试了。
下面的各模块测试的简单汇总:
cts:
run cts -m XXX [-t XXX] [-s 设备序列名称]
gsi(这个是有点不同):
run cts-on-gsi -m XXX [-t XXX]
gts:
run gts -m XXX [-t XXX]
vts(针对内核的测试,没测过):
run vts -m XXX [-t XXX]
sts(这个是非常不同):
run sts-dynamic-incremental -m XXX [-t XXX]
其他:
//cts 手动项,一般手动项是不需要命令的,只需要安装apk点击测试,只有几个特殊的手动项需要输入命令
run cts-v-host --shard-count 2 -s 设备序列号1 -s 设备序列号2
-m XXX 表示测试模块;不同的模块测试的时间不同,几分钟到几个小时都有;
-t XXX 表示测试模块的某一项;如果模块有很多项,并且报错项比较少,可以只测某一项,比较节省时间;
-s 设备序列名称 表示测试的设备,一个设备测试的话是可以不用的。
下面是几个具体测试示例命令:
你如果配合环境想随便测一个就可以用一下。
cts:
run cts -m CtsDisplayTestCases -t android.display.cts.DisplayTest#testGetMetrics
run cts -m SdkSandboxManagerTests -t com.android.tests.sdksandbox.endtoend.SdkSandboxManagerTest#testSandboxActivityShouldRotateIfNotLocked
gsi(这个是有点不同):
run cts-on-gsi -m CtsMediaEditingTestCases -t android.media.mediaediting.cts.VideoResolutionTest#transformTest[0_transform_avc_1920_1080_to_3840_2160]
run cts-on-gsi -m CtsHibernationTestCases -t android.hibernation.cts.AppHibernationIntegrationTest#testUnusedAppCount
gts:
run gts -m GtsGmscoreHostTestCases -t com.google.android.gts.cast.VirtualDisplayHostTest#testTestPrivateVirtualDisplay
run gts -m GtsPermissionTestCases -t com.google.android.permission.gts.DefaultPermissionGrantPolicyTest#testDefaultGrantsWithRemoteExceptions
vts(针对内核的测试,没测过):
run vts -m elf_alignment_test -t ElfTestPartitionsAligned/ElfAlignmentTest#VerifyLoadSegmentAlignment/7
run vts -m vts_ota_config_test -t VAB#Enabled
sts:
run sts-dynamic-incremental -m CtsSecurityTestCases -t android.security.cts.DynamicPermissionsTest
run sts-dynamic-incremental CtsSecurityBulletinHostTestCases -t android.security.cts.Poc19_03#testPocBug_115739809
常用辅助命令:
l d //查看当前连接的设备名称
l r //查看测试过的测试项列表,可以通过taskId,retry 某一个测试项
l c //查看当前测试任务
run retry --retry XXXTaskId //通过l r查看上次测试项id,可以重复测试未通过的项目。
run cts --shard-count 4 -s xxx1 -s xxx2 -s xxx3 -s xxx4 //四个设备同时跑CTS
其他辅助命令查看:
cts-console > l
Missing required subcommand
Usage: list
List invocations, devices, modules, etc.
Commands:
help Display help information about the specified command.
commands, c List all commands currently waiting to be executed
devices, d List all detected or known devices. Use "list devices all"
to list all devices including placeholders.
invocations, i List all invocation threads
modules, m List all modules available, or all modules matching the
given module parameter.
plans, p, configs List all plans/configs available
results, r List all results
subplans, s List all available subplans
cts-console > l i
cts-console > list i
cts-console > l c
cts-console >
进入cts 运行环境后,输入list 或者简写l 可以看到支持的命令列表;
上面就有l c, l d,l r这些常用的;还有一些其他的命令。
其中还有个l m可以查看当前所有的模块列表,这个会比较多,如果想随便测一个也可以试试。
三、其他
1、小结
核心命令结构:
./xxx-tradefed run <测试类型> -m <模块名> -t <测试类/方法> --serial <设备序列号>,其中 xxx 对应 cts/gts/vts。
高效测试策略:
优先执行 EDLA 定向模块具体项测试(而非全量),失败后用--continue-session续跑,减少重复耗时。
2、测试前的基本准备
环境配置:
1.adb烧录线连接大屏
2.原生设置系统中打开开发者选项:
2.1 打开Stay awake
2.2 打开USB debugging
2.3 关闭Verify apps over USB
3.连接外网WIFI
4.中性设置中关闭无操作待机
5.设置系统语言为英文(默认语言)
6.工厂菜单烧录Attestation Key,提取csr.json文件上传谷歌
参考:https://blog.csdn.net/m0_63526467/article/details/151573114
3、各类型套件资源下载网址
(1) CTS:
下载地址:https://source.android.com/docs/compatibility/cts/downloads
(2)CTS Verifier
下载地址:https://source.android.com/docs/compatibility/cts/downloads
(3)GSI:(选择软件对应的SPL月份进行下载,可找系统工程师确认SPL的月份)
下载地址:https://docs.partner.android.com/gms/testing/vts#arm-gsi-files_1
(4)GKI:
下载地址:https://docs.partner.android.com/gms/testing/vts#arm-gki-files_1
(5)VTS:
下载地址:https://docs.partner.android.com/gms/testing/vts#vts_1
(6)GTS:
下载地址:https://docs.partner.android.com/gms/testing/gts
(7)STS
下载地址:https://drive.google.com/drive/folders/1xqPTtC6MWiQizfFVdG7Ho0f2oGsmH0e-
解压包解压密码为sts
上面的网址试过都是可以打开并且下载资源的;
如果无法打开可以确认下:
1、网络是否是VPN网络;
2、是否已经登录的Google账号;或者权限不够,有些资源是需要高权限账号才能进入的。
3、如果看不到最新版本的,可以切换到英文状态。
比如上传BTS、CSR文件的google账号必须是跟Google特殊申请通过的账号才有权限登录:
https://partner.android.com/approvals/
4、Android EDLA 认证测试内容详解
EDLA(Enterprise Device Licensing Agreement)是 Google 专为企业级 Android 设备设计的认证协议,
是 MADA(Mobile Application Distribution Agreement)的补充,
特别针对两类设备:无电池设备(如工业控制终端、数字标牌)和屏幕尺寸大于 18 英寸的设备(如交互式平板、OPS 电脑),屏幕尺寸最大可达 70 英寸。
核心目标:确保设备能安全集成 Google 服务,支持企业级管理功能,满足商业环境的高安全性和管控需求。
也就是说如果需要销售到全球,公司的大屏产品必须是要进行EDLA认证的。
本文主要介绍EDLA认证测试的基本概念内容。
主要认证测试的主要内容除了: CTS、GTS、VTS ,还有一些其他的。
https://blog.csdn.net/wenzhi20102321/article/details/155618324