DeviceManager

public class DeviceManager
extends Object implements IDeviceManager

java.lang.Object의 클래스
   ↳ com.android.tradefed.device.DeviceManager


요약

중첩된 클래스

class DeviceManager.FastbootDevice

빠른 부팅 모드의 기기 표현 

필드

public static final String UNKNOWN_DISPLAY_STRING

알 수 없는 속성의 표시 문자열

protected DeviceMonitorMultiplexer mDvcMon

protected boolean mFastbootEnabled

공개 생성자

DeviceManager()

DeviceManager는 GlobalConfiguration에서 가져와야 합니다.

공개 메서드

void addAvailableDevice(IDevice stubDevice)
void addDeviceMonitor(IDeviceMonitor mon)

IDeviceMonitor를 추가합니다.

void addFastbootDevice(DeviceManager.FastbootDevice fastbootDevice)
void addFastbootListener(IDeviceManager.IFastbootListener listener)

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

void addMonitoringTcpFastbootDevice(String serial, String fastboot_serial)

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

ITestDevice allocateDevice(IDeviceSelection options, boolean isTemporary)

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

ITestDevice allocateDevice(IDeviceSelection options)

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

ITestDevice allocateDevice()

테스트용 실제 기기 요청

ITestDevice connectToTcpDevice(String ipAndPort)

adb-over-tcp로 기기에 연결

이 메서드는 새 기기를 할당하며, 이 기기는 결국 disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice)

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

boolean disconnectFromTcpDevice(ITestDevice tcpDevice)

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

void displayDevicesInfo(PrintWriter stream, boolean includeStub)

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

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, globalDeviceMonitors, IManagedTestDeviceFactory deviceFactory)

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

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors)

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

void init()

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

boolean isEmulator(String serial)

지정된 일련번호가 에뮬레이터를 나타내는지 확인

boolean isFileSystemMountCheckEnabled()

NativeDeviceStateMonitor에서 파일 시스템이 확인해야 하는지 여부를 반환합니다. 제대로 마운트할 수 있습니다.

boolean isNullDevice(String serial)

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

void killEmulator(ITestDevice device)

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

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

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

listAllDevices(boolean shortDescriptor)

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

listAllDevices()

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

ITestDevice reconnectDeviceToTcp(ITestDevice usbDevice)

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

void removeDeviceMonitor(IDeviceMonitor mon)

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

void removeFastbootListener(IDeviceManager.IFastbootListener listener)

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

void restartAdbBridge()

다시 시작 (stopAdbBridge()가 호출된 경우) adb 브리지 및 서비스가 adb에 종속됨 연결을 설정할 수 있습니다

void stopAdbBridge()

adb 브리지 및 서비스는 adb 연결에 종속됩니다.

void terminate()

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

void terminateDeviceMonitor()

Device Monitor를 중지합니다.

void terminateDeviceRecovery()

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

void terminateHard(String reason)

terminateHard()처럼요.

void terminateHard()

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

boolean waitForFirstDeviceAdded(long timeout)

첫 번째 실제 기기가 연결될 때까지 기다립니다.

필드

UNKNOWN_DISPLAY_STRING(알 수 없음)

public static final String UNKNOWN_DISPLAY_STRING

알 수 없는 속성의 표시 문자열

mDvcMon

protected DeviceMonitorMultiplexer mDvcMon

mFastbootEnabled

protected boolean mFastbootEnabled

공개 생성자

DeviceManager

public DeviceManager ()

DeviceManager는 GlobalConfiguration에서 가져와야 합니다.

공개 메서드

addAvailableDevice

public void addAvailableDevice (IDevice stubDevice)

매개변수
stubDevice IDevice

기기 모니터링 추가

public void addDeviceMonitor (IDeviceMonitor mon)

IDeviceMonitor를 추가합니다.

매개변수
mon IDeviceMonitor

addFastbootDevice

public void addFastbootDevice (DeviceManager.FastbootDevice fastbootDevice)

매개변수
fastbootDevice DeviceManager.FastbootDevice

addFastbootListener

public void addFastbootListener (IDeviceManager.IFastbootListener listener)

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

현재 IDeviceManager는 빠른 부팅이 있는 기기만 모니터링합니다. 더 적극적으로 참여할 수 있습니다

TODO: 조금 편한데요. 더 나은 해결책을 찾아보세요.

addMonitoringTcpFastbootDevice

public void addMonitoringTcpFastbootDevice (String serial, 
                String fastboot_serial)

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

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

fastboot_serial 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

연결 끊김

public boolean disconnectFromTcpDevice (ITestDevice tcpDevice)

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

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

매개변수
tcpDevice ITestDevice: 현재 tcp 모드이며 이전에 다음을 통해 할당된 기기입니다. connectToTcpDevice(String)

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

디스플레이 기기 정보

public void displayDevicesInfo (PrintWriter stream, 
                boolean includeStub)

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

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

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

runCmdOnAvailableDevice

public CommandResult executeCmdOnAvailableDevice (String serial, 
                String command, 
                long timeout, 
                TimeUnit timeUnit)

사용 가능한 기기에서 셸 명령어를 실행하는 도우미 메서드입니다.

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

command String: 셸 명령어입니다.

timeout long: 명령어가 완료되는 데 걸리는 시간입니다.

timeUnit TimeUnit: 제한 시간 단위입니다.

반환 값
CommandResult CommandResult -

runGlobalAdbCommand

public String executeGlobalAdbCommand (String... cmdArgs)

특정 기기에 타겟팅되지 않은 adb 명령어 실행(예: 'adb 연결'

반환 값
String 명령어가 성공하지 못하면 null이 반환됩니다.

forceAllocateDevice

public ITestDevice forceAllocateDevice (String serial)

현재 사용할 수 없는 기기라고 하더라도 무례하게 기기를 할당합니다.

기기가 이미 할당된 경우에는 아무런 영향을 미치지 않습니다.

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

반환 값
ITestDevice ITestDevice 또는 할당할 수 없는 경우 null

무료 기기

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

모든 기기 나열

public  listAllDevices (boolean shortDescriptor)

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

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

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

모든 기기 나열

public  listAllDevices ()

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

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

재연결 기기 ToTcp

public ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)

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

매개변수
usbDevice ITestDevice: 현재 USB 모드인 기기입니다.

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

생성 값
DeviceNotAvailableException

기기 모니터링 삭제

public void removeDeviceMonitor (IDeviceMonitor mon)

이전에 추가된 IDeviceMonitor를 삭제합니다. mon이 추가되지 않으면 아무런 효과가 없습니다.

매개변수
mon IDeviceMonitor

removeFastbootListener

public void removeFastbootListener (IDeviceManager.IFastbootListener listener)

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

재시작AdbBridge

public void restartAdbBridge ()

다시 시작 (stopAdbBridge()가 호출된 경우) adb 브리지 및 서비스가 adb에 종속됨 연결을 설정할 수 있습니다

StopAdbridge

public void stopAdbBridge ()

adb 브리지 및 서비스는 adb 연결에 종속됩니다.

해지하다

public void terminate ()

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

이 메서드는 애플리케이션이 종료될 때 호출되어야 합니다.

EndDeviceMonitor(종료 기기 모니터링)

public void terminateDeviceMonitor ()

Device Monitor를 중지합니다.

endDeviceRecovery(종료 기기 복구)

public void terminateDeviceRecovery ()

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

종료하드

public void terminateHard (String reason)

terminateHard()처럼요.

매개변수
reason String: 종료에 대한 이유입니다(선택사항).

종료하드

public void terminateHard ()

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

waitForFirstDevice추가됨

public boolean waitForFirstDeviceAdded (long timeout)

첫 번째 실제 기기가 연결될 때까지 기다립니다. 이전에 연결된 적이 있는 기기라면 직접 True를 반환합니다. 추가된 기기가 없으면 시간 초과 후 false를 반환합니다.

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

반환 값
boolean