NativeDeviceStateMonitor

public class NativeDeviceStateMonitor
extends Object implements IDeviceStateMonitor

java.lang.Object 中
   ↳ com.android.tradefed.device.NativeDeviceStateMonitor


辅助类,用于在不支持框架的情况下监控 IDevice 的状态。

摘要

常量

long MAX_CHECK_POLL_TIME

int MAX_OP_TIME

“轮询响应”的最长操作时间(以毫秒为单位)命令

字段

protected static final String PERM_DENIED_ERROR_PATTERN

公共构造函数

NativeDeviceStateMonitor(IDeviceManager mgr, IDevice device, boolean fastbootEnabled)

公共方法

void attachFinalState(TestDeviceState finalState)

如果达到该状态,则附加一个最终状态来中止 waitForDeviceState。

TestDeviceState getDeviceState()

获取设备状态。

String getFastbootSerialNumber()

获取 fastboot 模式序列号。

String getMountPoint(String mountName)

返回装载点。

String getSerialNumber()

获取设备的序列号。

boolean isAdbTcp()

void setDefaultAvailableTimeout(long timeoutMs)

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

void setDefaultOnlineTimeout(long timeoutMs)

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

void setFastbootSerialNumber(String serial)

设置 fastboot 模式序列号。

void setIDevice(IDevice newDevice)

更新当前的 IDevice。

void setState(TestDeviceState deviceState)

设置设备的当前状态。

boolean waitForBootComplete(long waitTime)

阻止,直到设置了设备的启动完成标志

IDevice waitForDeviceAvailable(long waitTime)

等待设备做出响应并可供测试。

IDevice waitForDeviceAvailable()

等待设备做出响应并可供测试。

IDevice waitForDeviceAvailableInRecoverPath(long waitTime)

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

boolean waitForDeviceBootloader(long time)

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

void waitForDeviceBootloaderStateUpdate()

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

boolean waitForDeviceFastbootd(String fastbootPath, long time)

等待设备进入 fastbootd。

IDevice waitForDeviceInRecovery()

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

boolean waitForDeviceInRecovery(long waitTime)

等待设备进入“adb recovery”州/省/自治区/直辖市

boolean waitForDeviceInSideload(long waitTime)

等待设备进入“adb 旁加载”州/省/自治区/直辖市

boolean waitForDeviceNotAvailable(long waitTime)

等待设备不可用

IDevice waitForDeviceOnline()

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

IDevice waitForDeviceOnline(long waitTime)

等待设备连接到网络。

boolean waitForDeviceShell(long waitTime)

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

受保护的方法

CollectingOutputReceiver createOutputReceiver()

可供测试

long getCheckPollTime()

可供测试

long getCurrentTime()

可供测试

IDevice getIDevice()
boolean postOnlineCheck(long waitTime)

要在在线设备上完成的其他检查

boolean waitForStoreMount(long waitTime)

等待设备的外部存储空间进行装载。

常量

MAX_CHECK_POLL_TIME

protected static final long MAX_CHECK_POLL_TIME

常量值: 10,000 次 (0x0000000000002710)

最长 OP_TIME

protected static final int MAX_OP_TIME

“轮询响应”的最长操作时间(以毫秒为单位)命令

常量值: 10,000 次 (0x00002710)

字段

PERM_DENIED_ERROR_PATTERN

protected static final String PERM_DENIED_ERROR_PATTERN

公共构造函数

NativeDeviceStateMonitor

public NativeDeviceStateMonitor (IDeviceManager mgr, 
                IDevice device, 
                boolean fastbootEnabled)

参数
mgr IDeviceManager

device IDevice

fastbootEnabled boolean

公共方法

附加 FinalState

public void attachFinalState (TestDeviceState finalState)

如果达到该状态,则附加一个最终状态来中止 waitForDeviceState。

参数
finalState TestDeviceState

getDeviceState

public TestDeviceState getDeviceState ()

获取设备状态。

返回
TestDeviceState 设备的 TestDeviceState

getFastbootSerialNumber

public String getFastbootSerialNumber ()

获取 fastboot 模式序列号。

返回
String

getMountPoint

public String getMountPoint (String mountName)

返回装载点。

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

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

参数
mountName String:装载点的名称

返回
String 装载点或 null

抛出
DeviceNotAvailableException

getSerialNumber

public String getSerialNumber ()

获取设备的序列号。

返回
String

isAdbTcp

public boolean isAdbTcp ()

返回
boolean

setDefaultAvailableTimeout

public void setDefaultAvailableTimeout (long timeoutMs)

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

参数
timeoutMs long

setDefaultOnlineTimeout

public void setDefaultOnlineTimeout (long timeoutMs)

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

参数
timeoutMs long

setFastbootSerialNumber

public void setFastbootSerialNumber (String serial)

设置 fastboot 模式序列号。

参数
serial String

setIDevice

public void setIDevice (IDevice newDevice)

更新当前的 IDevice。

setState

public void setState (TestDeviceState deviceState)

设置设备的当前状态。

waitForBootComplete

public boolean waitForBootComplete (long waitTime)

阻止,直到设置了设备的启动完成标志

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

返回
boolean

waitForDeviceAvailable

public IDevice waitForDeviceAvailable (long waitTime)

等待设备做出响应并可供测试。目前,这意味着 软件包管理器和外部存储空间可用。

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

返回
IDevice 如果设备在时间到期之前变为在线状态,则 IDevicenull 否则。

waitForDeviceAvailable

public IDevice waitForDeviceAvailable ()

等待设备做出响应并可供测试。

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

返回
IDevice 如果设备在时间到期之前变为在线状态,则 IDevicenull 否则。

waitForDeviceAvailableInRecoverPath

public IDevice waitForDeviceAvailableInRecoverPath (long waitTime)

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

参数
waitTime long

返回
IDevice

抛出
DeviceNotAvailableException

waitForDeviceBootloader

public boolean waitForDeviceBootloader (long time)

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

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

返回
boolean 如果设备在时间到期之前已进入引导加载程序,则为 true

waitForDeviceBootloaderStateUpdate

public void waitForDeviceBootloaderStateUpdate ()

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

waitForDeviceFastbootd

public boolean waitForDeviceFastbootd (String fastbootPath, 
                long time)

等待设备进入 fastbootd。

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

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

返回
boolean true(如果设备在时间到期之前处于 fastbootd 模式)

等待设备恢复

public IDevice waitForDeviceInRecovery ()

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

返回
IDevice 如果设备在时间到期之前恢复为恢复状态,则为 IDevicenull 否则。

等待设备恢复

public boolean waitForDeviceInRecovery (long waitTime)

等待设备进入“adb recovery”州/省/自治区/直辖市

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

返回
boolean 如果设备在超时之前处于“恢复”状态,则为 true,否则为 false。

waitForDeviceInSideload

public boolean waitForDeviceInSideload (long waitTime)

等待设备进入“adb 旁加载”州/省/自治区/直辖市

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

返回
boolean 如果设备在超时之前处于旁加载状态,则为 true,否则为 false。

waitForDeviceNotAvailable

public boolean waitForDeviceNotAvailable (long waitTime)

等待设备不可用

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

返回
boolean 如果设备变为不可用状态,则为true

等待设备在线

public IDevice waitForDeviceOnline ()

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

注意:通过 DDMS 查看设备后,此方法将返回。它并不保证 设备实际上会响应 adb 命令 - 使用 waitForDeviceAvailable()

返回
IDevice 如果设备在时间到期之前变为在线状态,则 IDevicenull 否则。

等待设备在线

public IDevice waitForDeviceOnline (long waitTime)

等待设备连接到网络。

注意:通过 DDMS 查看设备后,此方法将返回。它并不保证 设备实际上会响应 adb 命令 - 使用 waitForDeviceAvailable()

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

返回
IDevice 如果设备在时间到期之前变为在线状态,则 IDevicenull 否则。

waitForDeviceShell

public boolean waitForDeviceShell (long waitTime)

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

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

返回
boolean 如果设备在 waitTime 期间开始响应,则为 true

受保护的方法

createOutputReceiver

protected CollectingOutputReceiver createOutputReceiver ()

可供测试

返回
CollectingOutputReceiver CollectingOutputReceiver

getCheckPollTime

protected long getCheckPollTime ()

可供测试

返回
long

获取当前时间

protected long getCurrentTime ()

可供测试

返回
long

getIDevice

protected IDevice getIDevice ()

返回
IDevice IDevice 与状态监控器相关联

postOnlineCheck

protected boolean postOnlineCheck (long waitTime)

要在在线设备上完成的其他检查

参数
waitTime long:放弃前等待的时间(毫秒)

返回
boolean 如果检查在 waitTime 到期之前成功,则为true。否则为 false

抛出
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

waitForStoreMount

protected boolean waitForStoreMount (long waitTime)

等待设备的外部存储空间进行装载。

参数
waitTime long:放弃前等待的时间(毫秒)

返回
boolean 如果在等待时间到期之前装载外部存储空间,则为 true。否则为 false

抛出
DeviceNotAvailableException