IDeviceManager

public interface IDeviceManager

com.android.tradefed.device.IDeviceManager


테스트에 사용할 수 있는 기기 집합을 관리하기 위한 인터페이스입니다.

요약

중첩된 클래스

interface IDeviceManager.IFastbootListener

빠른 부팅 상태 변경 리스너입니다. 

공개 메서드

abstract void addDeviceMonitor(IDeviceMonitor mon)

IDeviceMonitor 추가

abstract void addFastbootListener(IDeviceManager.IFastbootListener listener)

리스너가 빠른 부팅 상태 변경에 관심이 있음을 관리자에게 알립니다.

abstract void addMonitoringTcpFastbootDevice(String serial, String fastboot_serial)

빠른 부팅 모니터에 기기를 추가합니다.

abstract ITestDevice allocateDevice(IDeviceSelection options, boolean isTemporary)

특정 기준을 충족하는 테스트 기기를 요청합니다.

abstract ITestDevice allocateDevice(IDeviceSelection options)

특정 기준을 충족하는 테스트 기기를 요청합니다.

abstract ITestDevice allocateDevice()

테스트용 실제 기기 요청

abstract ITestDevice connectToTcpDevice(String ipAndPort)

adb-over-tcp로 기기에 연결

이 메서드는 새 기기를 할당하며, 이는 결국 disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice)를 통해 해제되어야 합니다.

반환된 ITestDevice는 온라인 상태이지만 응답하지 않을 수 있습니다.

abstract boolean disconnectFromTcpDevice(ITestDevice tcpDevice)

adb-over-tcp 연결된 기기에서 연결 해제합니다.

abstract void displayDevicesInfo(PrintWriter printWriter, boolean includeStub)

알려진 기기 목록, 기기 상태, 일반적으로 사용되는 IDeviceSelection 옵션의 값이 포함된 사용자 친화적인 설명을 출력합니다.

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

사용할 빠른 부팅 바이너리의 경로를 반환합니다.

abstract void init(IDeviceSelection globalDeviceFilter, deviceMonitors)

기기 필터로 기기 관리자를 초기화합니다.

abstract void init()

기기 관리자를 초기화합니다.

abstract boolean isEmulator(String serial)

주어진 일련번호가 에뮬레이터를 나타내는지 확인

default boolean isFileSystemMountCheckEnabled()

파일 시스템이 올바르게 마운트되었는지 NativeDeviceStateMonitor에서 확인해야 하는지 여부를 반환합니다.

abstract boolean isNullDevice(String serial)

지정된 일련번호가 null 기기를 나타내는지 확인

abstract void killEmulator(ITestDevice device)

지정된 에뮬레이터를 종료합니다.

abstract void launchEmulator(ITestDevice device, long bootTimeout, IRunUtil runUtil, emulatorArgs)

에뮬레이터를 실행하는 도우미 메서드입니다.

abstract listAllDevices(boolean shortDescriptor)

알려진 모든 기기의 DeviceDescriptor 목록을 반환합니다.

abstract listAllDevices()

알려진 모든 기기의 DeviceDescriptor 목록을 반환합니다.

abstract ITestDevice reconnectDeviceToTcp(ITestDevice usbDevice)

지정된 USB 기기를 adb-over-tcp 모드로 전환한 다음 connectToTcpDevice(String)를 통해 연결하는 도우미 메서드입니다.

abstract void removeDeviceMonitor(IDeviceMonitor mon)

이전에 추가된 IDeviceMonitor를 삭제합니다.

abstract void removeFastbootListener(IDeviceManager.IFastbootListener listener)

리스너가 더 이상 빠른 부팅 상태 변경에 관심이 없음을 관리자에게 알립니다.

abstract void restartAdbBridge()

adb 브리지를 다시 시작합니다 (stopAdbBridge()가 호출된 경우). 서비스는 adb 연결에 종속됩니다.

abstract void stopAdbBridge()

adb 연결에 종속된 adb 브리징 및 서비스를 중지합니다.

abstract void terminate()

기기 모니터링 서비스를 중지하고 ddm 라이브러리를 종료합니다.

abstract void terminateDeviceMonitor()

기기 모니터를 중지합니다.

abstract void terminateDeviceRecovery()

기기 복구 스레드를 중지합니다.

default void terminateHard(String reason)

terminateHard()와 같습니다.

abstract void terminateHard()

terminate()와 같지만 adb도 강제로 종료하려고 시도합니다.

abstract boolean waitForFirstDeviceAdded(long timeout)

첫 번째 물리적 기기가 연결될 때까지 기다립니다.

공개 메서드

addDeviceMonitor

public abstract void addDeviceMonitor (IDeviceMonitor mon)

IDeviceMonitor 추가

매개변수
mon IDeviceMonitor

addFastbootListener

public abstract void addFastbootListener (IDeviceManager.IFastbootListener listener)

리스너가 빠른 부팅 상태 변경에 관심이 있음을 관리자에게 알립니다.

현재 IDeviceManager는 활성 리스너가 하나 이상 있는 경우에만 빠른 부팅의 기기를 모니터링합니다.

TODO: 이 방법은 약간의 해킹입니다. 더 나은 해결책을 찾아보세요.

addMonitoringTcpFastbootDevice

public abstract void addMonitoringTcpFastbootDevice (String serial, 
                String fastboot_serial)

빠른 부팅 모니터에 기기를 추가합니다. 빠른 부팅 모니터는 'fastboot_serial'을 사용하여 기기와 통신합니다.

매개변수
serial String: 기기의 일련번호입니다.

fastboot_serial String: 기기의 빠른 부팅 모드 일련번호입니다.

allocateDevice

public abstract ITestDevice allocateDevice (IDeviceSelection options, 
                boolean isTemporary)

특정 기준을 충족하는 테스트 기기를 요청합니다.

매개변수
options IDeviceSelection: 기기가 충족해야 하는 IDeviceSelection입니다.

isTemporary boolean: 임시 NullDevice를 만들어야 하는지 여부입니다.

반환 값
ITestDevice 테스트용 ITestDevice 또는 사용할 수 없는 경우 null

allocateDevice

public abstract ITestDevice allocateDevice (IDeviceSelection options)

특정 기준을 충족하는 테스트 기기를 요청합니다.

매개변수
options IDeviceSelection: 기기가 충족해야 하는 IDeviceSelection입니다.

반환 값
ITestDevice 테스트용 ITestDevice 또는 사용할 수 없는 경우 null

allocateDevice

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

disconnectFromTcpDevice

public abstract boolean disconnectFromTcpDevice (ITestDevice tcpDevice)

adb-over-tcp 연결된 기기에서 연결 해제합니다.

기기를 USB 모드로 다시 전환하고 해제합니다.

매개변수
tcpDevice ITestDevice: 현재 tcp 모드이며 이전에 connectToTcpDevice(String)를 통해 할당된 기기

반환 값
boolean USB 모드로 전환에 성공한 경우 true

displayDevicesInfo

public abstract void displayDevicesInfo (PrintWriter printWriter, 
                boolean includeStub)

알려진 기기 목록, 기기 상태, 일반적으로 사용되는 IDeviceSelection 옵션의 값이 포함된 사용자 친화적인 설명을 출력합니다.

매개변수
printWriter PrintWriter: 설명을 출력할 ERROR(/PrintWriter)입니다.

includeStub boolean: 스텁 기기도 표시할지 여부입니다.

executeCmdOnAvailableDevice

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

freeDevice

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 또는 일련번호가 알려진 기기와 일치하지 않는 경우 null입니다.

getFastbootPath

public abstract String getFastbootPath ()

사용할 빠른 부팅 바이너리의 경로를 반환합니다.

반환 값
String

init

public abstract void init (IDeviceSelection globalDeviceFilter, 
                 deviceMonitors)

기기 필터로 기기 관리자를 초기화합니다. 이 필터를 사용하여 DeviceManager에 특정 연결된 기기를 무시하도록 지시할 수 있습니다.

매개변수
globalDeviceFilter IDeviceSelection: 기기 필터

deviceMonitors

init

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)

지정된 일련번호가 null 기기를 나타내는지 확인

매개변수
serial String

반환 값
boolean

killEmulator

public abstract void killEmulator (ITestDevice device)

지정된 에뮬레이터를 종료합니다.

에뮬레이터가 adb에서 사라질 때까지 차단합니다. 에뮬레이터를 사용할 수 없는 경우에는 영향을 미치지 않습니다.

매개변수
device ITestDevice: 종료할 에뮬레이터를 나타내는 ITestDevice

생성 값
DeviceNotAvailableException 에뮬레이터가 종료되지 않는 경우

launchEmulator

public abstract void launchEmulator (ITestDevice device, 
                long bootTimeout, 
                IRunUtil runUtil, 
                 emulatorArgs)

에뮬레이터를 실행하는 도우미 메서드입니다.

호출자가 지정한 대로 에뮬레이터를 실행합니다.

매개변수
device ITestDevice: 할당된 에뮬레이터 기기를 나타내는 자리표시자 ITestDevice

bootTimeout long: 에뮬레이터가 부팅될 때까지 기다리는 시간(밀리초)

emulatorArgs : 에뮬레이터를 실행하는 명령줄 인수

생성 값
DeviceNotAvailableException 에뮬레이터가 부팅되지 않거나 온라인 상태가 되지 않는 경우

listAllDevices

public abstract  listAllDevices (boolean shortDescriptor)

알려진 모든 기기의 DeviceDescriptor 목록을 반환합니다.

매개변수
shortDescriptor boolean: 설명자를 최소 정보로 제한할지 여부입니다.

반환 값
알려진 모든 기기의 DeviceDescriptor 목록

listAllDevices

public abstract  listAllDevices ()

알려진 모든 기기의 DeviceDescriptor 목록을 반환합니다.

반환 값
알려진 모든 기기의 DeviceDescriptor 목록

reconnectDeviceToTcp

public abstract ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)

지정된 USB 기기를 adb-over-tcp 모드로 전환한 다음 connectToTcpDevice(String)를 통해 연결하는 도우미 메서드입니다.

매개변수
usbDevice ITestDevice: 현재 USB 모드인 기기

반환 값
ITestDevice tcp 모드에서 새로 할당된 ITestDevice 또는 tcp 연결을 형성할 수 없는 경우 null

생성 값
DeviceNotAvailableException usbDevice와의 연결이 끊어져 복구할 수 없는 경우

removeDeviceMonitor

public abstract void removeDeviceMonitor (IDeviceMonitor mon)

이전에 추가된 IDeviceMonitor를 삭제합니다. mon이 추가되지 않은 경우에는 영향을 미치지 않습니다.

매개변수
mon IDeviceMonitor

removeFastbootListener

public abstract void removeFastbootListener (IDeviceManager.IFastbootListener listener)

리스너가 더 이상 빠른 부팅 상태 변경에 관심이 없음을 관리자에게 알립니다.

restartAdbBridge

public abstract void restartAdbBridge ()

adb 브리지를 다시 시작합니다 (stopAdbBridge()가 호출된 경우). 서비스는 adb 연결에 종속됩니다.

stopAdbBridge

public abstract void stopAdbBridge ()

adb 연결에 종속된 adb 브리징 및 서비스를 중지합니다.

종료

public abstract void terminate ()

기기 모니터링 서비스를 중지하고 ddm 라이브러리를 종료합니다.

애플리케이션 종료 시 호출해야 합니다.

terminateDeviceMonitor

public abstract void terminateDeviceMonitor ()

기기 모니터를 중지합니다.

terminateDeviceRecovery

public abstract void terminateDeviceRecovery ()

기기 복구 스레드를 중지합니다.

terminateHard

public void terminateHard (String reason)

terminateHard()와 같습니다.

매개변수
reason String: 해지의 이유(선택사항)입니다.

terminateHard

public abstract void terminateHard ()

terminate()와 같지만 adb도 강제로 종료하려고 시도합니다.

waitForFirstDeviceAdded

public abstract boolean waitForFirstDeviceAdded (long timeout)

첫 번째 물리적 기기가 연결될 때까지 기다립니다. 이전에 기기가 연결된 경우 True를 직접 반환합니다. 기기가 추가되지 않은 경우 제한 시간 후 false를 반환합니다.

매개변수
timeout long: false를 반환하기 전에 기다리는 시간(밀리초)입니다.

반환 값
boolean