GMS 设备兼容性测试命令,文档分析与注释

文档分析与注释

1. 设备兼容性测试命令
# 运行GTS测试套件中的特定模块
run gts -m GtsEdiHostTestCases

# 运行CTS测试套件中的API签名测试
run cts -m CtsCurrentApiSignatureTestCases -t android.signature.cts.api.SignatureTest#testSignature

# 运行CTS安全测试套件
run cts -m CtsSecurityTestCases -s

# 运行GTS设备管理测试(SMR = System Management Release)
run gts-smr -s

# 运行STS增量安全测试
run sts-dynamic-incremental -s
  • 用途:这些命令用于执行Android兼容性测试套件(CTS)、Google测试套件(GTS)和安全测试套件(STS),验证设备是否符合Android兼容性和安全标准。

2. 设备属性查询命令
# 获取设备指纹(标识系统版本和厂商信息)
adb shell getprop ro.build.fingerprint

# 获取Google移动服务版本
adb shell getprop ro.com.google.gmsversion

# 获取安全补丁版本
adb shell getprop ro.build.version.security_patch

# 查找所有clientidbase属性(用于应用身份验证)
adb shell "getprop | grep clientidbase"

# 获取设备首次支持的API级别
adb shell getprop ro.product.first_api_level

# 获取基础操作系统版本
adb shell getprop ro.build.version.base_os
  • 用途:收集设备关键信息,用于验证系统合规性、安全更新状态和身份标识。

3. GSI版本标识
git_tm-gsi-release        # Treble Mainline GSI版本
git_sc-v2-gsi-release     # Security Controller v2 GSI版本
git_sc-gsi-release        # Security Controller GSI版本
git_rvc-gsi-release       # RISC-V兼容GSI版本
git_qt-gsi-release        # Qualcomm特定GSI版本
  • 用途:标识不同场景下的Generic System Image (GSI) 版本,用于测试通用系统镜像兼容性。

4. CTS Verifier数据操作
# 备份CTS Verifier应用数据
adb backup -f F.bak com.android.cts.verifier

# 恢复CTS Verifier应用数据
adb restore F.bak
  • 用途:在CTS验证过程中保存/恢复测试进度和数据。

5. 系统工具安装
# 安装exFAT文件系统支持工具
sudo apt-get install exfat-fuse
  • 用途:解决Linux系统无法识别exFAT格式硬盘的问题。

6. 测试配置参数
--abi armeabi-v7a         # 指定ARM 32位架构测试
--abi arm64-v8a           # 指定ARM 64位架构测试

# 失败重试策略(最多100次)
--retry-strategy RETRY_ANY_FAILURE --max-testcase-run-count 100
  • 用途:控制测试的CPU架构和失败重试行为。

7. CTS Verifier安装配置
# 允许访问隐藏API
adb shell settings put global hidden_api_policy 1

# 绕过低版本SDK安装限制
adb install --bypass-low-target-sdk-block

# 授权读取设备标识符
adb shell appops set com.android.cts.verifier android:read_device_identifiers allow

# 授予外部存储权限
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0

# 启用测试API访问
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
  • 用途:解决CTS Verifier安装和权限问题,确保测试工具正常运行。

8. 摄像头测试
# 使用Python脚本进行摄像头测试
python run_webcam_test.py -c config.yml
  • 用途:自动化摄像头硬件功能验证。

9. 设备管理命令
# 设置设备管理员
adb shell dpm set-device-owner --user 0 com.android.cts.emptydeviceowner/.EmptyDeviceAdmin

# 关闭屏幕自适应亮度
adb shell settings put system screen_brightness_mode 0

# 设置传感器UID状态
adb shell cmd sensorservice set-uid-state com.android.cts.verifier idle
  • 用途:配置设备策略、电源管理和传感器测试环境。

10. GTS交互测试流程
run gts-interactive
# 操作步骤:
# 1. 开启无线调试 → 2. 记录IP和端口 → 3. adb connect IP:端口 → 4. adb devices确认
# 5. 测试时用IP替换SN号
  • 用途:通过ADB无线调试进行交互式GTS测试。

11. STS测试策略
# 完整/增量安全测试
run sts-dynamic-full
run sts-dynamic-full-user
run sts-dynamic-incremental
run sts-dynamic-incremental-user

# 跳过预检条件
--skip-preconditions
  • 用途:执行不同模式的安全测试,--skip-preconditions忽略环境检查。

12. 测试过滤控制
# 包含特定测试模块
run gts --include-filter GtsScreenshotHostTestCases --include-filter GtsHomeHostTestCases -s

# 排除特定模块
--exclude-filter

# 重试未执行的测试
--retry-type NOT_EXECUTED
  • 用途:精确控制测试范围,排除耗时或不相关模块。

13. 验证启动(VBA)
# 检查Verified Boot元数据摘要
ro.boot.vbmeta.digest
  • 用途:验证系统启动完整性。

14. 问题诊断工具
# 生成设备错误报告
adb -s 269862533050012811 bugreport

# 测试失败时自动抓取bugreport
--bugreport-on-failure
  • 用途:收集设备日志用于分析测试失败原因。

15. 高级测试计划管理
# 创建自定义测试计划
add subplan --session 19 --name xx --result-type failed

# 在GSI上运行指定模块
run cts-on-gsi --subplan CtsMediaTestCases
  • 用途:定制化测试策略,针对失败用例或特定模块。

16. 大型测试优化策略
# 首次测试跳过耗时模块
run cts --shard-count 5 ... --exclude-filter CtsDeqpTestCases --exclude-filter CtsDevicePolicyTestCases...

# 后续专项补测媒体模块
run cts --shard-count 2 ... --include-filter CtsMediaAudioTestCases...

# 专项补测设备策略模块
run cts --shard-count 2 ... -m CtsDevicePolicyTestCases
  • 用途:分阶段执行大规模测试,先排除耗时模块提高效率,后续针对性补测。

17. APTS性能测试
# 查看设备指纹
adb -s 9c001611610288d1f85 shell getprop | grep fingerprint

# 执行APTS认证测试
run test/approval-go -s 8c000c4d64450921fda --fingerprint-swap Okin/Tablet_FP/FP290101:13/...

# 冷启动性能测试
run test/approval-go -s 7c00145c06c10991f10 --test-case app-start-cold-3p
  • 用途:进行设备性能认证测试,--fingerprint-swap覆盖设备指纹,--test-case指定性能场景。

文档核心用途总结

此文档是Android设备兼容性测试工程师的速查手册,涵盖:

  1. 标准测试命令(CTS/GTS/STS)
  2. 设备配置与调试技巧
  3. 测试策略优化方法
  4. 常见问题解决方案
  5. 自动化测试脚本
  6. 性能与认证测试流程

适用于设备厂商、ROM开发者或测试团队,用于确保设备通过Google兼容性认证(如GMS认证)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值