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。 |
default
void
|
clearTcpFastbootMonitor()
清除裝置管理工具中的任何狀態。 |
abstract
TestDeviceState
|
getDeviceState()
取得裝置狀態。 |
abstract
String
|
getFastbootSerialNumber()
Gets the fastboot mode serial number. |
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)
Blocks until the device's boot complete flag is set |
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 sideload」狀態 |
abstract
boolean
|
waitForDeviceNotAvailable(long waitTime)
等待裝置無法使用 |
abstract
IDevice
|
waitForDeviceOnline()
使用標準啟動逾時時間,等待裝置上線。 |
abstract
IDevice
|
waitForDeviceOnline(long time)
等待裝置連上網路。 |
abstract
boolean
|
waitForDeviceShell(long waitTime)
等待裝置回應基本 adb 殼層指令。 |
公用方法
attachFinalState
public void attachFinalState (TestDeviceState finalState)
如果達到最終狀態,請附加最終狀態來中止 waitForDeviceState。
| 參數 | |
|---|---|
finalState |
TestDeviceState |
clearTcpFastbootMonitor
public void clearTcpFastbootMonitor ()
清除裝置管理工具中的任何狀態。
getDeviceState
public abstract TestDeviceState getDeviceState ()
取得裝置狀態。
| 傳回 | |
|---|---|
TestDeviceState |
裝置的TestDeviceState |
getFastbootSerialNumber
public abstract String getFastbootSerialNumber ()
取得快速啟動模式序號。
| 傳回 | |
|---|---|
String |
|
getMountPoint
public abstract String getMountPoint (String mountName)
傳回掛接點。
如果 IDevice 中沒有快取資訊,則直接查詢裝置。
待辦事項:將這項行為移至 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)
設定快速啟動模式序號。
| 參數 | |
|---|---|
serial |
String |
waitForBootComplete
public abstract boolean waitForBootComplete (long waitTime)
封鎖,直到設定裝置的開機完成旗標
| 參數 | |
|---|---|
waitTime |
long:等待時間 (毫秒) |
| 傳回 | |
|---|---|
boolean |
|
waitForDeviceAvailable
public abstract IDevice waitForDeviceAvailable (long waitTime)
等待裝置回應並可供測試。目前這表示套件管理員和外部儲存空間可用。
| 參數 | |
|---|---|
waitTime |
long:等待時間 (毫秒) |
| 傳回 | |
|---|---|
IDevice |
如果裝置在時間到期前連上網路,系統會傳送 IDevice。null
否則為 0。 |
waitForDeviceAvailable
public abstract IDevice waitForDeviceAvailable ()
等待裝置回應並可供測試。
與 waitForDeviceAvailable(long) 相同,但使用預設裝置開機逾時。
| 傳回 | |
|---|---|
IDevice |
如果裝置在時間到期前連上網路,系統會傳送 IDevice。null
否則為 0。 |
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 |
true (如果裝置在時間到期前處於 fastbootd 模式) |
waitForDeviceInRecovery
public abstract IDevice waitForDeviceInRecovery ()
等待裝置進入復原模式,使用標準啟動逾時。
| 傳回 | |
|---|---|
IDevice |
IDevice如果裝置在時間到期前恢復原廠設定,null
否則為 0。 |
waitForDeviceInRecovery
public abstract boolean waitForDeviceInRecovery (long waitTime)
等待裝置進入「adb recovery」狀態
| 參數 | |
|---|---|
waitTime |
long:等待時間上限 (毫秒) |
| 傳回 | |
|---|---|
boolean |
如果裝置在逾時前進入復原模式,則為 True,否則為 False。 |
waitForDeviceInSideload
public abstract boolean waitForDeviceInSideload (long waitTime)
等待裝置進入「adb sideload」狀態
| 參數 | |
|---|---|
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
否則為 0。 |
waitForDeviceOnline
public abstract IDevice waitForDeviceOnline (long time)
等待裝置連上網路。
注意:裝置透過 DDMS 顯示後,這個方法就會傳回。這項功能無法保證裝置確實會回應 adb 指令,請改用 waitForDeviceAvailable()。
| 參數 | |
|---|---|
time |
long:等待時間上限 (毫秒) |
| 傳回 | |
|---|---|
IDevice |
如果裝置在時間到期前連上網路,系統會傳送 IDevice。null
否則為 0。 |
waitForDeviceShell
public abstract boolean waitForDeviceShell (long waitTime)
等待裝置回應基本 adb 殼層指令。
| 參數 | |
|---|---|
waitTime |
long:等待時間 (毫秒) |
| 傳回 | |
|---|---|
boolean |
true 經過 waitTime 前裝置恢復回應。 |