IDeviceStateMonitor
public interface IDeviceStateMonitor
com.android.tradefed.device.IDeviceStateMonitor |
提供用于监视IDevice
状态的工具。
当且仅当四个事件为真时,设备当前才被视为“可用”:1. 设备在线,也就是通过 DDMS/adb 可见( waitForDeviceOnline()
2. 设备设置了 dev.bootcomplete 标志(@link #waitForBootComplete(long)} 3. 设备的包管理器有响应(可能是 inop) 4. 设备的外部存储已安装 3. & 4. 是waitForDeviceAvailable()
的一部分。
概括
公共方法 | |
---|---|
abstract TestDeviceState | getDeviceState () 获取设备状态。 |
abstract String | getFastbootSerialNumber () 获取 fastboot 模式序列号。 |
abstract String | getMountPoint (String mountName) 返回挂载点。 |
abstract String | getSerialNumber () 获取设备的序列号。 |
abstract boolean | isAdbTcp () |
abstract void | setDefaultAvailableTimeout (long timeoutMs) 在 |
abstract void | setDefaultOnlineTimeout (long timeoutMs) 在 |
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) 在恢复路径期间调用 |
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 命令。 |
公共方法
getFastbootSerialNumber
public abstract String getFastbootSerialNumber ()
获取 fastboot 模式序列号。
退货 | |
---|---|
String |
获取挂载点
public abstract String getMountPoint (String mountName)
返回挂载点。
如果IDevice
中的缓存信息不可用,则直接查询设备。
TODO:将此行为移至IDevice#getMountPoint(String)
参数 | |
---|---|
mountName | String : 挂载点的名称 |
退货 | |
---|---|
String | 挂载点或null |
投掷 | |
---|---|
DeviceNotAvailableException |
获取序列号
public abstract String getSerialNumber ()
获取设备的序列号。
退货 | |
---|---|
String |
isAdbTcp
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 |
setFastbootSerialNumber
public abstract void setFastbootSerialNumber (String serial)
设置快速启动模式序列号。
参数 | |
---|---|
serial | String |
设置设备
public abstract void setIDevice (IDevice device)
更新当前 IDevice。
等待启动完成
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 ()
等待设备引导加载程序状态被刷新
waitForDeviceFastbootd
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 。 |