IDeviceManager
public
interface
IDeviceManager
com.android.tradefed.device.IDeviceManager |
用於管理一組可測試裝置的介面。
摘要
巢狀類別 | |
---|---|
interface |
IDeviceManager.IFastbootListener
Fastboot 狀態變更的事件監聽器。 |
公用方法 | |
---|---|
abstract
void
|
addDeviceMonitor(IDeviceMonitor mon)
|
abstract
void
|
addFastbootListener(IDeviceManager.IFastbootListener listener)
通知管理員,該事件監聽器對 Fastboot 狀態變更有興趣。 |
abstract
void
|
addMonitoringTcpFastbootDevice(String serial, String fastboot_serial)
將裝置新增至 Fastboot 監視器。 |
abstract
ITestDevice
|
allocateDevice(IDeviceSelection options, boolean isTemporary)
要求符合特定條件的裝置進行測試。 |
abstract
ITestDevice
|
allocateDevice(IDeviceSelection options)
要求符合特定條件的裝置進行測試。 |
abstract
ITestDevice
|
allocateDevice()
申請實體裝置進行測試 |
abstract
ITestDevice
|
connectToTcpDevice(String ipAndPort)
使用 adb-over-tcp 連線至裝置
這個方法會分配新裝置,最終應透過
傳回的 |
abstract
boolean
|
disconnectFromTcpDevice(ITestDevice tcpDevice)
中斷 adb-over-tcp 連線裝置的連線。 |
abstract
void
|
displayDevicesInfo(PrintWriter printWriter, boolean includeStub)
輸出使用者容易理解的說明,內容包含已知裝置、裝置狀態和值
常用的 |
abstract
CommandResult
|
executeCmdOnAvailableDevice(String serial, String command, long timeout, TimeUnit timeUnit)
一種輔助方法,可在可用裝置上執行殼層指令。 |
abstract
ITestDevice
|
forceAllocateDevice(String serial)
即使目前不提供裝置,也請謹慎配置裝置。 |
abstract
void
|
freeDevice(ITestDevice device, FreeDeviceState state)
將裝置退回給泳池 如果您嘗試退回尚未分配的裝置,系統會予以忽略。 |
abstract
String
|
getAdbPath()
傳回要使用的 ADB 二進位檔路徑。 |
abstract
String
|
getAdbVersion()
取得裝置管理員目前使用的 ADB 版本。 |
abstract
DeviceDescriptor
|
getDeviceDescriptor(String serial)
傳回具有指定序列的 DeviceDescriptor。 |
abstract
String
|
getFastbootPath()
傳回要使用的 Quickboot 二進位檔路徑。 |
abstract
void
|
init(IDeviceSelection globalDeviceFilter,
使用裝置篩選器初始化裝置管理員。 |
abstract
void
|
init()
初始化裝置管理員。 |
abstract
boolean
|
isEmulator(String serial)
判斷指定序列是否代表模擬器 |
default
boolean
|
isFileSystemMountCheckEnabled()
傳回是否應在 |
abstract
boolean
|
isNullDevice(String serial)
判斷指定序列是否代表空值的裝置 |
abstract
void
|
killEmulator(ITestDevice device)
關閉指定的模擬器。 |
abstract
void
|
launchEmulator(ITestDevice device, long bootTimeout, IRunUtil runUtil,
啟動模擬器的輔助方法。 |
abstract
|
listAllDevices(boolean shortDescriptor)
傳回所有已知裝置的 DeviceDescriptors 清單 |
abstract
|
listAllDevices()
傳回所有已知裝置的 DeviceDescriptors 清單 |
abstract
ITestDevice
|
reconnectDeviceToTcp(ITestDevice usbDevice)
一種輔助方法,可將給定的 usb 裝置切換為 adb-over-tcp 模式,然後連線至
透過 |
abstract
void
|
removeDeviceMonitor(IDeviceMonitor mon)
移除先前新增的 |
abstract
void
|
removeFastbootListener(IDeviceManager.IFastbootListener listener)
通知管理員,監聽器不再對 Fastboot 狀態變更感興趣。 |
abstract
void
|
restartAdbBridge()
重新啟動 (如果呼叫 |
abstract
void
|
stopAdbBridge()
停止 ADB 橋接器和服務需要 ADB 連線。 |
abstract
void
|
terminate()
停止裝置監控服務,並終止 ddm 程式庫。 |
abstract
void
|
terminateDeviceMonitor()
停止裝置監視器。 |
abstract
void
|
terminateDeviceRecovery()
停止裝置復原執行緒。 |
default
void
|
terminateHard(String reason)
例如「 |
abstract
void
|
terminateHard()
與 |
abstract
boolean
|
waitForFirstDeviceAdded(long timeout)
等待第一個實體裝置連線。 |
公用方法
addFastbootListener
public abstract void addFastbootListener (IDeviceManager.IFastbootListener listener)
通知管理員,該事件監聽器對 Fastboot 狀態變更有興趣。
目前 IDeviceManager
只會在 Fastboot 中監控裝置
聽眾的聽眾中
待辦事項:這有一些小妙招,尋找更好的解決方案
addMonitoringTcpFastbootDevice
public abstract void addMonitoringTcpFastbootDevice (String serial, String fastboot_serial)
將裝置新增至 Fastboot 監視器。Fastboot 監視器將使用「fastboot_serial」到 與裝置通訊
參數 | |
---|---|
serial |
String :裝置的序號。 |
fastboot_serial |
String :裝置的快速系統啟動模式序號。 |
分配裝置
public abstract ITestDevice allocateDevice (IDeviceSelection options, boolean isTemporary)
要求符合特定條件的裝置進行測試。
參數 | |
---|---|
options |
IDeviceSelection :裝置應符合的 IDeviceSelection 。 |
isTemporary |
boolean :是否應建立暫時的 NullDevice。 |
傳回 | |
---|---|
ITestDevice |
用於測試的 ITestDevice ,沒有測試用的 null |
分配裝置
public abstract ITestDevice allocateDevice (IDeviceSelection options)
要求符合特定條件的裝置進行測試。
參數 | |
---|---|
options |
IDeviceSelection :裝置應符合的 IDeviceSelection 。 |
傳回 | |
---|---|
ITestDevice |
ITestDevice 用於測試,null (如果有的話)
無法使用 |
分配裝置
public abstract ITestDevice allocateDevice ()
申請實體裝置進行測試
傳回 | |
---|---|
ITestDevice |
用於測試的 ITestDevice ,沒有測試用的 null |
ConnectToTcpDevice
public abstract ITestDevice connectToTcpDevice (String ipAndPort)
使用 adb-over-tcp 連線至裝置
這個方法會分配新裝置,最終應透過
disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice)
傳回的 ITestDevice
將在線上,但可能無法回應。
請注意,在 tcp 連線裝置上執行重新啟動等動作,
與裝置之間的 tcp 連線,並導致 DeviceNotAvailableException
參數 | |
---|---|
ipAndPort |
String :要連線的裝置原始 IP 位址和通訊埠 |
傳回 | |
---|---|
ITestDevice |
在無法建立 tcp 連線的情況下傳回 ITestDevice 或 null |
中斷連結 FromTcpDevice
public abstract boolean disconnectFromTcpDevice (ITestDevice tcpDevice)
中斷 adb-over-tcp 連線裝置的連線。
將裝置切回 USB 模式並釋出。
參數 | |
---|---|
tcpDevice |
ITestDevice :裝置目前為 tcp 模式,先前是透過
connectToTcpDevice(String) |
傳回 | |
---|---|
boolean |
如果成功切換至 USB 模式,則為 true |
顯示裝置資訊
public abstract void displayDevicesInfo (PrintWriter printWriter, boolean includeStub)
輸出使用者容易理解的說明,內容包含已知裝置、裝置狀態和值
常用的 IDeviceSelection
選項。
參數 | |
---|---|
printWriter |
PrintWriter :用於輸出說明的 ERROR(/PrintWriter) |
includeStub |
boolean :是否一併顯示虛設常式裝置。 |
runCmdOnAvailableDevice
public abstract CommandResult executeCmdOnAvailableDevice (String serial, String command, long timeout, TimeUnit timeUnit)
一種輔助方法,可在可用裝置上執行殼層指令。
參數 | |
---|---|
serial |
String :裝置序列。 |
command |
String :殼層指令。 |
timeout |
long :執行指令的時間長度。 |
timeUnit |
TimeUnit :逾時的單位。 |
傳回 | |
---|---|
CommandResult |
CommandResult 。 |
forceAllocateDevice
public abstract ITestDevice forceAllocateDevice (String serial)
即使目前不提供裝置,也請謹慎配置裝置。
如果裝置已分配,將不會有任何作用。
參數 | |
---|---|
serial |
String :要配置的裝置序列 |
傳回 | |
---|---|
ITestDevice |
ITestDevice ;如果無法分配,則為 null |
免費裝置
public abstract void freeDevice (ITestDevice device, FreeDeviceState state)
將裝置退回給泳池
如果您嘗試退回尚未分配的裝置,系統會予以忽略。
參數 | |
---|---|
device |
ITestDevice :免費ITestDevice |
state |
FreeDeviceState :FreeDeviceState 。用於控制
則裝置就會回到可用的裝置集區中。 |
getAdbPath
public abstract String getAdbPath ()
傳回要使用的 ADB 二進位檔路徑。
傳回 | |
---|---|
String |
getAdbVersion
public abstract String getAdbVersion ()
取得裝置管理員目前使用的 ADB 版本。
傳回 | |
---|---|
String |
getDeviceDescriptor
public abstract DeviceDescriptor getDeviceDescriptor (String serial)
傳回具有指定序列的 DeviceDescriptor。
參數 | |
---|---|
serial |
String :待取得裝置的序號 |
傳回 | |
---|---|
DeviceDescriptor |
所選裝置的 DeviceDescriptor ;如果序列沒有,則為空值
與已知裝置進行比對 |
取得快速系統啟動路徑 (FastbootPath)
public abstract String getFastbootPath ()
傳回要使用的 Quickboot 二進位檔路徑。
傳回 | |
---|---|
String |
初始
public abstract void init (IDeviceSelection globalDeviceFilter,deviceMonitors)
使用裝置篩選器初始化裝置管理員。這個篩選器可用來 DeviceManager 忽略特定連結裝置。
參數 | |
---|---|
globalDeviceFilter |
IDeviceSelection :裝置篩選器 |
deviceMonitors |
|
初始
public abstract void init ()
初始化裝置管理員。您必須呼叫一次,且僅呼叫一次 方法。
isEmulator
public abstract boolean isEmulator (String serial)
判斷指定序列是否代表模擬器
參數 | |
---|---|
serial |
String |
傳回 | |
---|---|
boolean |
isFileSystemMountCheckEnabled
public boolean isFileSystemMountCheckEnabled ()
傳回是否應在 NativeDeviceStateMonitor
中檢查,系統是否已執行檔案系統
正確安裝
傳回 | |
---|---|
boolean |
isNullDevice
public abstract boolean isNullDevice (String serial)
判斷指定序列是否代表空值的裝置
參數 | |
---|---|
serial |
String |
傳回 | |
---|---|
boolean |
殺死魔法
public abstract void killEmulator (ITestDevice device)
關閉指定的模擬器。
封鎖,直到模擬器從 ADB 消失為止。如果模擬器尚未生效,就不會有任何作用 廣告。
參數 | |
---|---|
device |
ITestDevice :代表要關閉的模擬器的 ITestDevice |
擲回 | |
---|---|
DeviceNotAvailableException |
如果模擬器無法關閉 |
啟動模擬器
public abstract void launchEmulator (ITestDevice device, long bootTimeout, IRunUtil runUtil,emulatorArgs)
啟動模擬器的輔助方法。
將依呼叫端指定的方式啟動模擬器
參數 | |
---|---|
device |
ITestDevice :代表已分配模擬器裝置的預留位置 ITestDevice |
bootTimeout |
long :等待模擬器啟動的時間 (毫秒) |
emulatorArgs |
:啟動模擬器的指令列引數 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果模擬器無法啟動或連上網路 |
列出所有裝置
public abstractlistAllDevices (boolean shortDescriptor)
傳回所有已知裝置的 DeviceDescriptors 清單
參數 | |
---|---|
shortDescriptor |
boolean :是否將描述元限制為最少資訊 |
傳回 | |
---|---|
|
所有已知裝置的 DeviceDescriptor 清單 |
列出所有裝置
public abstractlistAllDevices ()
傳回所有已知裝置的 DeviceDescriptors 清單
傳回 | |
---|---|
|
所有已知裝置的 DeviceDescriptor 清單 |
重新連線裝置 ToTcp
public abstract ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)
一種輔助方法,可將給定的 usb 裝置切換為 adb-over-tcp 模式,然後連線至
透過 connectToTcpDevice(String)
即可。
參數 | |
---|---|
usbDevice |
ITestDevice :裝置目前處於 USB 模式 |
傳回 | |
---|---|
ITestDevice |
在 tcp 模式下新分配的 ITestDevice ;如果使用 TCP,則設為 null
無法建立連線 |
擲回 | |
---|---|
DeviceNotAvailableException |
如果與 usbDevice 的連線中斷, 無法復原 |
移除裝置監視器
public abstract void removeDeviceMonitor (IDeviceMonitor mon)
移除先前新增的 IDeviceMonitor
。如果未新增 Mon,則不會有任何作用。
參數 | |
---|---|
mon |
IDeviceMonitor |
移除 FastbootListener
public abstract void removeFastbootListener (IDeviceManager.IFastbootListener listener)
通知管理員,監聽器不再對 Fastboot 狀態變更感興趣。
重啟 AdbBridge
public abstract void restartAdbBridge ()
重新啟動 (如果呼叫 stopAdbBridge()
) ADB 橋接器,而服務依附於 ADB
連線狀態。
StopAdbBridge
public abstract void stopAdbBridge ()
停止 ADB 橋接器和服務需要 ADB 連線。
終止
public abstract void terminate ()
停止裝置監控服務,並終止 ddm 程式庫。
應用程式終止時必須呼叫這個方法。
終止 DeviceMonitor
public abstract void terminateDeviceMonitor ()
停止裝置監視器。
終止裝置復原
public abstract void terminateDeviceRecovery ()
停止裝置復原執行緒。
EndHard
public void terminateHard (String reason)
例如「terminateHard()
」。
參數 | |
---|---|
reason |
String :提供的終止原因 (選填)。 |
waitForFirstDeviceAdded
public abstract boolean waitForFirstDeviceAdded (long timeout)
等待第一個實體裝置連線。如果先前已連結過的裝置,則 會直接傳回 True如未新增裝置,則在逾時後傳回 false。
參數 | |
---|---|
timeout |
long :傳回 false 之前的等待時間 (單位為毫秒)。 |
傳回 | |
---|---|
boolean |