DeviceManager

public class DeviceManager
extends Object implements IDeviceManager

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


Resumo

Classes aninhadas

class DeviceManager.FastbootDevice

Representação de um dispositivo no modo fastboot. 

Constantes

String UNKNOWN_DISPLAY_STRING

String de exibição para propriedades desconhecidas.

Campos

protected DeviceMonitorMultiplexer mDvcMon

protected boolean mFastbootEnabled

Construtores públicos

DeviceManager()

O DeviceManager precisa ser extraído do GlobalConfiguration.

Métodos públicos

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

Adiciona um IDeviceMonitor

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

Informa ao gerenciador que um listener tem interesse em mudanças de estado do fastboot.

void addMonitoringTcpFastbootDevice(String serial, String fastbootSerial)

Adicione um dispositivo ao monitor fastboot.

ITestDevice allocateDevice(IDeviceSelection options, boolean isTemporary)

Solicite um dispositivo para teste que atenda a determinados critérios.

ITestDevice allocateDevice(IDeviceSelection options)

Solicite um dispositivo para teste que atenda a determinados critérios.

ITestDevice allocateDevice()

Solicitar um dispositivo físico para testes

ITestDevice connectToTcpDevice(String ipAndPort)

Conectar a um dispositivo com adb-over-tcp

Esse método aloca um novo dispositivo, que eventualmente precisa ser liberado usando disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice)

O ITestDevice retornado estará on-line, mas talvez não seja responsivo.

boolean disconnectFromTcpDevice(ITestDevice tcpDevice)

Desconecte um dispositivo conectado por adb-over-tcp.

void displayDevicesInfo(PrintWriter stream, boolean includeStub)

Gere uma descrição fácil de usar com uma lista de dispositivos conhecidos, o estado deles e os valores das opções IDeviceSelection usadas com frequência.

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

Um método auxiliar para executar comandos do shell no dispositivo disponível.

String executeGlobalAdbCommand(String... cmdArgs)

Execute um comando adb não direcionado a um dispositivo específico, por exemplo,

ITestDevice forceAllocateDevice(String serial)

Alocar um dispositivo de forma rude, mesmo que ele não esteja disponível no momento.

void freeDevice(ITestDevice device, FreeDeviceState deviceState)

Retornar um dispositivo ao pool

As tentativas de devolver um dispositivo que não foi alocado antes serão ignoradas.

String getAdbPath()

Retorna o caminho para o binário adb a ser usado.

String getAdbVersion()

Confira a versão do adb em uso pelo gerenciador de dispositivos.

DeviceDescriptor getDeviceDescriptor(String serial)

Retorna o DeviceDescriptor com o número de série fornecido.

String getFastbootPath()

Retorna o caminho para o binário fastboot a ser usado.

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors, IManagedTestDeviceFactory deviceFactory)

Inicialize o gerenciador de dispositivos.

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors)

Inicialize o gerenciador de dispositivos.

void init()

Inicialize o gerenciador de dispositivos.

boolean isEmulator(String serial)

Determinar se o número de série fornecido representa um emulador

boolean isFileSystemMountCheckEnabled()

Retorna se devemos ou não verificar em NativeDeviceStateMonitor se o sistema de arquivos está montado corretamente.

boolean isNullDevice(String serial)

Determinar se o número de série fornecido representa um dispositivo nulo

void killEmulator(ITestDevice device)

Encerre o emulador especificado.

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

Método auxiliar para iniciar o emulador.

listAllDevices(boolean shortDescriptor)

Retorna uma lista de DeviceDescriptors para todos os dispositivos conhecidos.

listAllDevices()

Retorna uma lista de DeviceDescriptors para todos os dispositivos conhecidos.

ITestDevice reconnectDeviceToTcp(ITestDevice usbDevice)

Um método auxiliar que muda o dispositivo USB especificado para o modo adb-over-tcp e se conecta a ele via connectToTcpDevice(String).

void removeDeviceMonitor(IDeviceMonitor mon)

Remove um IDeviceMonitor adicionado anteriormente.

void removeFastbootListener(IDeviceManager.IFastbootListener listener)

Informa ao gerenciador que um listener não tem mais interesse em mudanças de estado do fastboot.

void removeMonitoringTcpFastbootDevice(String serial)

void restartAdbBridge()

Reinicie (se stopAdbBridge() foi chamado) a ponte adb e os serviços dependem de conexões adb.

void stopAdbBridge()

Interrompa a ponte adb e os serviços que dependem de conexões adb.

void terminate()

Interrompe os serviços de monitoramento de dispositivos e encerra a biblioteca ddm.

void terminateDeviceMonitor()

Pare os monitores de dispositivo.

void terminateDeviceRecovery()

Interrompe a linha de execução de recuperação do dispositivo.

void terminateHard(String reason)

Como terminateHard().

void terminateHard()

Semelhante a terminate(), mas também tenta encerrar o adb à força.

boolean waitForFirstDeviceAdded(long timeout)

Aguarde até que um primeiro dispositivo físico seja conectado.

Constantes

UNKNOWN_DISPLAY_STRING

public static final String UNKNOWN_DISPLAY_STRING

String de exibição para propriedades desconhecidas.

Valor da constante: "unknown"

Campos

mDvcMon

protected DeviceMonitorMultiplexer mDvcMon

mFastbootEnabled

protected boolean mFastbootEnabled

Construtores públicos

DeviceManager

public DeviceManager ()

O DeviceManager precisa ser extraído do 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)

Adiciona um 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 ao gerenciador que um listener tem interesse em mudanças de estado do fastboot.

No momento, um IDeviceManager só monitora dispositivos no fastboot se houver um ou mais listeners ativos.

TODO: isso é um pouco complicado. Encontre uma solução melhor.

addMonitoringTcpFastbootDevice

public void addMonitoringTcpFastbootDevice (String serial, 
                String fastbootSerial)

Adicione um dispositivo ao monitor fastboot. O monitor fastboot vai usar "fastboot_serial" para se comunicar com o dispositivo.

Parâmetros
serial String: o número de série do dispositivo.

fastbootSerial String: o número de série do modo fastboot do dispositivo.

allocateDevice

public ITestDevice allocateDevice (IDeviceSelection options, 
                boolean isTemporary)

Solicite um dispositivo para teste que atenda a determinados critérios.

Parâmetros
options IDeviceSelection: o IDeviceSelection que o dispositivo precisa atender.

isTemporary boolean: se um NullDevice temporário precisa ser criado.

Retorna
ITestDevice um ITestDevice para teste ou null se não houver um disponível

allocateDevice

public ITestDevice allocateDevice (IDeviceSelection options)

Solicite um dispositivo para teste que atenda a determinados critérios.

Parâmetros
options IDeviceSelection: o IDeviceSelection que o dispositivo precisa atender.

Retorna
ITestDevice um ITestDevice para teste ou null se não houver um disponível

allocateDevice

public ITestDevice allocateDevice ()

Solicitar um dispositivo físico para testes

Retorna
ITestDevice um ITestDevice para teste ou null se não houver um disponível

connectToTcpDevice

public ITestDevice connectToTcpDevice (String ipAndPort)

Conectar a um dispositivo com adb-over-tcp

Esse método aloca um novo dispositivo, que eventualmente precisa ser liberado usando disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice)

O ITestDevice retornado estará on-line, mas talvez não seja responsivo.

Realizar uma ação como uma reinicialização em um dispositivo conectado por TCP vai interromper a conexão TCP com o dispositivo e resultar em um DeviceNotAvailableException

Parâmetros
ipAndPort String: o endereço IP e a porta originais do dispositivo a que se conectar.

Retorna
ITestDevice o ITestDevice ou null se não for possível formar uma conexão TCP

disconnectFromTcpDevice

public boolean disconnectFromTcpDevice (ITestDevice tcpDevice)

Desconecte um dispositivo conectado por adb-over-tcp.

Muda o dispositivo de volta para o modo USB e o libera.

Parâmetros
tcpDevice ITestDevice: o dispositivo atualmente no modo TCP, alocado anteriormente via connectToTcpDevice(String)

Retorna
boolean true se a mudança para o modo USB for bem-sucedida

displayDevicesInfo

public void displayDevicesInfo (PrintWriter stream, 
                boolean includeStub)

Gere uma descrição fácil de usar com uma lista de dispositivos conhecidos, o estado deles e os valores das opções IDeviceSelection usadas com frequência.

Parâmetros
stream PrintWriter: o ERROR(/PrintWriter) para gerar a descrição

includeStub boolean: indica se os dispositivos stub também serão mostrados.

executeCmdOnAvailableDevice

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

Um método auxiliar para executar comandos do shell em um dispositivo disponível.

Parâmetros
serial String: o número de série do dispositivo.

command String: o comando do shell.

timeout long: o tempo necessário para a conclusão do comando.

timeUnit TimeUnit: a unidade do tempo limite.

Retorna
CommandResult CommandResult.

executeGlobalAdbCommand

public String executeGlobalAdbCommand (String... cmdArgs)

Execute um comando adb não direcionado a um dispositivo específico, por exemplo, "adb connect"

Retorna
String Saída padrão se o comando for bem-sucedido, nulo caso contrário.

forceAllocateDevice

public ITestDevice forceAllocateDevice (String serial)

Alocar um dispositivo de forma rude, mesmo que ele não esteja disponível no momento.

Não terá efeito se o dispositivo já estiver alocado.

Parâmetros
serial String: o número de série do dispositivo a ser alocado.

Retorna
ITestDevice o ITestDevice ou null se não for possível alocar

freeDevice

public void freeDevice (ITestDevice device, 
                FreeDeviceState deviceState)

Retornar um dispositivo ao pool

As tentativas de devolver um dispositivo que não foi alocado antes serão ignoradas.

Parâmetros
device ITestDevice: o ITestDevice a ser liberado

deviceState FreeDeviceState: o FreeDeviceState. Usado para controlar se o dispositivo é retornado ao pool de dispositivos disponíveis.

getAdbPath

public String getAdbPath ()

Retorna o caminho para o binário adb a ser usado.

Retorna
String

getAdbVersion

public String getAdbVersion ()

Confira a versão do adb em uso pelo gerenciador de dispositivos.

Retorna
String

getDeviceDescriptor

public DeviceDescriptor getDeviceDescriptor (String serial)

Retorna o DeviceDescriptor com o número de série fornecido.

Parâmetros
serial String: número de série do dispositivo a ser recebido

Retorna
DeviceDescriptor o DeviceDescriptor do dispositivo selecionado ou nulo se o número de série não corresponder a um dispositivo conhecido.

getFastbootPath

public String getFastbootPath ()

Retorna o caminho para o binário fastboot a ser usado.

Retorna
String

init

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

Inicialize o gerenciador de dispositivos. Isso precisa ser chamado uma única vez antes de qualquer outro método.

Parâmetros
globalDeviceFilter IDeviceSelection

globalDeviceMonitors

deviceFactory IManagedTestDeviceFactory

init

public void init (IDeviceSelection globalDeviceFilter, 
                 globalDeviceMonitors)

Inicialize o gerenciador de dispositivos. Isso precisa ser chamado uma única vez antes de qualquer outro método.

Parâmetros
globalDeviceFilter IDeviceSelection: o filtro de dispositivo

globalDeviceMonitors

init

public void init ()

Inicialize o gerenciador de dispositivos. Isso precisa ser chamado uma única vez antes de qualquer outro método.

isEmulator

public boolean isEmulator (String serial)

Determinar se o número de série fornecido representa um emulador

Parâmetros
serial String

Retorna
boolean

isFileSystemMountCheckEnabled

public boolean isFileSystemMountCheckEnabled ()

Retorna se devemos ou não verificar em NativeDeviceStateMonitor se o sistema de arquivos está montado corretamente.

Retorna
boolean

isNullDevice

public boolean isNullDevice (String serial)

Determinar se o número de série fornecido representa um dispositivo nulo

Parâmetros
serial String

Retorna
boolean

killEmulator

public void killEmulator (ITestDevice device)

Encerre o emulador especificado.

Bloqueia até que o emulador desapareça do adb. Não terá efeito se o emulador já não estiver disponível.

Parâmetros
device ITestDevice: o ITestDevice que representa o emulador a ser desligado.

Gera
DeviceNotAvailableException

launchEmulator

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

Método auxiliar para iniciar o emulador.

Inicia o emulador conforme especificado pelo autor da chamada.

Parâmetros
device ITestDevice: o marcador de posição ITestDevice que representa o dispositivo emulador alocado.

bootTimeout long: o tempo em ms para aguardar a inicialização do emulador

emulatorArgs : argumentos da linha de comando para iniciar o emulador

Gera
DeviceNotAvailableException

listAllDevices

public  listAllDevices (boolean shortDescriptor)

Retorna uma lista de DeviceDescriptors para todos os dispositivos conhecidos.

Parâmetros
shortDescriptor boolean: se os descritores devem ser limitados às informações mínimas

Retorna
uma lista de DeviceDescriptor para todos os dispositivos conhecidos

listAllDevices

public  listAllDevices ()

Retorna uma lista de DeviceDescriptors para todos os dispositivos conhecidos.

Retorna
uma lista de DeviceDescriptor para todos os dispositivos conhecidos

reconnectDeviceToTcp

public ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)

Um método auxiliar que muda o dispositivo USB especificado para o modo adb-over-tcp e se conecta a ele via connectToTcpDevice(String).

Parâmetros
usbDevice ITestDevice: o dispositivo no modo USB

Retorna
ITestDevice o ITestDevice recém-alocado no modo TCP ou null se não for possível formar uma conexão TCP

Gera
DeviceNotAvailableException

removeDeviceMonitor

public void removeDeviceMonitor (IDeviceMonitor mon)

Remove um IDeviceMonitor adicionado anteriormente. Não tem efeito se "mon" não tiver sido adicionado.

Parâmetros
mon IDeviceMonitor

removeFastbootListener

public void removeFastbootListener (IDeviceManager.IFastbootListener listener)

Informa ao gerenciador que um listener não tem mais interesse em mudanças de estado do fastboot.

removeMonitoringTcpFastbootDevice

public void removeMonitoringTcpFastbootDevice (String serial)

Parâmetros
serial String

restartAdbBridge

public void restartAdbBridge ()

Reinicie (se stopAdbBridge() foi chamado) a ponte adb e os serviços dependem de conexões adb.

stopAdbBridge

public void stopAdbBridge ()

Interrompa a ponte adb e os serviços que dependem de conexões adb.

encerrar

public void terminate ()

Interrompe os serviços de monitoramento de dispositivos e encerra a biblioteca ddm.

Isso precisa ser chamado quando o aplicativo é encerrado.

terminateDeviceMonitor

public void terminateDeviceMonitor ()

Pare os monitores de dispositivo.

terminateDeviceRecovery

public void terminateDeviceRecovery ()

Interrompe a linha de execução de recuperação do dispositivo.

terminateHard

public void terminateHard (String reason)

Como terminateHard().

Parâmetros
reason String: motivo opcional para o encerramento.

terminateHard

public void terminateHard ()

Como terminate(), mas também tenta encerrar o adb à força.

waitForFirstDeviceAdded

public boolean waitForFirstDeviceAdded (long timeout)

Aguarde até que um primeiro dispositivo físico seja conectado. Se um dispositivo já tiver sido conectado, ele vai retornar True diretamente. Se nenhum dispositivo for adicionado, ele vai retornar "false" após o tempo limite.

Parâmetros
timeout long: tempo de espera em milissegundos antes de retornar "false".

Retorna
boolean