DeviceManager

public class DeviceManager
extends Object implements IDeviceManager

java.lang.Object
   ↳ com.android.tradefed.device.DeviceManager


Resumen

Clases anidadas

class DeviceManager.FastbootDevice

Representación de un dispositivo en modo fastboot. 

Constantes

String UNKNOWN_DISPLAY_STRING

Cadena de visualización para propiedades desconocidas

Campos

protected DeviceMonitorMultiplexer mDvcMon

protected boolean mFastbootEnabled

Constructores públicos

DeviceManager()

El DeviceManager se debe recuperar de GlobalConfiguration

Métodos públicos

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

Agrega un IDeviceMonitor

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

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

void addMonitoringTcpFastbootDevice(String serial, String fastbootSerial)

Agrega un dispositivo al monitor de fastboot.

ITestDevice allocateDevice(IDeviceSelection options, boolean isTemporary)

Solicitar un dispositivo para pruebas que cumpla con ciertos criterios

ITestDevice allocateDevice(IDeviceSelection options)

Solicitar un dispositivo para pruebas que cumpla con ciertos criterios

ITestDevice allocateDevice()

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

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.

boolean disconnectFromTcpDevice(ITestDevice tcpDevice)

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

void displayDevicesInfo(PrintWriter stream, 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.

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

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

String executeGlobalAdbCommand(String... cmdArgs)

Ejecuta un comando de adb que no esté dirigido a un dispositivo en particular, p. ej.,

ITestDevice forceAllocateDevice(String serial)

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

void freeDevice(ITestDevice device, FreeDeviceState deviceState)

Devuelve un dispositivo al grupo

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

String getAdbPath()

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

String getAdbVersion()

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

DeviceDescriptor getDeviceDescriptor(String serial)

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

String getFastbootPath()

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

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors, IManagedTestDeviceFactory deviceFactory)

Inicializa el administrador de dispositivos.

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors)

Inicializa el administrador de dispositivos.

void init()

Inicializa el administrador de dispositivos.

boolean isEmulator(String serial)

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

boolean isFileSystemMountCheckEnabled()

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

boolean isNullDevice(String serial)

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

void killEmulator(ITestDevice device)

Apaga el emulador determinado.

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

Método auxiliar para iniciar el emulador.

listAllDevices(boolean shortDescriptor)

Devuelve una lista de DeviceDescriptors para todos los dispositivos conocidos.

listAllDevices()

Devuelve una lista de DeviceDescriptors para todos los dispositivos conocidos.

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

void removeDeviceMonitor(IDeviceMonitor mon)

Quita un IDeviceMonitor agregado anteriormente.

void removeFastbootListener(IDeviceManager.IFastbootListener listener)

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

void removeMonitoringTcpFastbootDevice(String serial)

void restartAdbBridge()

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

void stopAdbBridge()

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

void terminate()

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

void terminateDeviceMonitor()

Detén los monitores de dispositivos.

void terminateDeviceRecovery()

Detiene el subproceso de recuperación del dispositivo.

void terminateHard(String reason)

Similar a terminateHard()

void terminateHard()

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

boolean waitForFirstDeviceAdded(long timeout)

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

Constantes

UNKNOWN_DISPLAY_STRING

public static final String UNKNOWN_DISPLAY_STRING

Cadena de visualización para propiedades desconocidas

Valor de la constante: "unknown"

Campos

mDvcMon

protected DeviceMonitorMultiplexer mDvcMon

mFastbootEnabled

protected boolean mFastbootEnabled

Constructores públicos

DeviceManager

public DeviceManager ()

El DeviceManager se debe recuperar de GlobalConfiguration

Métodos públicos

addAvailableDevice

public void addAvailableDevice (IDevice stubDevice)

Parámetros
stubDevice IDevice

addAvailableNativeDevice

public void addAvailableNativeDevice (IDevice stubDevice)

Parámetros
stubDevice IDevice

addDeviceMonitor

public void addDeviceMonitor (IDeviceMonitor mon)

Agrega un IDeviceMonitor

Parámetros
mon IDeviceMonitor

addFastbootDevice

public void addFastbootDevice (DeviceManager.FastbootDevice fastbootDevice)

Parámetros
fastbootDevice DeviceManager.FastbootDevice

addFastbootListener

public 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 void addMonitoringTcpFastbootDevice (String serial, 
                String fastbootSerial)

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.

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

allocateDevice

public 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 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 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 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 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 void displayDevicesInfo (PrintWriter stream, 
                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
stream 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 CommandResult executeCmdOnAvailableDevice (String serial, 
                String command, 
                long timeout, 
                TimeUnit timeUnit)

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.

executeGlobalAdbCommand

public String executeGlobalAdbCommand (String... cmdArgs)

Ejecuta un comando de adb que no esté dirigido a un dispositivo en particular, p. ej., "adb connect"

Muestra
String Es la salida estándar si el comando se ejecuta correctamente; de lo contrario, es nula.

forceAllocateDevice

public 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 void freeDevice (ITestDevice device, 
                FreeDeviceState deviceState)

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á.

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

getAdbPath

public String getAdbPath ()

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

Muestra
String

getAdbVersion

public String getAdbVersion ()

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

Muestra
String

getDeviceDescriptor

public 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 String getFastbootPath ()

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

Muestra
String

init

public void init (IDeviceSelection globalDeviceFilter, 
                 globalDeviceMonitors, 
                IManagedTestDeviceFactory deviceFactory)

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

Parámetros
globalDeviceFilter IDeviceSelection

globalDeviceMonitors

deviceFactory IManagedTestDeviceFactory

init

public void init (IDeviceSelection globalDeviceFilter, 
                 globalDeviceMonitors)

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

Parámetros
globalDeviceFilter IDeviceSelection: El filtro de dispositivos

globalDeviceMonitors

init

public void init ()

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

isEmulator

public 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 boolean isNullDevice (String serial)

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

Parámetros
serial String

Muestra
boolean

killEmulator

public 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

launchEmulator

public 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

listAllDevices

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

Devuelve una lista de DeviceDescriptors para todos los dispositivos conocidos.

Muestra
una lista de DeviceDescriptor para todos los dispositivos conocidos

reconnectDeviceToTcp

public 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

removeDeviceMonitor

public void removeDeviceMonitor (IDeviceMonitor mon)

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

Parámetros
mon IDeviceMonitor

removeFastbootListener

public 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 void restartAdbBridge ()

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

stopAdbBridge

public void stopAdbBridge ()

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

cancelar

public 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 void terminateDeviceMonitor ()

Detén los monitores de dispositivos.

terminateDeviceRecovery

public 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 void terminateHard ()

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

waitForFirstDeviceAdded

public 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