You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Android CTS测试执行后结果全为0,无法正常运行求助

解决CTS测试结果全为0的问题

遇到这种测试结果全为0的情况,大概率是测试根本没真正跑起来,我来给你梳理几个常见的排查方向:

  • 先确认测试类是否存在
    有时候可能是拼写错误或者测试类在当前CTS版本里已经被调整了。你可以先运行cts --list-tests android.display.cts来查看这个包下所有可用的测试类,看看有没有DisplayTest。如果找不到,那要么是你打错了类名,要么是这个测试类已经被重命名或移除了,需要对应调整命令里的类路径。

  • 检查设备连接状态
    确保你的设备已经被CTS正确识别:

    1. 先在命令行跑adb devices,确认设备处于device状态,不是offline或者未列出。
    2. 启动CTS的时候,留意控制台输出,看有没有成功连接到设备的提示。如果设备连接有问题,CTS可能会跳过所有测试,导致结果全0。另外,确保没有其他adb进程占用设备(比如其他调试工具)。
  • 查看测试类是否有可执行的测试方法
    有些测试类可能只是个基类,没有实际的@Test注解测试方法,或者所有方法都被@Ignore标记了。你可以加-v参数跑测试,输出详细日志:cts -c android.display.cts.DisplayTest -v,看看日志里有没有类似"no tests found"的提示,如果有,那这个类确实没有可执行的测试,得换其他测试类。

  • 匹配CTS版本和设备Android版本
    CTS版本和设备的API级别不兼容也会导致测试无法执行。先通过adb shell getprop ro.build.version.sdk查看设备的API版本,然后确认你用的CTS版本是不是对应这个API级别。比如设备是Android 12(API 31),就不能用针对Android 10(API 29)的CTS包,否则很多测试类会不存在或者无法运行。

  • 检查权限或系统限制
    部分显示相关的测试可能需要特殊的系统权限,或者设备处于特定状态(比如屏幕未休眠、没有锁屏)。你可以先确保设备处于解锁状态,屏幕保持常亮,然后查看CTS的详细日志,有没有权限被拒绝或者测试被跳过的提示。如果是权限问题,可能需要手动通过adb shell pm grant命令授予对应的权限。

内容的提问来源于stack exchange,提问作者IVGreen

火山引擎 最新活动