设备状态监视器

public interface IDeviceStateMonitor

com.android.tradefed.device.IDeviceStateMonitor


提供用于监视IDevice状态的工具。

当前,当且仅当四个事件为 true 时,设备才被视为“可用”: 1. 设备在线,即通过 DDMS/adb 可见( waitForDeviceOnline() 2. 设备已设置 dev.bootcomplete 标志 (@link #waitForBootComplete(long)} 3. 设备的包管理器有响应(可能处于 inop) 4. 设备的外部存储已安装 3. 和 4. 是waitForDeviceAvailable()的一部分。

概括

公共方法

abstract TestDeviceState getDeviceState ()

获取设备状态。

abstract String getFastbootSerialNumber ()

获取快速启动模式序列号。

abstract String getMountPoint (String mountName)

返回一个挂载点。

abstract String getSerialNumber ()

获取设备的序列号。

abstract boolean isAdbTcp ()
abstract void setDefaultAvailableTimeout (long timeoutMs)

waitForDeviceAvailable()中设置等待设备可用的时间(以毫秒为单位)。

abstract void setDefaultOnlineTimeout (long timeoutMs)

waitForDeviceOnline()中设置等待设备上线的时间(以毫秒为单位)。

abstract void setFastbootSerialNumber (String serial)

设置快速启动模式序列号。

abstract void setIDevice (IDevice device)

更新当前的 IDevice。

abstract void setState ( TestDeviceState deviceState)

设置设备当前状态。

abstract boolean waitForBootComplete (long waitTime)

阻塞直到设置设备的启动完成标志

abstract IDevice waitForDeviceAvailable ()

等待设备响应并可用于测试。

abstract IDevice waitForDeviceAvailable (long waitTime)

等待设备响应并可用于测试。

default IDevice waitForDeviceAvailableInRecoverPath (long waitTime)

在恢复路径期间调用waitForDeviceAvailable(long)的特殊变体以定制处理。

abstract boolean waitForDeviceBootloader (long waitTime)

等待设备进入引导加载程序。

abstract void waitForDeviceBootloaderStateUpdate ()

等待设备引导加载程序状态刷新

abstract boolean waitForDeviceFastbootd (String fastbootPath, long waitTime)

等待设备进入 fastbootd。

abstract boolean waitForDeviceInRecovery (long waitTime)

等待设备处于“adb recovery”状态

abstract IDevice waitForDeviceInRecovery ()

使用标准启动超时等待设备进入恢复模式。

abstract boolean waitForDeviceInSideload (long waitTime)

等待设备处于“adb sideload”状态

abstract boolean waitForDeviceNotAvailable (long waitTime)

等待设备不可用

abstract IDevice waitForDeviceOnline ()

使用标准启动超时等待设备上线。

abstract IDevice waitForDeviceOnline (long time)

等待设备上线。

abstract boolean waitForDeviceShell (long waitTime)

等待设备响应基本的 adb shell 命令。

公共方法

获取设备状态

public abstract TestDeviceState getDeviceState ()

获取设备状态。

退货
TestDeviceState设备的TestDeviceState

获取Fastboot序列号

public abstract String getFastbootSerialNumber ()

获取快速启动模式序列号。

退货
String

获取挂载点

public abstract String getMountPoint (String mountName)

返回一个挂载点。

如果IDevice中的缓存信息不可用,则直接查询设备。

TODO:将此行为移至IDevice#getMountPoint(String)

参数
mountName String : 挂载点的名称

退货
String挂载点或null

投掷
DeviceNotAvailableException

也可以看看:

获取序列号

public abstract String getSerialNumber ()

获取设备的序列号。

退货
String

是AdbTcp

public abstract boolean isAdbTcp ()

退货
boolean如果设备通过 tcp 连接到 adb, true

设置默认可用超时

public abstract void setDefaultAvailableTimeout (long timeoutMs)

waitForDeviceAvailable()中设置等待设备可用的时间(以毫秒为单位)。

参数
timeoutMs long

设置默认在线超时

public abstract void setDefaultOnlineTimeout (long timeoutMs)

waitForDeviceOnline()中设置等待设备上线的时间(以毫秒为单位)。

参数
timeoutMs long

设置快速启动序列号

public abstract void setFastbootSerialNumber (String serial)

设置快速启动模式序列号。

参数
serial String

设置设备

public abstract void setIDevice (IDevice device)

更新当前的 IDevice。

设置状态

public abstract void setState (TestDeviceState deviceState)

设置设备当前状态。

等待启动完成

public abstract boolean waitForBootComplete (long waitTime)

阻塞直到设置设备的启动完成标志

参数
waitTime long :等待的时间(以毫秒为单位)

退货
boolean

等待设备可用

public abstract IDevice waitForDeviceAvailable ()

等待设备响应并可用于测试。

相当于waitForDeviceAvailable(long) ,但使用默认设备启动超时。

退货
IDevice如果设备在时间到期之前上线,则IDevice 。否则为null

等待设备可用

public abstract IDevice waitForDeviceAvailable (long waitTime)

等待设备响应并可用于测试。目前这意味着包管理器和外部存储可用。

参数
waitTime long :等待时间(以毫秒为单位)

退货
IDevice如果设备在时间到期之前上线,则IDevice 。否则为null

waitForDeviceAvailableInRecoverPath

public IDevice waitForDeviceAvailableInRecoverPath (long waitTime)

在恢复路径期间调用waitForDeviceAvailable(long)的特殊变体以定制处理。

参数
waitTime long

退货
IDevice

投掷
DeviceNotAvailableException如果设备变得不可用。

等待设备引导加载程序

public abstract boolean waitForDeviceBootloader (long waitTime)

等待设备进入引导加载程序。

参数
waitTime long :等待的最长时间(以毫秒为单位)

退货
boolean如果设备在时间到期之前处于引导加载程序中,则为true

waitForDeviceBootloaderStateUpdate

public abstract void waitForDeviceBootloaderStateUpdate ()

等待设备引导加载程序状态刷新

等待设备快速启动

public abstract boolean waitForDeviceFastbootd (String fastbootPath, 
                long waitTime)

等待设备进入 fastbootd。

参数
fastbootPath String :要使用的 fastboot 二进制文件的路径。

waitTime long :等待的最长时间(以毫秒为单位)

退货
boolean如果设备在时间到期之前处于 fastbootd 状态, true

等待设备恢复

public abstract boolean waitForDeviceInRecovery (long waitTime)

等待设备处于“adb recovery”状态

参数
waitTime long :等待的最长时间(以毫秒为单位)

退货
boolean如果设备在超时前处于恢复状态,则为 True,否则为 False。

等待设备恢复

public abstract IDevice waitForDeviceInRecovery ()

使用标准启动超时等待设备进入恢复模式。

退货
IDevice如果设备在时间到期之前恢复,则IDevice 。否则为null

waitForDeviceInSideload

public abstract boolean waitForDeviceInSideload (long waitTime)

等待设备处于“adb sideload”状态

参数
waitTime long :等待的最长时间(以毫秒为单位)

退货
boolean如果设备在超时之前处于旁加载状态,则为 True,否则为 False。

等待设备不可用

public abstract boolean waitForDeviceNotAvailable (long waitTime)

等待设备不可用

参数
waitTime long :等待的最长时间(以毫秒为单位)

退货
boolean如果设备不可用则为true

等待设备在线

public abstract IDevice waitForDeviceOnline ()

使用标准启动超时等待设备上线。

注意:一旦设备通过 DDMS 可见,此方法就会返回。它不保证设备实际上响应 adb 命令 - 请改用waitForDeviceAvailable()

退货
IDevice如果设备在时间到期之前上线,则IDevice 。否则为null

等待设备在线

public abstract IDevice waitForDeviceOnline (long time)

等待设备上线。

注意:一旦设备通过 DDMS 可见,此方法就会返回。它不保证设备实际上响应 adb 命令 - 请改用waitForDeviceAvailable()

参数
time long :等待的最长时间(以毫秒为单位)

退货
IDevice如果设备在时间到期之前上线,则IDevice 。否则为null

等待设备外壳

public abstract boolean waitForDeviceShell (long waitTime)

等待设备响应基本的 adb shell 命令。

参数
waitTime long :等待时间(以毫秒为单位)

退货
boolean如果设备在waitTime过去之前变得响应,则为true