IDeviceManager

public interface IDeviceManager

com.android.tradefed.device.IDeviceManager


Interfaz para administrar el conjunto de dispositivos disponibles para las pruebas.

Resumen

Clases anidadas

interface IDeviceManager.IFastbootListener

Es un objeto de escucha para los cambios de estado de fastboot. 

Métodos públicos

abstract void addDeviceMonitor(IDeviceMonitor mon)

Agrega un IDeviceMonitor

abstract void addFastbootListener(IDeviceManager.IFastbootListener listener)

Informa al administrador que un objeto de escucha está interesado en los cambios de estado de fastboot.

abstract void addMonitoringTcpFastbootDevice(String serial, String fastboot_serial)

Agrega un dispositivo al monitor de fastboot.

abstract ITestDevice allocateDevice(IDeviceSelection options, boolean isTemporary)

Solicitar un dispositivo para pruebas que cumpla con ciertos criterios

abstract ITestDevice allocateDevice(IDeviceSelection options)

Solicitar un dispositivo para pruebas que cumpla con ciertos criterios

abstract ITestDevice allocateDevice()

Cómo solicitar un dispositivo físico para realizar pruebas

abstract ITestDevice connectToTcpDevice(String ipAndPort)

Cómo conectarse a un dispositivo con adb-over-tcp

Este método asigna un dispositivo nuevo, que, con el tiempo, se debería liberar a través de disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice).

El ITestDevice que se muestra estará en línea, pero es posible que no responda.

abstract boolean disconnectFromTcpDevice(ITestDevice tcpDevice)

Desconecta un dispositivo conectado a través de adb-over-tcp.

abstract void displayDevicesInfo(PrintWriter printWriter, boolean includeStub)

Genera una descripción fácil de usar que contiene una lista de los dispositivos conocidos, su estado y los valores de las opciones de IDeviceSelection que se usan con frecuencia.

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

Es un método auxiliar para ejecutar comandos de shell en el dispositivo disponible.

abstract ITestDevice forceAllocateDevice(String serial)

Asigna un dispositivo de forma grosera, incluso si no está disponible en ese momento.

abstract void freeDevice(ITestDevice device, FreeDeviceState state)

Devuelve un dispositivo al grupo

Se ignorarán los intentos de devolver un dispositivo que no se haya asignado previamente.

abstract String getAdbPath()

Devuelve la ruta de acceso al objeto binario de adb que se usará.

abstract String getAdbVersion()

Obtiene la versión de adb que usa actualmente el administrador de dispositivos.

abstract DeviceDescriptor getDeviceDescriptor(String serial)

Devuelve el DeviceDescriptor con el número de serie determinado.

abstract String getFastbootPath()

Devuelve la ruta de acceso al objeto binario de fastboot que se usará.

abstract void init(IDeviceSelection globalDeviceFilter, deviceMonitors)

Inicializa el administrador de dispositivos con un filtro de dispositivos.

abstract void init()

Inicializa el administrador de dispositivos.

abstract boolean isEmulator(String serial)

Determina si el número de serie determinado representa un emulador

default boolean isFileSystemMountCheckEnabled()

Devuelve si debemos verificar si el sistema de archivos NativeDeviceStateMonitor está activado correctamente.

abstract boolean isNullDevice(String serial)

Determina si el número de serie determinado representa un dispositivo nulo

abstract void killEmulator(ITestDevice device)

Apaga el emulador determinado.

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

Método auxiliar para iniciar el emulador.

abstract listAllDevices(boolean shortDescriptor)

Devuelve una lista de DeviceDescriptors para todos los dispositivos conocidos.

abstract listAllDevices()

Devuelve una lista de DeviceDescriptors para todos los dispositivos conocidos.

abstract ITestDevice reconnectDeviceToTcp(ITestDevice usbDevice)

Es un método auxiliar que cambia el dispositivo USB determinado al modo adb-over-tcp y, luego, se conecta a él a través de connectToTcpDevice(String).

abstract void removeDeviceMonitor(IDeviceMonitor mon)

Quita un IDeviceMonitor agregado anteriormente.

abstract void removeFastbootListener(IDeviceManager.IFastbootListener listener)

Informa al administrador que un objeto de escucha ya no está interesado en los cambios de estado de fastboot.

default void removeMonitoringTcpFastbootDevice(String serial)
abstract void restartAdbBridge()

Reinicia (si se llamó a stopAdbBridge()) el puente y los servicios de adb que dependen de las conexiones de adb.

abstract void stopAdbBridge()

Detiene el puente de adb y los servicios que dependen de las conexiones de adb.

abstract void terminate()

Detiene los servicios de supervisión del dispositivo y finaliza la biblioteca de DDM.

abstract void terminateDeviceMonitor()

Detén los monitores de dispositivos.

abstract void terminateDeviceRecovery()

Detiene el subproceso de recuperación del dispositivo.

default void terminateHard(String reason)

Similar a terminateHard()

abstract void terminateHard()

Es similar a terminate(), pero también intenta cerrar adb de forma forzada.

abstract boolean waitForFirstDeviceAdded(long timeout)

Espera hasta que se conecte un primer dispositivo físico.

Métodos públicos

addDeviceMonitor

public abstract void addDeviceMonitor (IDeviceMonitor mon)

Agrega un IDeviceMonitor

Parámetros
mon IDeviceMonitor

addFastbootListener

public abstract void addFastbootListener (IDeviceManager.IFastbootListener listener)

Informa al administrador que un objeto de escucha está interesado en los cambios de estado de fastboot.

Actualmente, un IDeviceManager solo supervisará los dispositivos en fastboot si hay uno o más objetos de escucha activos.

PENDIENTE: Esto es un poco improvisado. Busca una mejor solución.

addMonitoringTcpFastbootDevice

public abstract void addMonitoringTcpFastbootDevice (String serial, 
                String fastboot_serial)

Agrega un dispositivo al monitor de fastboot. El monitor de fastboot usará "fastboot_serial" para comunicarse con el dispositivo.

Parámetros
serial String: Es el número de serie del dispositivo.

fastboot_serial String: Es el número de serie del modo fastboot del dispositivo.

allocateDevice

public abstract ITestDevice allocateDevice (IDeviceSelection options, 
                boolean isTemporary)

Solicitar un dispositivo para pruebas que cumpla con ciertos criterios

Parámetros
options IDeviceSelection: Es el IDeviceSelection que debe cumplir el dispositivo.

isTemporary boolean: Indica si se debe crear un NullDevice temporal.

Muestra
ITestDevice Un ITestDevice para pruebas o null si no hay uno disponible

allocateDevice

public abstract ITestDevice allocateDevice (IDeviceSelection options)

Solicitar un dispositivo para pruebas que cumpla con ciertos criterios

Parámetros
options IDeviceSelection: Es el IDeviceSelection que debe cumplir el dispositivo.

Muestra
ITestDevice un ITestDevice para pruebas o null si no hay uno disponible

allocateDevice

public abstract ITestDevice allocateDevice ()

Cómo solicitar un dispositivo físico para realizar pruebas

Muestra
ITestDevice Un ITestDevice para pruebas o null si no hay uno disponible

connectToTcpDevice

public abstract ITestDevice connectToTcpDevice (String ipAndPort)

Cómo conectarse a un dispositivo con adb-over-tcp

Este método asigna un dispositivo nuevo, que, con el tiempo, se debería liberar a través de disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice).

El ITestDevice que se muestra estará en línea, pero es posible que no responda.

Ten en cuenta que realizar acciones como reiniciar un dispositivo conectado a TCP interrumpirá la conexión TCP con el dispositivo y generará un DeviceNotAvailableException.

Parámetros
ipAndPort String: La dirección IP y el puerto originales del dispositivo al que se conectará

Muestra
ITestDevice ITestDevice o null si no se pudo formar una conexión TCP

disconnectFromTcpDevice

public abstract boolean disconnectFromTcpDevice (ITestDevice tcpDevice)

Desconecta un dispositivo conectado a través de adb-over-tcp.

Vuelve a cambiar el dispositivo al modo USB y lo libera.

Parámetros
tcpDevice ITestDevice: Es el dispositivo que se encuentra actualmente en modo TCP, asignado previamente a través de connectToTcpDevice(String).

Muestra
boolean true si el cambio al modo USB se realizó correctamente

displayDevicesInfo

public abstract void displayDevicesInfo (PrintWriter printWriter, 
                boolean includeStub)

Genera una descripción fácil de usar que contiene una lista de los dispositivos conocidos, su estado y los valores de las opciones de IDeviceSelection que se usan con frecuencia.

Parámetros
printWriter PrintWriter: El objeto ERROR(/PrintWriter) en el que se generará la descripción.

includeStub boolean: Indica si también se deben mostrar los dispositivos simulados.

executeCmdOnAvailableDevice

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

Es un método auxiliar para ejecutar comandos de shell en el dispositivo disponible.

Parámetros
serial String: Es el número de serie del dispositivo.

command String: Es el comando de shell.

timeout long: Es la cantidad de tiempo que tarda en completarse el comando.

timeUnit TimeUnit: Es la unidad del tiempo de espera.

Muestra
CommandResult Un objeto CommandResult.

forceAllocateDevice

public abstract ITestDevice forceAllocateDevice (String serial)

Asigna un dispositivo de forma grosera, incluso si no está disponible en ese momento.

No tendrá efecto si el dispositivo ya está asignado.

Parámetros
serial String: Es el número de serie del dispositivo que se asignará.

Muestra
ITestDevice ITestDevice o null si no se pudo asignar

freeDevice

public abstract void freeDevice (ITestDevice device, 
                FreeDeviceState state)

Devuelve un dispositivo al grupo

Se ignorarán los intentos de devolver un dispositivo que no se haya asignado previamente.

Parámetros
device ITestDevice: Es el ITestDevice que se liberará.

state FreeDeviceState: Es el FreeDeviceState. Se usa para controlar si el dispositivo se devuelve al grupo de dispositivos disponibles.

getAdbPath

public abstract String getAdbPath ()

Devuelve la ruta de acceso al objeto binario de adb que se usará.

Muestra
String

getAdbVersion

public abstract String getAdbVersion ()

Obtiene la versión de adb que usa actualmente el administrador de dispositivos.

Muestra
String

getDeviceDescriptor

public abstract DeviceDescriptor getDeviceDescriptor (String serial)

Devuelve el DeviceDescriptor con el número de serie determinado.

Parámetros
serial String: Número de serie del dispositivo que se obtendrá

Muestra
DeviceDescriptor El DeviceDescriptor del dispositivo seleccionado o nulo si el número de serie no coincide con un dispositivo conocido.

getFastbootPath

public abstract String getFastbootPath ()

Devuelve la ruta de acceso al objeto binario de fastboot que se usará.

Muestra
String

init

public abstract void init (IDeviceSelection globalDeviceFilter, 
                 deviceMonitors)

Inicializa el administrador de dispositivos con un filtro de dispositivos. Este filtro se puede usar para indicarle a DeviceManager que ignore ciertos dispositivos conectados.

Parámetros
globalDeviceFilter IDeviceSelection: El filtro de dispositivos

deviceMonitors

init

public abstract void init ()

Inicializa el administrador de dispositivos. Se debe llamar una sola vez antes de llamar a cualquier otro método.

isEmulator

public abstract boolean isEmulator (String serial)

Determina si el número de serie determinado representa un emulador

Parámetros
serial String

Muestra
boolean

isFileSystemMountCheckEnabled

public boolean isFileSystemMountCheckEnabled ()

Devuelve si debemos verificar si el sistema de archivos NativeDeviceStateMonitor está activado correctamente.

Muestra
boolean

isNullDevice

public abstract boolean isNullDevice (String serial)

Determina si el número de serie determinado representa un dispositivo nulo

Parámetros
serial String

Muestra
boolean

killEmulator

public abstract void killEmulator (ITestDevice device)

Apaga el emulador determinado.

Se bloquea hasta que el emulador desaparece de adb. No tendrá ningún efecto si el emulador ya no está disponible.

Parámetros
device ITestDevice: Es el ITestDevice que representa el emulador que se cerrará.

Arroja
DeviceNotAvailableException Si el emulador no se apaga

launchEmulator

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

Método auxiliar para iniciar el emulador.

Se iniciará el emulador según lo especificado por el llamador.

Parámetros
device ITestDevice: Es el marcador de posición ITestDevice que representa el dispositivo emulador asignado.

bootTimeout long: Es el tiempo en ms que se espera para que se inicie el emulador.

emulatorArgs : Argumentos de línea de comandos para iniciar el emulador

Arroja
DeviceNotAvailableException Si el emulador no se inicia o no se conecta

listAllDevices

public abstract  listAllDevices (boolean shortDescriptor)

Devuelve una lista de DeviceDescriptors para todos los dispositivos conocidos.

Parámetros
shortDescriptor boolean: Indica si se deben limitar los descriptores a la información mínima.

Muestra
una lista de DeviceDescriptor para todos los dispositivos conocidos

listAllDevices

public abstract  listAllDevices ()

Devuelve una lista de DeviceDescriptors para todos los dispositivos conocidos.

Muestra
una lista de DeviceDescriptor para todos los dispositivos conocidos

reconnectDeviceToTcp

public abstract ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)

Es un método auxiliar que cambia el dispositivo USB determinado al modo adb-over-tcp y, luego, se conecta a él a través de connectToTcpDevice(String).

Parámetros
usbDevice ITestDevice: El dispositivo que se encuentra actualmente en modo USB

Muestra
ITestDevice El ITestDevice recién asignado en modo tcp o null si no se pudo formar una conexión tcp

Arroja
DeviceNotAvailableException Si se perdió la conexión con usbDevice y no se pudo recuperar

removeDeviceMonitor

public abstract void removeDeviceMonitor (IDeviceMonitor mon)

Quita un IDeviceMonitor agregado anteriormente. No tiene efecto si no se agregó el monstruo.

Parámetros
mon IDeviceMonitor

removeFastbootListener

public abstract void removeFastbootListener (IDeviceManager.IFastbootListener listener)

Informa al administrador que un objeto de escucha ya no está interesado en los cambios de estado de fastboot.

removeMonitoringTcpFastbootDevice

public void removeMonitoringTcpFastbootDevice (String serial)

Parámetros
serial String

restartAdbBridge

public abstract void restartAdbBridge ()

Reinicia (si se llamó a stopAdbBridge()) el puente y los servicios de adb que dependen de las conexiones de adb.

stopAdbBridge

public abstract void stopAdbBridge ()

Detiene el puente de adb y los servicios que dependen de las conexiones de adb.

cancelar

public abstract void terminate ()

Detiene los servicios de supervisión del dispositivo y finaliza la biblioteca de DDM.

Se debe llamar a este método cuando finaliza la aplicación.

terminateDeviceMonitor

public abstract void terminateDeviceMonitor ()

Detén los monitores de dispositivos.

terminateDeviceRecovery

public abstract void terminateDeviceRecovery ()

Detiene el subproceso de recuperación del dispositivo.

terminateHard

public void terminateHard (String reason)

Similar a terminateHard()

Parámetros
reason String: Es el motivo opcional que se proporciona para la finalización.

terminateHard

public abstract void terminateHard ()

Es similar a terminate(), pero también intenta cerrar adb de forma forzada.

waitForFirstDeviceAdded

public abstract boolean waitForFirstDeviceAdded (long timeout)

Espera hasta que se conecte un primer dispositivo físico. Si un dispositivo se conectó antes, devuelve directamente True. Si no se agregó ningún dispositivo, devuelve false después del tiempo de espera.

Parámetros
timeout long: Tiempo de espera en milisegundos antes de devolver falso.

Muestra
boolean