IDeviceStateMonitor
public
interface
IDeviceStateMonitor
com.android.tradefed.device.IDeviceStateMonitor |
提供用于监控 IDevice
状态的设施。
只有当以下四个事件均为 true 时,设备才会被视为“可用”:
1. 设备处于在线状态,即可通过 DDMS/adb 看到(waitForDeviceOnline()
2. 设备已设置 dev.bootcomplete 标志(@link #waitForBootComplete(long)}
3. 设备的软件包管理器响应迅速(可能无法运行)
4. 挂载设备的外部存储空间
3. 和 4. 属于 waitForDeviceAvailable()
。
摘要
公共方法 | |
---|---|
default
void
|
attachFinalState(TestDeviceState finalState)
附加最终状态以在达到时中止 waitForDeviceState。 |
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)
设置 fastboot 模式序列号。 |
abstract
void
|
setIDevice(IDevice device)
更新当前 IDevice。 |
abstract
void
|
setState(TestDeviceState deviceState)
设置设备当前状态。 |
abstract
boolean
|
waitForBootComplete(long waitTime)
阻塞,直到设备的启动完成标志设置完毕 |
abstract
IDevice
|
waitForDeviceAvailable(long waitTime)
等待设备响应并可供测试。 |
abstract
IDevice
|
waitForDeviceAvailable()
等待设备响应并可供测试。 |
default
IDevice
|
waitForDeviceAvailableInRecoverPath(long waitTime)
|
abstract
boolean
|
waitForDeviceBootloader(long waitTime)
等待设备进入引导加载程序。 |
abstract
void
|
waitForDeviceBootloaderStateUpdate()
等待设备引导加载程序状态刷新 |
abstract
boolean
|
waitForDeviceFastbootd(String fastbootPath, long waitTime)
等待设备进入 fastbootd 状态。 |
abstract
IDevice
|
waitForDeviceInRecovery()
使用标准启动超时等待设备进入恢复模式。 |
abstract
boolean
|
waitForDeviceInRecovery(long waitTime)
等待设备进入“adb recovery”状态 |
abstract
boolean
|
waitForDeviceInSideload(long waitTime)
等待设备处于“adb 侧加载”状态 |
abstract
boolean
|
waitForDeviceNotAvailable(long waitTime)
等待设备不可用 |
abstract
IDevice
|
waitForDeviceOnline()
使用标准启动超时等待设备上线。 |
abstract
IDevice
|
waitForDeviceOnline(long time)
等待设备上线。 |
abstract
boolean
|
waitForDeviceShell(long waitTime)
等待设备响应基本 adb shell 命令。 |
公共方法
attachFinalState
public void attachFinalState (TestDeviceState finalState)
附加最终状态,以便在达到时中止 waitForDeviceState。
参数 | |
---|---|
finalState |
TestDeviceState |
getDeviceState
public abstract TestDeviceState getDeviceState ()
获取设备状态。
返回 | |
---|---|
TestDeviceState |
设备的 TestDeviceState |
getFastbootSerialNumber
public abstract String getFastbootSerialNumber ()
获取 fastboot 模式序列号。
返回 | |
---|---|
String |
getMountPoint
public abstract String getMountPoint (String mountName)
返回一个挂载点。
如果 IDevice
中的缓存信息不可用,则直接查询设备。
TODO:将此行为移至 IDevice.getMountPoint(String)
参数 | |
---|---|
mountName |
String :挂载点的名称 |
返回 | |
---|---|
String |
装载点或 null |
抛出 | |
---|---|
DeviceNotAvailableException |
getSerialNumber
public abstract String getSerialNumber ()
获取设备的序列号。
返回 | |
---|---|
String |
isAdbTcp
public abstract boolean isAdbTcp ()
返回 | |
---|---|
boolean |
true (如果设备通过 TCP 连接到 adb) |
setDefaultAvailableTimeout
public abstract void setDefaultAvailableTimeout (long timeoutMs)
在 waitForDeviceAvailable()
中设置等待设备可用的时间(以毫秒为单位)。
参数 | |
---|---|
timeoutMs |
long |
setDefaultOnlineTimeout
public abstract void setDefaultOnlineTimeout (long timeoutMs)
在 waitForDeviceOnline()
中设置等待设备上线的时间(以毫秒为单位)。
参数 | |
---|---|
timeoutMs |
long |
setFastbootSerialNumber
public abstract void setFastbootSerialNumber (String serial)
设置 fastboot 模式序列号。
参数 | |
---|---|
serial |
String |
setIDevice
public abstract void setIDevice (IDevice device)
更新当前 IDevice。
waitForBootComplete
public abstract boolean waitForBootComplete (long waitTime)
阻塞,直到设备的启动完成标志设置完毕
参数 | |
---|---|
waitTime |
long :等待时间(以毫秒为单位) |
返回 | |
---|---|
boolean |
waitForDeviceAvailable
public abstract IDevice waitForDeviceAvailable (long waitTime)
等待设备响应并可供测试。目前,这意味着软件包管理器和外部存储空间可用。
参数 | |
---|---|
waitTime |
long :等待时间(以毫秒为单位) |
返回 | |
---|---|
IDevice |
IDevice ,如果设备在时间到期前上线。否则为 null 。 |
waitForDeviceAvailable
public abstract IDevice waitForDeviceAvailable ()
等待设备响应并可供测试。
等同于 waitForDeviceAvailable(long)
,但使用默认的设备启动超时设置。
返回 | |
---|---|
IDevice |
IDevice ,如果设备在时间到期前上线。否则为 null 。 |
waitForDeviceAvailableInRecoverPath
public IDevice waitForDeviceAvailableInRecoverPath (long waitTime)
waitForDeviceAvailable(long)
的特殊变体,用于在恢复路径中调用以量身定制处理方式。
参数 | |
---|---|
waitTime |
long |
返回 | |
---|---|
IDevice |
抛出 | |
---|---|
DeviceNotAvailableException |
设备处于不可用状态。 |
waitForDeviceBootloader
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 |
waitForDeviceInRecovery
public abstract IDevice waitForDeviceInRecovery ()
使用标准启动超时等待设备进入恢复模式。
返回 | |
---|---|
IDevice |
IDevice (如果设备在超时之前进入恢复状态)。null
否则。 |
waitForDeviceInRecovery
public abstract boolean waitForDeviceInRecovery (long waitTime)
等待设备进入“adb recovery”状态
参数 | |
---|---|
waitTime |
long :等待的最长时间(以毫秒为单位) |
返回 | |
---|---|
boolean |
如果设备在超时之前处于恢复模式,则返回 True;否则返回 False。 |
waitForDeviceInSideload
public abstract boolean waitForDeviceInSideload (long waitTime)
等待设备处于“adb 侧加载”状态
参数 | |
---|---|
waitTime |
long :等待的最长时间(以毫秒为单位) |
返回 | |
---|---|
boolean |
如果设备在超时之前处于旁加载状态,则返回 true;否则返回 false。 |
waitForDeviceNotAvailable
public abstract boolean waitForDeviceNotAvailable (long waitTime)
等待设备不可用
参数 | |
---|---|
waitTime |
long :等待的最长时间(以毫秒为单位) |
返回 | |
---|---|
boolean |
如果设备变为不可用,则为 true |
waitForDeviceOnline
public abstract IDevice waitForDeviceOnline ()
使用标准启动超时等待设备上线。
注意:当设备通过 DDMS 可见时,此方法将返回。这并不保证设备实际上会响应 adb 命令 - 请改用 waitForDeviceAvailable()
。
返回 | |
---|---|
IDevice |
IDevice ,如果设备在时间到期前上线。否则为 null 。 |
waitForDeviceOnline
public abstract IDevice waitForDeviceOnline (long time)
等待设备上线。
注意:当设备通过 DDMS 可见时,此方法将返回。这并不保证设备实际上会响应 adb 命令 - 请改用 waitForDeviceAvailable()
。
参数 | |
---|---|
time |
long :等待的最长时间(以毫秒为单位) |
返回 | |
---|---|
IDevice |
IDevice ,如果设备在时间到期前上线。否则为 null 。 |
waitForDeviceShell
public abstract boolean waitForDeviceShell (long waitTime)
等待设备响应基本 adb shell 命令。
参数 | |
---|---|
waitTime |
long :等待时间(以毫秒为单位) |
返回 | |
---|---|
boolean |
如果设备在 waitTime 过期之前有响应,则返回 true 。 |