Google 致力于为黑人社区推动种族平等。查看具体举措

使用 CTS 验证程序

Android 兼容性测试套件验证程序(CTS 验证程序)是对兼容性测试套件 (CTS) 的补充。CTS 可用于检测可以实现自动化测试的 API 和功能,而 CTS 验证程序则可用于测试需要进行手动输入才能在固定设备上测试的 API 和功能(例如音频质量、触摸屏、加速度计、相机等)。

要求

在运行 CTS 验证程序之前,请确保您具有以下设备:

  • 一台已验证 Android API 兼容性(即已成功通过 CTS 测试)的 Android 设备。该设备将作为受测设备 (DUT)。
  • 一台具有 USB 2.0 兼容端口的 Linux 计算机。对 DUT 的所有连接都将通过此端口。
  • 已知可兼容蓝牙、WLAN 直连和 NFC 主机卡模拟 (HCE) 的另一台 Android 设备。
  • 一台配置了接入点名称和密码的 Wi-Fi 路由器。该路由器应该能够断开与互联网的连接,但未关机。

设置

将测试设备的系统导航模式更改为三按钮模式,如下所述:

  1. 打开“设置”。
  2. 导航到系统 > 手势 > 系统导航
  3. 选择任何基于按钮的导航模式,首选三按钮模式(如果可用)。

如需设置 CTS 验证程序测试环境,请按照以下步骤操作:

  1. 在 Linux 计算机上:
    • 在安装 CTS 验证程序之前运行以下命令,以允许访问非 SDK 接口。
      adb shell settings put global hidden_api_policy 1
      
    • 安装 Android Studio
    • 下载与受测 Android 版本匹配的 CTS 验证程序 APK
  2. 将 DUT 连接到 Linux 计算机。
  3. 通过 Linux 计算机上的终端,在 DUT 上安装 CtsVerifier.apk
    adb install -r -g CtsVerifier.apk
    
  4. 对于 Android 10 及更高版本,请运行以下命令以授予应用创建报告的权限。
    adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
    
  5. 对于 Android 11 及更高版本,请运行以下命令,以使得系统可以将报告保存到设备外部顶层目录下的自定义目录中。

    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
    
  6. 确保 DUT 的系统数据和时间已正确设置。

运行

点按 DUT 上的 CTS 验证程序图标,启动 CTS 验证程序应用。

启动器中的 CTS 验证程序图标
图 1. CTS 验证程序图标

该应用显示了适用于手动验证的多个测试集。

CTS 验证程序测试菜单
图 2. CTS 验证程序测试菜单

每项测试均包含一组共同的元素(信息、通过、失败),这些元素位于屏幕底部。

流式视频品质验证程序
图 3. 测试元素
  • 信息 (?)。点按即可显示测试说明。首次打开测试时,系统也会自动显示此按钮。
  • 通过 (✓)。如果 DUT 符合“信息”说明中规定的测试要求,请点按此按钮。
  • 失败 (!)。如果 DUT 不符合“信息”说明中规定的测试要求,请点按此按钮。

一些测试(例如 USB 配件模式和相机校准测试)需要额外的测试设置和说明(详见以下各部分)。

CTS 验证程序 8.0 及以上版本中的 USB 配件模式测试

CTS 验证程序 USB 配件测试
图 4. CTS 验证程序 8.0 及以上版本中的 USB 配件测试程序
CTS 验证程序 USB 配件测试
图 5. CTS 验证程序 8.0 及以上版本中的 USB 配件模式测试

CTS 验证程序 7.x 及以下版本中的 USB 配件模式测试

为了运行 USB 配件测试,您需要配备一台 Linux 计算机来运行 USB 台式机(主机)程序。

  1. 将 DUT 连接到 Linux 计算机。
  2. 在计算机上,执行 CTS 验证程序软件包中的 cts-usb-accessory 程序:
    ./cts-usb-accessory
  3. 等待 DUT 上显示弹出消息,然后选择确定
    CTS 验证程序 USB 配件测试
    图 6. USB 配件测试
  4. 转到 DUT 上 CTS 验证程序应用中的 USB 配件测试。
  5. 在计算机上,通过控制台查看输出。输出示例:
    CTS USB Accessory Tester
    Found possible Android device (413c:2106) - attempting to switch to accessory
    mode...
    Failed to read protocol versionfigure3
    Found Android device in accessory mode (18d1:2d01)...
    [RECV] Message from Android device #0
    [SENT] Message from Android accessory #0
    [RECV] Message from Android device #1
    [SENT] Message from Android accessory #1
    [RECV] Message from Android device #2
    [SENT] Message from Android accessory #2
    [RECV] Message from Android device #3
    [SENT] Message from Android accessory #3
    [RECV] Message from Android device #4
    [SENT] Message from Android accessory #4
    [RECV] Message from Android device #5
    [SENT] Message from Android accessory #5
    [RECV] Message from Android device #6
    [SENT] Message from Android accessory #6
    [RECV] Message from Android device #7
    [SENT] Message from Android accessory #7
    [RECV] Message from Android device #8
    [SENT] Message from Android accessory #8
    [RECV] Message from Android device #9
    [SENT] Message from Android accessory #9
    [RECV] Message from Android device #10
    [SENT] Message from Android accessory #10
    

校准相机视野

使用视野校准程序以适中的精确度快速确定设备的视野。

  1. 设置测试环境:
    1. 在尺寸为 11” x 17”或 A3 的纸张上打印 calibration-pattern.pdf 目标文件。
    2. 将打印出来的图案贴在一个硬质底板上。
    3. 将相机设备和打印出来的目标按如下方位摆放。
      相机打印目标
      图 7. 相机打印目标
  2. 设置目标宽度:
    1. 测量目标图案上两条实线之间的距离(以厘米为单位),以计做打印误差(约 38 厘米)。
    2. 启动校准应用。
    3. 按设置按钮,然后选择“Marker distance”
    4. 测量并输入到目标图案的距离(大约 100 厘米)。
    5. 按后退按钮返回到校准预览。
  3. 检查设备和目标是否已放在图中所示的位置,以及是否在设置对话框中输入了正确的距离。在预览中,图片上会显示一条叠加的垂直线;该垂直线应与目标图案的中心线对齐。透明网格可与其他垂直线配合使用,以确保光轴与目标正交。
  4. 运行校准测试:
    1. 选择图片分辨率(使用左下角的选择器),然后点按屏幕拍摄照片。测试会进入校准模式,并且照片将显示叠加在图片上的两条垂直线。
    2. 确定精确度:
      • 如果这两条线与目标图案上的垂直线是对齐的(误差控制在几厘米之内),则针对选定分辨率报告的视野是准确的。
      • 如果没有对齐,则意味着所报告的视野不准确。要纠正这个问题,请调整屏幕底部的滑块,直到叠加的垂直线尽可能与目标图案对齐。当叠加的垂直线与目标图案图片对齐时,所显示的视野将接近于正确的值。所报告的视野与校准值的误差应在 +/- 1 度范围内。
    3. 按后退按钮,对 DUT 所支持的所有图片分辨率执行上述校准测试操作。

导出结果

完成所有测试后,您可以将结果另存为报告并下载到计算机上。报告名称会自动加上基于 DUT 系统时间的时间戳。

  1. 点按保存(磁盘)图标。
    CTS 验证程序保存图标
    图 8. CTS 验证程序保存图标
  2. 等待弹出消息显示报告保存路径(例如 /sdcard/verifierReports/ctsVerifierReport-date-time.zip),然后记录该路径。
    CTS 验证程序的报告保存路径
    图 9. CTS 验证程序报告保存路径
  3. 将 DUT 连接到 Linux 计算机。
  4. 通过在 Linux 计算机上安装的 Android SDK,使用 adb shell content readadb pull CTSVerifierReportPath 在已连接的设备中下载报告。
    • 对于 Android 7.x 及更高版本,请使用以下命令下载所有报告:
      adb pull /sdcard/verifierReports
      
    • 对于 Android 6.0 及更低版本,请使用以下命令下载所有报告:
      adb pull /mnt/sdcard/ctsVerifierReports/
      
    • 对于 Android 10 及更高版本,如果是以次要用户身份运行车载系统和设备,请使用以下命令下载最新报告:

      adb shell content read --user CURRENT_USER --uri
      content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zip

      如需列出所连接的设备中提供的所有报告,请运行以下命令:

      adb shell content query --user CURRENT_USER --uri
      content://com.android.cts.verifier.testresultsprovider/reports

      如需下载列表中的报告,您可以指定行 ID 或文件名。例如:

      adb shell content read --user CURRENT_USER --uri
      content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip
      adb shell content read --user CURRENT_USER --uri
      content://com.android.cts.verifier.testresultsprovider/reports/ctsVerifierReport-date-time.zip > report.zip
  5. 如需清除通过/失败结果,请在 CTS 验证程序应用中选择这些结果,然后依次选择“Menu”>“Clear”。