設備狀態監視器
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) 在 |
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 命令。 |
公共方法
取得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 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 。 |