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

「輪詢回應」指令的作業時間上限 (毫秒)

String PERM_DENIED_ERROR_PATTERN

公用建構函式

NativeDeviceStateMonitor(IDeviceManager mgr, IDevice device, boolean fastbootEnabled)

公用方法

void attachFinalState(TestDeviceState finalState)

如果達到最終狀態,請附加最終狀態來中止 waitForDeviceState。

void clearTcpFastbootMonitor()

清除裝置管理工具中的任何狀態。

TestDeviceState getDeviceState()

取得裝置狀態。

String getFastbootSerialNumber()

Gets the fastboot mode serial number.

String getMountPoint(String mountName)

傳回掛接點。

String getSerialNumber()

取得裝置的序號。

boolean isAdbTcp()

void setDefaultAvailableTimeout(long timeoutMs)

設定等待裝置在 waitForDeviceAvailable() 中可用的時間 (以毫秒為單位)。

void setDefaultOnlineTimeout(long timeoutMs)

設定等待裝置在 waitForDeviceOnline() 中上線的時間 (以毫秒為單位)。

void setFastbootSerialNumber(String serial)

設定快速啟動模式序號。

void setIDevice(IDevice newDevice)

更新目前的 IDevice。

void setSkipBootComplete(boolean skipBootComplete)
void setState(TestDeviceState deviceState)

設定裝置目前狀態。

boolean waitForBootComplete(long waitTime)

Blocks until the device's boot complete flag is set

IDevice waitForDeviceAvailable(long waitTime)

等待裝置回應並可供測試。

IDevice waitForDeviceAvailable()

等待裝置回應並可供測試。

IDevice waitForDeviceAvailableInRecoverPath(long waitTime)

在復原路徑中呼叫的 waitForDeviceAvailable(long) 特殊變體,可調整處理方式。

boolean waitForDeviceBootloader(long time)

等待裝置進入開機載入程式。

void waitForDeviceBootloaderStateUpdate()

等待裝置啟動載入程式狀態重新整理

boolean waitForDeviceFastbootd(String fastbootPath, long time)

等待裝置進入 fastbootd。

IDevice waitForDeviceInRecovery()

使用標準啟動逾時,等待裝置進入復原模式。

boolean waitForDeviceInRecovery(long waitTime)

等待裝置進入「adb recovery」狀態

boolean waitForDeviceInSideload(long waitTime)

等待裝置進入「adb sideload」狀態

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

常數值: 3000 (0x0000000000000bb8)

MAX_OP_TIME

protected static final int MAX_OP_TIME

「輪詢回應」指令的作業時間上限 (毫秒)

常數值: 10000 (0x00002710)

PERM_DENIED_ERROR_PATTERN

protected static final String PERM_DENIED_ERROR_PATTERN

常數值: 「Permission denied」(權限遭拒)

公用建構函式

NativeDeviceStateMonitor

public NativeDeviceStateMonitor (IDeviceManager mgr, 
                IDevice device, 
                boolean fastbootEnabled)

參數
mgr IDeviceManager

device IDevice

fastbootEnabled boolean

公用方法

attachFinalState

public void attachFinalState (TestDeviceState finalState)

如果達到最終狀態,請附加最終狀態來中止 waitForDeviceState。

參數
finalState TestDeviceState

clearTcpFastbootMonitor

public void clearTcpFastbootMonitor ()

清除裝置管理工具中的任何狀態。

getDeviceState

public TestDeviceState getDeviceState ()

取得裝置狀態。

傳回
TestDeviceState 裝置的TestDeviceState

getFastbootSerialNumber

public String getFastbootSerialNumber ()

取得快速啟動模式序號。

傳回
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)

設定快速啟動模式序號。

參數
serial String

setIDevice

public void setIDevice (IDevice newDevice)

更新目前的 IDevice。

setSkipBootComplete

public void setSkipBootComplete (boolean skipBootComplete)

參數
skipBootComplete boolean

setState

public void setState (TestDeviceState deviceState)

設定裝置目前狀態。

waitForBootComplete

public boolean waitForBootComplete (long waitTime)

封鎖,直到設定裝置的開機完成旗標

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

傳回
boolean

waitForDeviceAvailable

public IDevice waitForDeviceAvailable (long waitTime)

等待裝置回應並可供測試。目前這表示套件管理員和外部儲存空間可用。

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

傳回
IDevice 如果裝置在時間到期前連上網路,系統會傳送 IDevicenull 否則為 0。

waitForDeviceAvailable

public IDevice waitForDeviceAvailable ()

等待裝置回應並可供測試。

waitForDeviceAvailable(long) 相同,但使用預設裝置開機逾時。

傳回
IDevice 如果裝置在時間到期前連上網路,系統會傳送 IDevicenull 否則為 0。

waitForDeviceAvailableInRecoverPath

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)

等待裝置進入 fastbootd。

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

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

傳回
boolean true (如果裝置在時間到期前處於 fastbootd 模式)

waitForDeviceInRecovery

public IDevice waitForDeviceInRecovery ()

等待裝置進入復原模式,使用標準啟動逾時。

傳回
IDevice IDevice如果裝置在時間到期前恢復原廠設定,null 否則為 0。

waitForDeviceInRecovery

public boolean waitForDeviceInRecovery (long waitTime)

等待裝置進入「adb recovery」狀態

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

傳回
boolean 如果裝置在逾時前進入復原模式,則為 True,否則為 False。

waitForDeviceInSideload

public boolean waitForDeviceInSideload (long waitTime)

等待裝置進入「adb sideload」狀態

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

傳回
boolean 如果裝置在逾時前處於側載狀態,則為 True,否則為 False。

waitForDeviceNotAvailable

public boolean waitForDeviceNotAvailable (long waitTime)

等待裝置無法使用

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

傳回
boolean true (如果裝置無法使用)

waitForDeviceOnline

public IDevice waitForDeviceOnline ()

使用標準啟動逾時時間,等待裝置上線。

注意:裝置透過 DDMS 顯示後,這個方法就會傳回。這項功能無法保證裝置確實會回應 adb 指令,請改用 waitForDeviceAvailable()

傳回
IDevice 如果裝置在時間到期前連上網路,系統會傳送 IDevicenull 否則為 0。

waitForDeviceOnline

public IDevice waitForDeviceOnline (long waitTime)

等待裝置連上網路。

注意:裝置透過 DDMS 顯示後,這個方法就會傳回。這項功能無法保證裝置確實會回應 adb 指令,請改用 waitForDeviceAvailable()

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

傳回
IDevice 如果裝置在時間到期前連上網路,系統會傳送 IDevicenull 否則為 0。

waitForDeviceShell

public boolean waitForDeviceShell (long waitTime)

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

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

傳回
boolean true 經過 waitTime 前裝置恢復回應。

受保護的方法

createOutputReceiver

protected CollectingOutputReceiver createOutputReceiver ()

可供測試

傳回
CollectingOutputReceiver CollectingOutputReceiver

getCheckPollTime

protected long getCheckPollTime ()

可供測試

傳回
long

getCurrentTime

protected long getCurrentTime ()

可供測試

傳回
long

getIDevice

protected IDevice getIDevice ()

傳回
IDevice IDevice 與狀態監控器建立關聯

postOnlineCheck

protected boolean postOnlineCheck (long waitTime)

在連線裝置上進行額外檢查

參數
waitTime long:放棄前等待的時間 (以毫秒為單位)

傳回
boolean true 如果檢查在 waitTime 到期前成功通過。其他情況則為 false

擲回
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

waitForStoreMount

protected boolean waitForStoreMount (long waitTime)

等待裝置掛接外部商店。

參數
waitTime long:放棄前等待的時間 (以毫秒為單位)

傳回
boolean true (如果外部商店在 waitTime 到期前掛接)。其他情況則為 false

擲回
DeviceNotAvailableException