远程Android设备

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)

创建一个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)

检查串口格式是否符合预期:港口

DeviceDescriptor getDeviceDescriptor ()

String getHostName ()

返回与设备关联的主机名。

String getMacAddress ()

String getPortNum ()

返回与设备关联的端口号。

boolean isEncryptionSupported ()

void postAdbRootAction ()

如果设备需要在 adb root 之后和设备重新上线之前执行某些特定操作,则覆盖。

void postAdbUnrootAction ()

如果设备需要在 adb unroot 之后和设备重新上线之前执行某些特定操作,则覆盖。

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)

最多重试次数

protected static final int MAX_RETRIES

常量值:5 (0x00000005)

重试间隔毫秒

protected static final long RETRY_INTERVAL_MS

常量值:5000 (0x0000000000001388)

WAIT_FOR_ADB_CONNECT

public static final long WAIT_FOR_ADB_CONNECT

常量值:120000 (0x000000000001d4c0)

公共构造函数

远程Android设备

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。

检查串行格式是否有效

public static boolean checkSerialFormatValid (String serialString)

检查串口格式是否符合预期:港口

参数
serialString String

退货
boolean如果格式有效,则为 true,否则为 false。

获取设备描述符

public DeviceDescriptor getDeviceDescriptor ()

退货
DeviceDescriptor

获取主机名

public String getHostName ()

返回与设备关联的主机名。摘自连续剧。

退货
String

获取Mac地址

public String getMacAddress ()

退货
String

获取端口号

public String getPortNum ()

返回与设备关联的端口号。摘自连续剧。

退货
String

是否支持加密

public boolean isEncryptionSupported ()

退货
boolean

postAdbRoot 操作

public void postAdbRootAction ()

如果设备需要在 adb root 之后和设备重新上线之前执行某些特定操作,则覆盖。默认实现不包括任何附加操作。在此阶段不保证启用 adb root。

投掷
DeviceNotAvailableException

postAdbUnrootAction

public void postAdbUnrootAction ()

如果设备需要在 adb unroot 之后和设备重新上线之前执行某些特定操作,则覆盖。默认实现不包含任何其他操作。在此阶段不保证 adb root 被禁用。

投掷
DeviceNotAvailableException

调用后拆卸

public void postInvocationTearDown (Throwable exception)

参数
exception Throwable

恢复设备

public void recoverDevice ()

尝试恢复设备通信。

投掷
DeviceNotAvailableException

设置AdbLogFile

public void setAdbLogFile (File adbLogFile)

提供一个接收器文件,我们可以在其中存储所有 adb 连接日志以进行调试。

参数
adbLogFile File

等待AdbConnect

public void waitForAdbConnect (long waitTime)

检查adb连接是否启用。

参数
waitTime long

投掷
DeviceNotAvailableException

受保护的方法

获取初始IP

protected String getInitialIp ()

返回设备的初始关联 IP(如果有)。如果没有已知的初始 IP,则返回 null。

退货
String

获取初始序列号

protected String getInitialSerial ()

返回设备的初始序列名称。

退货
String

Adb重启后

protected void postAdbReboot ()

重新启动后可能采取的额外操作。

投掷
DeviceNotAvailableException