RemoteAndroidDevice

public class RemoteAndroidDevice
extends TestDevice

java.lang.Object
   ↳ com.android.tradefed.device.NativeDevice
     ↳ com.android.tradefed.device.TestDevice
       ↳ com.android.tradefed.device.RemoteAndroidDevice


為透過 ADB 連線的完整堆疊 Android 裝置實作 ITestDevice。假設裝置序號的格式為 ADB 中的 :

摘要

常數

long DEFAULT_SHORT_CMD_TIMEOUT

int MAX_RETRIES

long RETRY_INTERVAL_MS

long WAIT_FOR_ADB_CONNECT

公用建構函式

RemoteAndroidDevice(IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

建立 RemoteAndroidDevice

公用方法

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)

檢查序列的格式是否符合預期 :port

DeviceDescriptor getDeviceDescriptor()

String getHostName()

傳回與裝置相關聯的主機名稱。

String getMacAddress()

String getPortNum()

傳回與裝置相關聯的連接埠號碼。

boolean isEncryptionSupported()

void postAdbRootAction()

如果裝置需要在 adb 根目錄後,且在裝置重新上線前執行特定動作,請覆寫。

void postAdbUnrootAction()

如果裝置需要在 adb 取消取得 root 權限後,並在裝置重新上線前執行特定動作,請覆寫此值。

void postInvocationTearDown(Throwable exception)

void recoverDevice()

嘗試恢復裝置通訊。

void setAdbLogFile(File adbLogFile)

提供接收器檔案,以便我們儲存所有 ADB 連線記錄檔,用於偵錯。

void waitForAdbConnect(long waitTime)

檢查是否已啟用 ADB 連線。

受保護的方法

String getInitialIp()

傳回裝置的初始關聯 IP (如有)。

String getInitialSerial()

傳回裝置的初始序號名稱。

void postAdbReboot()

重新啟動後可採取的其他可能動作。

常數

DEFAULT_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)

公用建構函式

RemoteAndroidDevice

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。

checkSerialFormatValid

public static boolean checkSerialFormatValid (String serialString)

檢查序列的格式是否符合預期 :port

參數
serialString String

傳回
boolean 如果格式有效,則傳回 true,否則傳回 false。

getDeviceDescriptor

public DeviceDescriptor getDeviceDescriptor ()

傳回
DeviceDescriptor

getHostName

public String getHostName ()

傳回與裝置相關聯的主機名稱。從連續劇中擷取。

傳回
String

getMacAddress

public String getMacAddress ()

傳回
String

getPortNum

public String getPortNum ()

傳回與裝置相關聯的連接埠號碼。從連續劇中擷取。

傳回
String

isEncryptionSupported

public boolean isEncryptionSupported ()

傳回
boolean

postAdbRootAction

public void postAdbRootAction ()

如果裝置需要在 adb 根目錄後,且在裝置重新上線前執行特定動作,請覆寫。預設實作方式不包含任何額外動作。系統不保證會在這個階段啟用 ADB 根目錄。

擲回
DeviceNotAvailableException

postAdbUnrootAction

public void postAdbUnrootAction ()

如果裝置需要在 adb 解除系統核心權限後,並在裝置重新上線前執行特定動作,請覆寫此值。預設實作方式不包含任何額外動作。系統不保證會在這個階段停用 ADB 根目錄。

擲回
DeviceNotAvailableException

postInvocationTearDown

public void postInvocationTearDown (Throwable exception)

參數
exception Throwable

recoverDevice

public void recoverDevice ()

嘗試恢復裝置通訊。

擲回
DeviceNotAvailableException

setAdbLogFile

public void setAdbLogFile (File adbLogFile)

提供接收器檔案,以便我們儲存所有 ADB 連線記錄檔,用於偵錯。

參數
adbLogFile File

waitForAdbConnect

public void waitForAdbConnect (long waitTime)

檢查是否已啟用 ADB 連線。

參數
waitTime long

擲回
DeviceNotAvailableException

受保護的方法

getInitialIp

protected String getInitialIp ()

傳回裝置的初始關聯 IP (如果有)。如果沒有已知的初始 IP,則傳回空值。

傳回
String

getInitialSerial

protected String getInitialSerial ()

傳回裝置的初始序號名稱。

傳回
String

postAdbReboot

protected void postAdbReboot ()

重新啟動後可採取的其他可能動作。

擲回
DeviceNotAvailableException