DeviceManager
public
class
DeviceManager
extends Object
implements
IDeviceManager
| java.lang.Object | |
| ↳ | com.android.tradefed.device.DeviceManager |
요약
중첩된 클래스 | |
|---|---|
class |
DeviceManager.FastbootDevice
빠른 부팅 모드의 기기 표현입니다. |
상수 | |
|---|---|
String |
UNKNOWN_DISPLAY_STRING
알 수 없는 속성의 표시 문자열 |
필드 | |
|---|---|
protected
DeviceMonitorMultiplexer |
mDvcMon
|
protected
boolean |
mFastbootEnabled
|
공개 생성자 | |
|---|---|
DeviceManager()
DeviceManager는 |
|
공개 메서드 | |
|---|---|
void
|
addAvailableDevice(IDevice stubDevice)
|
void
|
addAvailableNativeDevice(IDevice stubDevice)
|
void
|
addDeviceMonitor(IDeviceMonitor mon)
|
void
|
addFastbootDevice(DeviceManager.FastbootDevice fastbootDevice)
|
void
|
addFastbootListener(IDeviceManager.IFastbootListener listener)
리스너가 fastboot 상태 변경에 관심이 있음을 관리자에게 알립니다. |
void
|
addMonitoringTcpFastbootDevice(String serial, String fastbootSerial)
기기를 fastboot 모니터에 추가 |
ITestDevice
|
allocateDevice(IDeviceSelection options, boolean isTemporary)
특정 기준을 충족하는 테스트 기기를 요청합니다. |
ITestDevice
|
allocateDevice(IDeviceSelection options)
특정 기준을 충족하는 테스트 기기를 요청합니다. |
ITestDevice
|
allocateDevice()
테스트를 위해 실제 기기 요청 |
ITestDevice
|
connectToTcpDevice(String ipAndPort)
adb-over-tcp로 기기에 연결
이 메서드는 새 기기를 할당하며, 이는 결국
반환된 |
boolean
|
disconnectFromTcpDevice(ITestDevice tcpDevice)
adb-over-tcp 연결 기기에서 연결을 해제합니다. |
void
|
displayDevicesInfo(PrintWriter stream, boolean includeStub)
알려진 기기, 기기 상태, 자주 사용되는 |
CommandResult
|
executeCmdOnAvailableDevice(String serial, String command, long timeout, TimeUnit timeUnit)
사용 가능한 기기에서 셸 명령어를 실행하는 도우미 메서드 |
String
|
executeGlobalAdbCommand(String... cmdArgs)
특정 기기를 타겟팅하지 않는 adb 명령어를 실행합니다(예: |
ITestDevice
|
forceAllocateDevice(String serial)
현재 사용할 수 없는 기기라도 무례하게 할당합니다. |
void
|
freeDevice(ITestDevice device, FreeDeviceState deviceState)
풀에 기기 반환 이전에 할당되지 않은 기기를 반환하려는 시도는 무시됩니다. |
String
|
getAdbPath()
사용할 adb 바이너리의 경로를 반환합니다. |
String
|
getAdbVersion()
기기 관리자가 현재 사용 중인 adb 버전을 가져옵니다. |
DeviceDescriptor
|
getDeviceDescriptor(String serial)
지정된 일련번호가 있는 DeviceDescriptor를 반환합니다. |
String
|
getFastbootPath()
사용할 빠른 부팅 바이너리의 경로를 반환합니다. |
void
|
init(IDeviceSelection globalDeviceFilter,
기기 관리자를 초기화합니다. |
void
|
init(IDeviceSelection globalDeviceFilter,
기기 관리자를 초기화합니다. |
void
|
init()
기기 관리자를 초기화합니다. |
boolean
|
isEmulator(String serial)
주어진 일련번호가 에뮬레이터를 나타내는지 확인 |
boolean
|
isFileSystemMountCheckEnabled()
파일 시스템이 올바르게 마운트되었는지 |
boolean
|
isNullDevice(String serial)
주어진 일련번호가 null 기기를 나타내는지 확인 |
void
|
killEmulator(ITestDevice device)
지정된 에뮬레이터를 종료합니다. |
void
|
launchEmulator(ITestDevice device, long bootTimeout, IRunUtil runUtil,
에뮬레이터를 실행하는 도우미 메서드 |
|
listAllDevices(boolean shortDescriptor)
알려진 모든 기기의 DeviceDescriptor 목록을 반환합니다. |
|
listAllDevices()
알려진 모든 기기의 DeviceDescriptor 목록을 반환합니다. |
ITestDevice
|
reconnectDeviceToTcp(ITestDevice usbDevice)
주어진 USB 기기를 adb-over-tcp 모드로 전환한 후 |
void
|
removeDeviceMonitor(IDeviceMonitor mon)
이전에 추가된 |
void
|
removeFastbootListener(IDeviceManager.IFastbootListener listener)
리스너가 더 이상 fastboot 상태 변경에 관심이 없음을 관리자에게 알립니다. |
void
|
removeMonitoringTcpFastbootDevice(String serial)
|
void
|
restartAdbBridge()
adb 브리지와 서비스는 adb 연결에 따라 다시 시작합니다 ( |
void
|
stopAdbBridge()
adb 브리지와 adb 연결에 종속된 서비스를 중지합니다. |
void
|
terminate()
기기 모니터링 서비스를 중지하고 ddm 라이브러리를 종료합니다. |
void
|
terminateDeviceMonitor()
기기 모니터를 중지합니다. |
void
|
terminateDeviceRecovery()
기기 복구 스레드를 중지합니다. |
void
|
terminateHard(String reason)
|
void
|
terminateHard()
|
boolean
|
waitForFirstDeviceAdded(long timeout)
첫 번째 실제 기기가 연결될 때까지 기다립니다. |
상수
UNKNOWN_DISPLAY_STRING
public static final String UNKNOWN_DISPLAY_STRING
알 수 없는 속성의 표시 문자열
상수 값: 'unknown'
필드
mFastbootEnabled
protected boolean mFastbootEnabled
공개 생성자
공개 메서드
addAvailableNativeDevice
public void addAvailableNativeDevice (IDevice stubDevice)
| 매개변수 | |
|---|---|
stubDevice |
IDevice |
addFastbootDevice
public void addFastbootDevice (DeviceManager.FastbootDevice fastbootDevice)
| 매개변수 | |
|---|---|
fastbootDevice |
DeviceManager.FastbootDevice |
addFastbootListener
public void addFastbootListener (IDeviceManager.IFastbootListener listener)
리스너가 fastboot 상태 변경에 관심이 있음을 관리자에게 알립니다.
현재 IDeviceManager는 하나 이상의 활성 리스너가 있는 경우에만 패스트부트의 기기를 모니터링합니다.
TODO: 이는 약간의 해킹입니다. 더 나은 해결책을 찾아보세요.
addMonitoringTcpFastbootDevice
public void addMonitoringTcpFastbootDevice (String serial,
String fastbootSerial)기기를 fastboot 모니터에 추가 빠른 부팅 모니터는 'fastboot_serial'을 사용하여 기기와 통신합니다.
| 매개변수 | |
|---|---|
serial |
String: 기기의 일련번호입니다. |
fastbootSerial |
String: 기기의 패스트부트 모드 일련번호입니다. |
allocateDevice
public ITestDevice allocateDevice (IDeviceSelection options, boolean isTemporary)
특정 기준을 충족하는 테스트 기기를 요청합니다.
| 매개변수 | |
|---|---|
options |
IDeviceSelection: 기기가 충족해야 하는 IDeviceSelection입니다. |
isTemporary |
boolean: 임시 NullDevice를 생성해야 하는지 여부입니다. |
| 반환 값 | |
|---|---|
ITestDevice |
테스트용 ITestDevice 또는 사용할 수 없는 경우 null |
allocateDevice
public ITestDevice allocateDevice (IDeviceSelection options)
특정 기준을 충족하는 테스트 기기를 요청합니다.
| 매개변수 | |
|---|---|
options |
IDeviceSelection: 기기가 충족해야 하는 IDeviceSelection입니다. |
| 반환 값 | |
|---|---|
ITestDevice |
테스트용 ITestDevice 또는 사용할 수 없는 경우 null |
allocateDevice
public ITestDevice allocateDevice ()
테스트를 위해 실제 기기 요청
| 반환 값 | |
|---|---|
ITestDevice |
테스트용 ITestDevice 또는 사용할 수 없는 경우 null |
connectToTcpDevice
public ITestDevice connectToTcpDevice (String ipAndPort)
adb-over-tcp로 기기에 연결
이 메서드는 새 기기를 할당하며, 이는 결국 disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice)를 통해 해제되어야 합니다.
반환된 ITestDevice은 온라인 상태이지만 응답하지 않을 수 있습니다.
tcp 연결 기기에서 재부팅과 같은 작업을 실행하면 기기에 대한 tcp 연결이 끊어지고 DeviceNotAvailableException가 발생합니다.
| 매개변수 | |
|---|---|
ipAndPort |
String: 연결할 기기의 원래 IP 주소 및 포트 |
| 반환 값 | |
|---|---|
ITestDevice |
TCP 연결을 형성할 수 없는 경우 ITestDevice 또는 null |
disconnectFromTcpDevice
public boolean disconnectFromTcpDevice (ITestDevice tcpDevice)
adb-over-tcp 연결 기기에서 연결을 해제합니다.
기기를 USB 모드로 다시 전환하고 해제합니다.
| 매개변수 | |
|---|---|
tcpDevice |
ITestDevice: 현재 tcp 모드에 있는 기기, 이전에 connectToTcpDevice(String)를 통해 할당됨 |
| 반환 값 | |
|---|---|
boolean |
USB 모드로 전환이 성공한 경우 true |
displayDevicesInfo
public void displayDevicesInfo (PrintWriter stream,
boolean includeStub)알려진 기기, 기기 상태, 자주 사용되는 IDeviceSelection 옵션의 값을 포함하는 사용자 친화적인 설명을 출력합니다.
| 매개변수 | |
|---|---|
stream |
PrintWriter: 설명을 출력할 ERROR(/PrintWriter) |
includeStub |
boolean: 스텁 기기도 표시할지 여부입니다. |
executeCmdOnAvailableDevice
public CommandResult executeCmdOnAvailableDevice (String serial, String command, long timeout, TimeUnit timeUnit)
사용 가능한 기기에서 셸 명령어를 실행하는 도우미 메서드
| 매개변수 | |
|---|---|
serial |
String: 기기 일련번호입니다. |
command |
String: 셸 명령어입니다. |
timeout |
long: 명령어가 완료되는 데 걸리는 시간입니다. |
timeUnit |
TimeUnit: 제한 시간의 단위입니다. |
| 반환 값 | |
|---|---|
CommandResult |
CommandResult - |
executeGlobalAdbCommand
public String executeGlobalAdbCommand (String... cmdArgs)
특정 기기를 타겟팅하지 않는 adb 명령어를 실행합니다(예: 'adb connect'
| 반환 값 | |
|---|---|
String |
명령어가 성공하면 std 출력이 반환되고, 그렇지 않으면 null이 반환됩니다. |
forceAllocateDevice
public ITestDevice forceAllocateDevice (String serial)
현재 사용할 수 없는 기기라도 무례하게 할당합니다.
기기가 이미 할당된 경우에는 아무런 효과가 없습니다.
| 매개변수 | |
|---|---|
serial |
String: 할당할 기기 일련번호 |
| 반환 값 | |
|---|---|
ITestDevice |
ITestDevice 또는 할당할 수 없는 경우 null |
freeDevice
public void freeDevice (ITestDevice device, FreeDeviceState deviceState)
풀에 기기 반환
이전에 할당되지 않은 기기를 반환하려는 시도는 무시됩니다.
| 매개변수 | |
|---|---|
device |
ITestDevice: 해제할 ITestDevice |
deviceState |
FreeDeviceState: FreeDeviceState 기기가 사용 가능한 기기 풀로 반환되는지 제어하는 데 사용됩니다. |
getAdbPath
public String getAdbPath ()
사용할 adb 바이너리의 경로를 반환합니다.
| 반환 값 | |
|---|---|
String |
|
getAdbVersion
public String getAdbVersion ()
기기 관리자가 현재 사용 중인 adb 버전을 가져옵니다.
| 반환 값 | |
|---|---|
String |
|
getDeviceDescriptor
public DeviceDescriptor getDeviceDescriptor (String serial)
지정된 일련번호가 있는 DeviceDescriptor를 반환합니다.
| 매개변수 | |
|---|---|
serial |
String: 가져올 기기의 일련번호 |
| 반환 값 | |
|---|---|
DeviceDescriptor |
선택한 기기의 DeviceDescriptor입니다. 일련번호가 알려진 기기와 일치하지 않으면 null입니다. |
getFastbootPath
public String getFastbootPath ()
사용할 빠른 부팅 바이너리의 경로를 반환합니다.
| 반환 값 | |
|---|---|
String |
|
init
public void init (IDeviceSelection globalDeviceFilter,globalDeviceMonitors, IManagedTestDeviceFactory deviceFactory)
기기 관리자를 초기화합니다. 이 메서드는 다른 메서드가 호출되기 전에 한 번만 호출해야 합니다.
| 매개변수 | |
|---|---|
globalDeviceFilter |
IDeviceSelection |
globalDeviceMonitors |
|
deviceFactory |
IManagedTestDeviceFactory |
init
public void init (IDeviceSelection globalDeviceFilter,globalDeviceMonitors)
기기 관리자를 초기화합니다. 이 메서드는 다른 메서드가 호출되기 전에 한 번만 호출해야 합니다.
| 매개변수 | |
|---|---|
globalDeviceFilter |
IDeviceSelection: 기기 필터 |
globalDeviceMonitors |
|
init
public void init ()
기기 관리자를 초기화합니다. 이 메서드는 다른 메서드가 호출되기 전에 한 번만 호출해야 합니다.
isEmulator
public boolean isEmulator (String serial)
주어진 일련번호가 에뮬레이터를 나타내는지 확인
| 매개변수 | |
|---|---|
serial |
String |
| 반환 값 | |
|---|---|
boolean |
|
isFileSystemMountCheckEnabled
public boolean isFileSystemMountCheckEnabled ()
파일 시스템이 올바르게 마운트되었는지 NativeDeviceStateMonitor에서 확인해야 하는지 여부를 반환합니다.
| 반환 값 | |
|---|---|
boolean |
|
isNullDevice
public boolean isNullDevice (String serial)
주어진 일련번호가 null 기기를 나타내는지 확인
| 매개변수 | |
|---|---|
serial |
String |
| 반환 값 | |
|---|---|
boolean |
|
killEmulator
public void killEmulator (ITestDevice device)
지정된 에뮬레이터를 종료합니다.
에뮬레이터가 adb에서 사라질 때까지 차단합니다. 에뮬레이터를 이미 사용할 수 없는 경우에는 아무런 효과가 없습니다.
| 매개변수 | |
|---|---|
device |
ITestDevice: 종료할 에뮬레이터를 나타내는 ITestDevice |
| 생성 값 | |
|---|---|
DeviceNotAvailableException |
|
launchEmulator
public void launchEmulator (ITestDevice device, long bootTimeout, IRunUtil runUtil,emulatorArgs)
에뮬레이터를 실행하는 도우미 메서드
호출자가 지정한 대로 에뮬레이터를 실행합니다.
| 매개변수 | |
|---|---|
device |
ITestDevice: 할당된 에뮬레이터 기기를 나타내는 자리표시자 ITestDevice |
bootTimeout |
long: 에뮬레이터가 부팅될 때까지 기다리는 시간(밀리초) |
emulatorArgs |
: 에뮬레이터를 실행하는 명령줄 인수 |
| 생성 값 | |
|---|---|
DeviceNotAvailableException |
|
listAllDevices
publiclistAllDevices (boolean shortDescriptor)
알려진 모든 기기의 DeviceDescriptor 목록을 반환합니다.
| 매개변수 | |
|---|---|
shortDescriptor |
boolean: 설명자를 최소 정보로 제한할지 여부 |
| 반환 값 | |
|---|---|
|
알려진 모든 기기의 DeviceDescriptor 목록 |
listAllDevices
publiclistAllDevices ()
알려진 모든 기기의 DeviceDescriptor 목록을 반환합니다.
| 반환 값 | |
|---|---|
|
알려진 모든 기기의 DeviceDescriptor 목록 |
reconnectDeviceToTcp
public ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)
주어진 USB 기기를 adb-over-tcp 모드로 전환한 후 connectToTcpDevice(String)를 통해 연결하는 도우미 메서드입니다.
| 매개변수 | |
|---|---|
usbDevice |
ITestDevice: 현재 USB 모드에 있는 기기 |
| 반환 값 | |
|---|---|
ITestDevice |
tcp 모드에서 새로 할당된 ITestDevice 또는 tcp 연결을 형성할 수 없는 경우 null |
| 생성 값 | |
|---|---|
DeviceNotAvailableException |
|
removeDeviceMonitor
public void removeDeviceMonitor (IDeviceMonitor mon)
이전에 추가된 IDeviceMonitor를 삭제합니다. mon이 추가되지 않은 경우 효과가 없습니다.
| 매개변수 | |
|---|---|
mon |
IDeviceMonitor |
removeFastbootListener
public void removeFastbootListener (IDeviceManager.IFastbootListener listener)
리스너가 더 이상 fastboot 상태 변경에 관심이 없음을 관리자에게 알립니다.
removeMonitoringTcpFastbootDevice
public void removeMonitoringTcpFastbootDevice (String serial)
| 매개변수 | |
|---|---|
serial |
String |
restartAdbBridge
public void restartAdbBridge ()
adb 브리지와 서비스는 adb 연결에 따라 다시 시작합니다 (stopAdbBridge()가 호출된 경우).
stopAdbBridge
public void stopAdbBridge ()
adb 브리지와 adb 연결에 종속된 서비스를 중지합니다.
종료
public void terminate ()
기기 모니터링 서비스를 중지하고 ddm 라이브러리를 종료합니다.
애플리케이션 종료 시 호출해야 합니다.
terminateDeviceMonitor
public void terminateDeviceMonitor ()
기기 모니터를 중지합니다.
terminateDeviceRecovery
public void terminateDeviceRecovery ()
기기 복구 스레드를 중지합니다.
terminateHard
public void terminateHard (String reason)
terminateHard()와 같은 음악
| 매개변수 | |
|---|---|
reason |
String: 종료에 대해 제공된 이유(선택사항)입니다. |
waitForFirstDeviceAdded
public boolean waitForFirstDeviceAdded (long timeout)
첫 번째 실제 기기가 연결될 때까지 기다립니다. 기기가 이전에 연결된 적이 있으면 True를 직접 반환합니다. 추가된 기기가 없으면 제한 시간 후 false를 반환합니다.
| 매개변수 | |
|---|---|
timeout |
long: false를 반환하기 전에 대기할 시간(밀리초)입니다. |
| 반환 값 | |
|---|---|
boolean |
|