設備狀態監視器

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