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

「poll for 回應 ness」(等待回應) 的最長作業時間 (毫秒)Command 鍵

欄位

protected static final String PERM_DENIED_ERROR_PATTERN

公用建構函式

NativeDeviceStateMonitor(IDeviceManager mgr, IDevice device, boolean fastbootEnabled)

公用方法

void attachFinalState(TestDeviceState finalState)

如果達到此狀態,請將最終狀態附加至 abort 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)

等待裝置快速啟動。

IDevice waitForDeviceInRecovery()

等待裝置透過標準啟動逾時狀態進入復原模式。

boolean waitForDeviceInRecovery(long waitTime)

等待裝置進入「ADB 復原」狀態州

boolean waitForDeviceInSideload(long waitTime)

等待裝置出現在「ADB 側載」州

boolean waitForDeviceNotAvailable(long waitTime)

等待裝置無法使用

IDevice waitForDeviceOnline()

使用標準開機逾時,等待裝置連上網路。

IDevice waitForDeviceOnline(long waitTime)

等待裝置連上網路。

boolean waitForDeviceShell(long waitTime)

等待裝置回應基本 ADB 殼層指令。

保護方法

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 名 (0x000000000002710)

MAX_OP_TIME

protected static final int MAX_OP_TIME

「poll for 回應 ness」(等待回應) 的最長作業時間 (毫秒)Command 鍵

常數值: 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

公用方法

連結最終狀態

public void attachFinalState (TestDeviceState finalState)

如果達到此狀態,請將最終狀態附加至 abort waitForDeviceState。

參數
finalState TestDeviceState

getDeviceState

public TestDeviceState getDeviceState ()

取得裝置狀態。

傳回
TestDeviceState 裝置的TestDeviceState

getFastbootSerialNumber

public String getFastbootSerialNumber ()

取得 Fastboot 模式序號。

傳回
String

getMountPoint

public String getMountPoint (String mountName)

傳回掛接點。

如果沒有可用的 IDevice 中的快取資訊,則直接查詢裝置。

待辦事項:將此行為移至 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。

設定狀態

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

waitForDeviceAvailableInRecoveryPath

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)

等待裝置快速啟動。

參數
fastbootPath String:Fastboot 二進位檔的路徑。

time long:等待時間上限 (毫秒)

傳回
boolean 如果裝置在時間到期前快速啟動,則為 true

waitForDeviceInRecovery

public IDevice waitForDeviceInRecovery ()

等待裝置透過標準啟動逾時狀態進入復原模式。

傳回
IDevice 如果裝置在時間到期前復原,則IDevicenull 反之。

waitForDeviceInRecovery

public boolean waitForDeviceInRecovery (long waitTime)

等待裝置進入「ADB 復原」狀態州

參數
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

waitForDeviceOnline

public IDevice waitForDeviceOnline ()

使用標準開機逾時,等待裝置連上網路。

注意:當裝置可透過 DDMS 觀看時,這個方法就會傳回結果。無法保證 裝置對 ADB 指令的實際回應 - 請使用 waitForDeviceAvailable()

傳回
IDevice 如果裝置在時間到期前連上網路,則IDevicenull 反之。

waitForDeviceOnline

public IDevice waitForDeviceOnline (long waitTime)

等待裝置連上網路。

注意:當裝置可透過 DDMS 觀看時,這個方法就會傳回結果。無法保證 裝置對 ADB 指令的實際回應 - 請使用 waitForDeviceAvailable()

參數
waitTime long:等待時間上限 (毫秒)

傳回
IDevice 如果裝置在時間到期前連上網路,則IDevicenull 反之。

waitForDeviceShell

public boolean waitForDeviceShell (long waitTime)

等待裝置回應基本 ADB 殼層指令。

參數
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 如果外部儲存庫已掛接到 waitTime 到期,則為 true。另有 false

擲回
DeviceNotAvailableException