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 。 |