遠程安卓設備
public class RemoteAndroidDevice
extends TestDevice
java.lang.Object | |||
↳ | com.android.tradefed.device.NativeDevice | ||
↳ | com.android.tradefed.device.TestDevice | ||
↳ | com.android.tradefed.device.RemoteAndroidDevice |
為通過 adb connect 連接的全棧 android 設備實現ITestDevice
。假設設備序列號的格式
概括
常量 | |
---|---|
long | DEFAULT_SHORT_CMD_TIMEOUT |
int | MAX_RETRIES |
long | RETRY_INTERVAL_MS |
long | WAIT_FOR_ADB_CONNECT
|
公共構造函數 | |
---|---|
RemoteAndroidDevice (IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor) 創建一個 |
公共方法 | |
---|---|
boolean | adbTcpConnect (String host, String port) adb 連接到給定 tcp ip Android 設備的輔助方法 |
boolean | adbTcpDisconnect (String host, String port) adb 與給定 tcp ip Android 設備斷開連接的輔助方法 |
static boolean | checkSerialFormatValid (String serialString) 檢查序列號的格式是否符合預期 |
DeviceDescriptor | getDeviceDescriptor () 從設備信息中返回一個 |
String | getHostName () 返回與設備關聯的主機名。 |
Integer | getInitialDeviceNumOffset () 返回已知的設備編號偏移量(如果有)。 |
String | getInitialIp () 將初始關聯的 ip 返回到設備(如果有)。 |
String | getInitialSerial () 返回設備的初始序列名。 |
String | getInitialUser () 返回初始已知用戶(如果有)。 |
String | getMacAddress () 返回設備的MAC地址,如果向設備查詢失敗則返回null。 |
String | getPortNum () 返回與設備關聯的端口號。 |
boolean | isEncryptionSupported () 如果設備支持加密,則返回。 |
void | postAdbRootAction () 如果設備需要在 adb root 之後和設備重新聯機之前執行某些特定操作,則覆蓋。 |
void | postAdbUnrootAction () 如果設備需要在 adb unroot 之後和設備重新聯機之前執行某些特定操作,則覆蓋。 |
void | postInvocationTearDown (Throwable exception) 特定於設備的額外步驟需要清理,將在調用完成後執行。 |
boolean | recoverDevice () 嘗試恢復設備通信。 |
void | setAdbLogFile (File adbLogFile) 提供一個接收器文件,我們可以在其中存儲所有 adb 連接日誌以用於調試目的。 |
void | waitForAdbConnect (long waitTime) 檢查是否啟用了 adb 連接。 |
受保護的方法 | |
---|---|
void | postAdbReboot () 重啟後可能執行的額外操作。 |
常量
默認_SHORT_CMD_TIMEOUT
protected static final long DEFAULT_SHORT_CMD_TIMEOUT
常數值:20000 (0x0000000000004e20)
MAX_RETRIES 次
protected static final int MAX_RETRIES
常量值:5 (0x00000005)
RETRY_INTERVAL_MS
protected static final long RETRY_INTERVAL_MS
常量值:5000 (0x0000000000001388)
WAIT_FOR_ADB_CONNECT
public static final long WAIT_FOR_ADB_CONNECT
常數值:120000 (0x000000000001d4c0)
公共構造函數
遠程安卓設備
public RemoteAndroidDevice (IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)
創建一個RemoteAndroidDevice
。
參數 | |
---|---|
device | IDevice :關聯的IDevice |
stateMonitor | IDeviceStateMonitor :要使用的IDeviceStateMonitor 機制 |
allocationMonitor | IDeviceMonitor :通知分配狀態更改的IDeviceMonitor 。 |
公共方法
adbTcpConnect
public boolean adbTcpConnect (String host, String port)
adb 連接到給定 tcp ip Android 設備的輔助方法
參數 | |
---|---|
host | String : tcp/ip Android 設備的主機名/ip |
port | String : tcp/ip 設備的端口號 |
退貨 | |
---|---|
boolean | 如果我們成功連接到設備,則為 true,否則為 false。 |
adbTcpDisconnect
public boolean adbTcpDisconnect (String host, String port)
adb 與給定 tcp ip Android 設備斷開連接的輔助方法
參數 | |
---|---|
host | String : tcp/ip Android 設備的主機名/ip |
port | String : tcp/ip 設備的端口號 |
退貨 | |
---|---|
boolean | 如果我們成功斷開與設備的連接,則為 true,否則為 false。 |
檢查SerialFormatValid
public static boolean checkSerialFormatValid (String serialString)
檢查序列號的格式是否符合預期
參數 | |
---|---|
serialString | String |
退貨 | |
---|---|
boolean | 如果格式有效則為真,否則為假。 |
獲取設備描述符
public DeviceDescriptor getDeviceDescriptor ()
從設備信息中返回一個DeviceDescriptor
以獲取有關它的信息,而不傳遞實際的設備對象。
退貨 | |
---|---|
DeviceDescriptor |
獲取主機名
public String getHostName ()
返回與設備關聯的主機名。從連續劇中提取。
退貨 | |
---|---|
String |
getInitialDeviceNumOffset
public Integer getInitialDeviceNumOffset ()
返回已知的設備編號偏移量(如果有)。如果不可用,則返回 null。
退貨 | |
---|---|
Integer |
獲取初始IP
public String getInitialIp ()
將初始關聯的 ip 返回到設備(如果有)。如果沒有已知的初始 ip,則返回 null。
退貨 | |
---|---|
String |
獲取初始序列號
public String getInitialSerial ()
返回設備的初始序列名。
退貨 | |
---|---|
String |
獲取初始用戶
public String getInitialUser ()
返回初始已知用戶(如果有)。如果沒有初始已知用戶,則返回 null。
退貨 | |
---|---|
String |
獲取Mac地址
public String getMacAddress ()
返回設備的MAC地址,如果向設備查詢失敗則返回null。
退貨 | |
---|---|
String |
獲取端口號
public String getPortNum ()
返回與設備關聯的端口號。從連續劇中提取。
退貨 | |
---|---|
String |
isEncryptionSupported
public boolean isEncryptionSupported ()
如果設備支持加密,則返回。
退貨 | |
---|---|
boolean | 如果設備支持加密, true 。 |
postAdbRootAction
public void postAdbRootAction ()
如果設備需要在 adb root 之後和設備重新聯機之前執行某些特定操作,則覆蓋。默認實現不包括任何添加操作。不保證在此階段啟用 adb root。
投擲 | |
---|---|
DeviceNotAvailableException |
postAdbUnrootAction
public void postAdbUnrootAction ()
如果設備需要在 adb unroot 之後和設備重新聯機之前執行某些特定操作,則覆蓋。默認實現不包括任何其他操作。不保證在此階段禁用 adb root。
投擲 | |
---|---|
DeviceNotAvailableException |
postInvocationTearDown
public void postInvocationTearDown (Throwable exception)
特定於設備的額外步驟需要清理,將在調用完成後執行。
參數 | |
---|---|
exception | Throwable :如果有的話,調用失敗引發的最終異常。 |
恢復設備
public boolean recoverDevice ()
嘗試恢復設備通信。
退貨 | |
---|---|
boolean | 如果嘗試恢復並成功則返回 True,如果跳過恢復則返回 False |
投擲 | |
---|---|
DeviceNotAvailableException |
設置 AdbLogFile
public void setAdbLogFile (File adbLogFile)
提供一個接收器文件,我們可以在其中存儲所有 adb 連接日誌以用於調試目的。
參數 | |
---|---|
adbLogFile | File |
等待 AdbConnect
public void waitForAdbConnect (long waitTime)
檢查是否啟用了 adb 連接。
參數 | |
---|---|
waitTime | long |
投擲 | |
---|---|
DeviceNotAvailableException |