Tradefed 中的设备状态

Android 设备

Tradefed 中的 Android 设备可以经历通过设备管理器提供的几种状态。Android 设备有两大类状态:分配状态和在线状态。

您可以使用 l dlist devicesTradefed 控制台中检查所有这些状态。

tf >l d
Serial        State         Allocation   Product   Variant   Build    Battery
84TX0081B     ONLINE        Available    blueline  blueline  MASTER   100
HT6550300002  ONLINE        Available    sailfish  sailfish  MASTER   94
876X00GNG     UNAUTHORIZED  Unavailable  unknown   unknown   unknown  unknown
HT6570300047  UNAUTHORIZED  Unavailable  unknown   unknown   unknown  unknown

分配状态

分配状态是 Tradefed 特有的状态,用于监控设备使用情况。这种状态由 DeviceAllocationState 进行描述,可以是以下任意一项:

  • UNKNOWN:过渡期间使用的中间状态,用于决定是否应从跟踪列表中移除设备。当某个设备与 adb 断开连接时,会发生这种情况。
  • IGNORED:无法为 TF 会话选择设备,因为已将其过滤掉。TF 很可能是在导出了 ANDROID_SERIAL 的情况下启动的,因此限制了可以选取的设备的范围。
  • AVAILABLE:设备已可供您为测试选择。
  • UNAVAILABLE:设备已连接,但尚未准备好运行测试。此状态通常在 adb 中显示为 offline
  • ALLOCATED:设备当前正在运行测试,无法选择。
  • CHECKING_AVAILABILITY:设备刚刚连接,TF 检查它是否正常在线且可供使用。如果不正常在线,将无法使用。

在线状态

在线状态表示 adb devices 看到的设备的实际状态。这种状态由 TestDeviceState 进行描述,可以是:

  • FASTBOOT
  • ONLINE
  • RECOVERY
  • NOT_AVAILABLE

Tradefed 在线状态关联到我们使用的底层 adb 库,即 ddmlib。该库使用 DeviceState 来描述状态。