TestDevice

public class TestDevice
extends NativeDevice

java.lang.Object
   ↳ com.android.tradefed.device.NativeDevice
     ↳ com.android.tradefed.device.TestDevice


Implementação de um ITestDevice para um dispositivo Android de pilha completa

Resumo

Classes aninhadas

class TestDevice.MicrodroidBuilder

Um builder usado para criar um Microdroid TestDevice. 

Campos

public static final String DISMISS_KEYGUARD_CMD

Comandos que podem ser usados para dispensar a tela de bloqueio.

Construtores públicos

TestDevice(IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

Métodos públicos

boolean canSwitchToHeadlessSystemUser()

Retorna se é permitido alternar para o usuário headless SYSTEM.

boolean clearErrorDialogs()

Tente dispensar as caixas de diálogo de erro exibidas na interface do dispositivo.

int createUser(String name)

Crie um usuário com um nome e flags padrão 0.

int createUser(String name, boolean guest, boolean ephemeral, boolean forTesting)

Criar um usuário com um nome e as flags fornecidas

int createUser(String name, boolean guest, boolean ephemeral)

Criar um usuário com um nome e as flags fornecidas

int createUserNoThrow(String name)

Cria um usuário com um nome determinado e flags padrão 0.

void disableKeyguard()

Tenta desativar o bloqueio de teclado.

boolean doesFileExist(String deviceFilePath)

Método auxiliar para determinar se o arquivo no dispositivo existe.

boolean doesFileExist(String deviceFilePath, int userId)

Método auxiliar para determinar se o arquivo no dispositivo existe para um determinado usuário.

File dumpHeap(String process, String devicePath)

Tenta despejar a pilha do system_server.

getActiveApexes()

Busca as informações sobre os APEXes ativados no dispositivo.

getAllSettings(String namespace)

Retorna pares de chave-valor do namespace solicitado.

String getAndroidId(int userId)

Encontra e retorna o Android-ID associado a um userId, nulo se não encontrado.

getAndroidIds()

Crie um mapa de IDs do Android encontrados que correspondem aos IDs dos usuários.

PackageInfo getAppPackageInfo(String packageName)

Buscar informações sobre um pacote instalado no dispositivo.

getAppPackageInfos()

Buscar informações de pacotes instalados no dispositivo.

InputStreamSource getBugreport()

Recupera um relatório de bug do dispositivo.

InputStreamSource getBugreportz()

Recupera um bugreportz do dispositivo.

DeviceFoldableState getCurrentFoldableState()

Retorna o estado dobrável atual do dispositivo ou nulo se alguns problemas ocorreram.

int getCurrentUser()

Retorna o ID do usuário em execução atual.

getFoldableStates()

Retorna a lista de estados dobráveis no dispositivo.

getInstalledPackageNames()

Busque os nomes dos pacotes de apps presentes no dispositivo.

KeyguardControllerState getKeyguardState()

Retorne um objeto para obter o estado atual do bloqueio de teclado ou nulo, se não houver suporte.

Integer getMainUserId()

Retorna o ID do usuário principal.

getMainlineModuleInfo()

Receber informações sobre os módulos principais instalados no dispositivo.

int getMaxNumberOfRunningUsersSupported()

Receba o número máximo de usuários em execução simultaneamente com suporte.

int getMaxNumberOfUsersSupported()

Receba o número máximo de usuários com suporte.

Integer getPrimaryUserId()

Retorna o ID do usuário principal.

InputStreamSource getScreenshot()

Faz uma captura de tela do dispositivo.

InputStreamSource getScreenshot(String format, boolean rescale)

Faz uma captura de tela do dispositivo.

InputStreamSource getScreenshot(long displayId)

Faz uma captura de tela do ID de exibição fornecido do dispositivo.

InputStreamSource getScreenshot(String format)

Faz uma captura de tela do dispositivo.

String getSetting(String namespace, String key)

Consulte getSetting(int, String, String) e executado no usuário do sistema.

String getSetting(int userId, String namespace, String key)

Retorna o valor da configuração solicitada.

getUninstallablePackageNames()

Busca os nomes dos pacotes de aplicativos que podem ser desinstalados.

int getUserFlags(int userId)

Encontre e retorne as flags de um determinado usuário.

getUserInfos()

Recebe o mapa de useId para UserInfo no dispositivo.

int getUserSerialNumber(int userId)

Retorna o número de série associado ao userId, se encontrado, ou -10000 em outros casos.

boolean hasFeature(String feature)

Conferir se um recurso está disponível em um dispositivo.

String installPackage(File packageFile, boolean reinstall, String... extraArgs)

Instale um pacote do Android no dispositivo.

String installPackage(File packageFile, boolean reinstall, boolean grantPermissions, String... extraArgs)

Instale um pacote do Android no dispositivo.

String installPackage(File packageFile, File certFile, boolean reinstall, String... extraArgs)

Instale um pacote Android no dispositivo.

String installPackageForUser(File packageFile, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)

Instale um pacote Android no dispositivo para um determinado usuário.

String installPackageForUser(File packageFile, boolean reinstall, int userId, String... extraArgs)

Instale um pacote Android no dispositivo para um determinado usuário.

String installPackages( packageFiles, boolean reinstall, String... extraArgs)

String installPackages( packageFiles, boolean reinstall, boolean grantPermissions, String... extraArgs)

String installPackagesForUser( packageFiles, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)

String installPackagesForUser( packageFiles, boolean reinstall, int userId, String... extraArgs)

String installRemotePackages( remoteApkPaths, boolean reinstall, String... extraArgs)

String installRemotePackages( remoteApkPaths, boolean reinstall, boolean grantPermissions, String... extraArgs)

boolean isAppEnumerationSupported()

Verificar se a plataforma no dispositivo oferece suporte à enumeração de apps

boolean isHeadlessSystemUserMode()

Retorna se o dispositivo usa o modo de usuário do sistema sem cabeça.

boolean isMainUserPermanentAdmin()

Retorna se o usuário principal é um administrador permanente e não pode ser excluído ou rebaixado para o status de não administrador.

boolean isMultiUserSupported()

Determina se há suporte para vários usuários.

boolean isPackageInstalled(String packageName)

Consulte o dispositivo em busca de um nome de pacote específico para verificar se ele está instalado ou não.

boolean isPackageInstalled(String packageName, String userId)

Consulte o dispositivo em busca de um determinado nome de pacote e ID do usuário para verificar se ele está instalado ou não para esse usuário.

boolean isUserRunning(int userId)

Verificar se um determinado usuário está em execução.

boolean isUserSecondary(int userId)

Retorna se o usuário especificado é um usuário secundário, de acordo com as sinalizações dele.

boolean isUserVisible(int userId)

Verifica se o usuário especificado está visível.

boolean isUserVisibleOnDisplay(int userId, int displayId)

Verifica se o usuário está visível na tela.

boolean isVisibleBackgroundUsersOnDefaultDisplaySupported()

Retorna se o dispositivo permite que os usuários sejam iniciados visíveis em segundo plano no ERROR(/java.android.view.Display#DEFAULT_DISPLAY).

boolean isVisibleBackgroundUsersSupported()

Retorna se o dispositivo permite que os usuários sejam iniciados e visíveis em segundo plano.

listDisplayIds()

Coletar a lista de IDs de telas disponíveis no dispositivo, conforme informado por "dumpsys SurfaceFlinger".

listDisplayIdsForStartingVisibleBackgroundUsers()

Consegue a lista de telas que podem ser usadas para start a user visible in the background.

listUsers()

Recebe a lista de usuários no dispositivo.

boolean logBugreport(String dataName, ITestLogger listener)

Método auxiliar para registrar um relatório de bug e registrá-lo.

void notifySnapuserd(SnapuserdWaitPhase waitPhase)
void postInvocationTearDown(Throwable exception)

Etapas extras para a limpeza específica do dispositivo exigem a limpeza que será executada após a conclusão da invocação.

boolean removeAdmin(String componentName, int userId)

Remove o administrador do dispositivo especificado no usuário especificado e retorna true se for bem-sucedido, false caso contrário.

void removeOwners()

Remova todos os proprietários de perfil de dispositivo com o melhor esforço.

boolean removeUser(int userId)

Remover um determinado usuário do dispositivo.

boolean setDeviceOwner(String componentName, int userId)

Define um componente de administrador do dispositivo como proprietário do dispositivo no usuário especificado.

void setSetting(String namespace, String key, String value)

Consulte setSetting(int, String, String, String) e executado no usuário do sistema.

void setSetting(int userId, String namespace, String key, String value)

Adicione um valor de configuração ao namespace de um determinado usuário.

void shutdownMicrodroid(ITestDevice microdroidDevice)

Desliga o dispositivo microdroid, se houver um.

boolean startUser(int userId)

Inicia um determinado usuário em segundo plano se ele estiver parado.

boolean startUser(int userId, boolean waitFlag)

Inicia um determinado usuário em segundo plano se ele estiver parado.

boolean startVisibleBackgroundUser(int userId, int displayId, boolean waitFlag)

Inicia um determinado usuário em segundo plano, visível na tela especificada (ou seja, permitindo que o usuário inicie atividades nessa tela).

boolean stopUser(int userId, boolean waitFlag, boolean forceFlag)

Interrompa um determinado usuário.

boolean stopUser(int userId)

Interrompe um determinado usuário.

boolean supportsMicrodroid()

Verifica as condições prévias para executar um microdroid.

boolean supportsMicrodroid(boolean protectedVm)

Verifica as condições prévias para executar um microdroid.

boolean switchUser(int userId)

Mude para outro userId com um tempo limite padrão.

boolean switchUser(int userId, long timeout)

Mudar para outro userId com o tempo limite fornecido como prazo.

Bugreport takeBugreport()

Retorna um bugreport dentro de um objeto Bugreport para processá-lo.

String uninstallPackage(String packageName)

Desinstalar um pacote do Android do dispositivo.

String uninstallPackageForUser(String packageName, int userId)

Desinstala um pacote Android do dispositivo para um determinado usuário.

void waitForSnapuserd(SnapuserdWaitPhase currentPhase)

Métodos protegidos

AaptParser createParser(File appFile)
void doAdbReboot(NativeDevice.RebootMode rebootMode, String reason)

Execute uma reinicialização do adb.

InputStreamSource getBugreportInternal()
File getBugreportzInternal()

Método auxiliar interno para receber o arquivo ZIP do bugreportz como um ERROR(/File).

long getCheckNewUserSleep()

Exposto para testes.

long getHostCurrentTime()

Exposto para testes

void prePostBootSetup()

Permite que cada tipo de dispositivo (AndroidNativeDevice, TestDevice) modifique esse método para uma configuração específica pós-inicialização.

Campos

DISMISS_KEYGUARD_CMD

public static final String DISMISS_KEYGUARD_CMD

Comandos que podem ser usados para dispensar o bloqueio de teclado.

Construtores públicos

TestDevice

public TestDevice (IDevice device, 
                IDeviceStateMonitor stateMonitor, 
                IDeviceMonitor allocationMonitor)

Métodos públicos

canSwitchToHeadlessSystemUser

public boolean canSwitchToHeadlessSystemUser ()

Retorna se é permitido alternar para o usuário do sistema sem cabeça.

Retorna
boolean

Gera
DeviceNotAvailableException

ClearErrorDialogs

public boolean clearErrorDialogs ()

Tente dispensar as caixas de diálogo de erro exibidas na interface do dispositivo.

Retorna
boolean true se nenhuma caixa de diálogo estiver presente ou se ela tiver sido limpa. Caso contrário, false.

Gera
DeviceNotAvailableException

createUser

public int createUser (String name)

Crie um usuário com um nome e flags padrão 0.

Parâmetros
name String: o nome do usuário a ser criado no dispositivo

Retorna
int o número inteiro do ID do usuário criado

Gera
DeviceNotAvailableException

usuário

public int createUser (String name, 
                boolean guest, 
                boolean ephemeral, 
                boolean forTesting)

Criar um usuário com um nome e as flags fornecidas

Parâmetros
name String: o nome do usuário a ser criado no dispositivo

guest boolean: ativar a flag de usuário --guest durante a criação

ephemeral boolean: ativa a sinalização do usuário "-efêmero" durante a criação.

forTesting boolean: ativar a flag de teste --for-testing durante a criação

Retorna
int ID do usuário criado

Gera
DeviceNotAvailableException

usuário

public int createUser (String name, 
                boolean guest, 
                boolean ephemeral)

Criar um usuário com um nome e as flags fornecidas

Parâmetros
name String: o nome do usuário a ser criado no dispositivo

guest boolean: ativar a flag de usuário --guest durante a criação

ephemeral boolean: ativar a flag do usuário --ephemeral durante a criação

Retorna
int ID do usuário criado

Gera
DeviceNotAvailableException

createUserNoThrow

public int createUserNoThrow (String name)

Crie um usuário com um nome e flags padrão 0.

Parâmetros
name String: o nome do usuário a ser criado no dispositivo

Retorna
int o número inteiro do ID do usuário criado ou -1 para o erro.

Gera
DeviceNotAvailableException

disableKeyguard

public void disableKeyguard ()

Tenta desativar o bloqueio de teclado.

Primeiro, aguarde o envio de entrada ficar pronto. Isso acontece na mesma hora em que o dispositivo informa BOOT_COMPLETE, aparentemente de forma assíncrona, porque a implementação atual do framework tem uma condição de corrida ocasional. O comando é enviado para dispensar a proteção de teclas (funciona apenas em proteções não seguras).

Gera
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath)

Método auxiliar para determinar se o arquivo no dispositivo existe.

Parâmetros
deviceFilePath String: o caminho absoluto do arquivo no dispositivo a ser verificado

Retorna
boolean true se o arquivo existir. Caso contrário, retorna false.

Gera
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath, 
                int userId)

Método auxiliar para determinar se o arquivo no dispositivo existe para um determinado usuário.

Parâmetros
deviceFilePath String: o caminho absoluto do arquivo no dispositivo a ser verificado

userId int: o ID do usuário para verificar a existência do arquivo

Retorna
boolean true se o arquivo existir. Caso contrário, retorna false.

Gera
DeviceNotAvailableException

dumpHeap

public File dumpHeap (String process, 
                String devicePath)

Tenta despejar a pilha do system_server. É responsabilidade do autor da chamada limpar o arquivo despejado.

Parâmetros
process String: o nome do processo do dispositivo em que o dumpheap será usado.

devicePath String: o caminho no dispositivo em que o despejo será colocado. Esse precisa ser um local em que as permissões sejam permitidas.

Retorna
File o ERROR(/File) que contém o relatório. Valor nulo se algo falhar.

Gera
DeviceNotAvailableException

getActiveApexes

public  getActiveApexes ()

Busca as informações sobre os APEXes ativados no dispositivo.

Retorna
ERROR(/Set) de ApexInfo ativados no momento no dispositivo

Gera
DeviceNotAvailableException

getAllSettings

public  getAllSettings (String namespace)

Retorna pares de chave-valor do namespace solicitado.

Parâmetros
namespace String: precisa ser um dos valores {"system", "secure", "global"}

Retorna
o mapa de pares de chave-valor. Valor nulo se o namespace não tiver suporte.

Gera
DeviceNotAvailableException

getAndroidId

public String getAndroidId (int userId)

Encontra e retorna o Android-ID associado a um userId, nulo se não encontrado.

Parâmetros
userId int

Retorna
String

Gera
DeviceNotAvailableException

getAndroidIds

public  getAndroidIds ()

Crie um mapa de IDs do Android encontrados que correspondem aos IDs dos usuários. Não há garantia de que cada ID de usuário vai encontrar um ID do Android associado a essa função. Portanto, alguns IDs de usuário podem corresponder a "null".

Retorna
Foi encontrado um mapa de IDs do Android com IDs de usuário correspondentes.

Gera
DeviceNotAvailableException

getAppPackageInfo

public PackageInfo getAppPackageInfo (String packageName)

Busca informações sobre um pacote instalado no dispositivo.

Parâmetros
packageName String

Retorna
PackageInfo o PackageInfo ou null se as informações não puderem ser recuperadas

Gera
DeviceNotAvailableException

getAppPackageInfos

public  getAppPackageInfos ()

Buscar informações de pacotes instalados no dispositivo.

Retorna
ERROR(/List) de PackageInfos instalados no dispositivo.

Gera
DeviceNotAvailableException

getBugreport

public InputStreamSource getBugreport ()

Recupera um relatório de bug do dispositivo.

A implementação garante que o app continue funcionando em um dispositivo sem um cartão SD ou em que o cartão SD ainda não esteja montado.

Retorna
InputStreamSource Um InputStreamSource que vai produzir o conteúdo do relatório de bug sob demanda. Em caso de falha, o InputStreamSource vai produzir um ERROR(/InputStream) vazio.

getBugreportz

public InputStreamSource getBugreportz ()

Recupera um bugreportz do dispositivo. O relatório de bug no formato ZIP contém o relatório principal e outros arquivos de registro úteis para depuração.

Compatível apenas com a versão do adb > 1.0.36.

Retorna
InputStreamSource Um InputStreamSource do arquivo ZIP que contém os bugreportz, retorna null em caso de falha.

getCurrentFoldableState

public DeviceFoldableState getCurrentFoldableState ()

Retorna o estado dobrável atual do dispositivo ou nulo se alguns problemas ocorreram.

Retorna
DeviceFoldableState

Gera
DeviceNotAvailableException

getCurrentUser

public int getCurrentUser ()

Retorna o ID do usuário em execução atual. Em caso de erro, retorne -10000.

Retorna
int

Gera
DeviceNotAvailableException

getFoldableStates

public  getFoldableStates ()

Retorna a lista de estados dobráveis no dispositivo. Pode ser recebido com "cmd device_state print-states".

Retorna

Gera
DeviceNotAvailableException

getInstalledPackageNames

public  getInstalledPackageNames ()

Busca os nomes dos pacotes de aplicativos presentes no dispositivo.

Retorna
ERROR(/Set) dos nomes de pacotes String instalados no dispositivo.

Gera
DeviceNotAvailableException

getKeyguardState

public KeyguardControllerState getKeyguardState ()

Retorna um objeto para conferir o estado atual do bloqueio de teclado ou nulo, se não houver suporte.

Retorna
KeyguardControllerState um KeyguardControllerState que contém um snapshot do estado do bloqueio de tela e retorna "Null" se a consulta de bloqueio de tela não tiver suporte.

Gera
DeviceNotAvailableException

getMainUserId

public Integer getMainUserId ()

Retorna o ID do usuário principal.

Retorna
Integer o userId do usuário principal, se houver um, e nulo, se não houver.

Gera
DeviceNotAvailableException

getMainlineModuleInfo

public  getMainlineModuleInfo ()

Receber informações sobre os módulos principais instalados no dispositivo.

Retorna
ERROR(/Set) de String módulos de linha principal instalados atualmente no dispositivo.

Gera
DeviceNotAvailableException

getMaxNumberOfRunningUsersSupported

public int getMaxNumberOfRunningUsersSupported ()

Receba o número máximo permitido de usuários em execução simultânea. O valor padrão é 0.

Retorna
int Um número inteiro que indica o número de usuários em execução simultaneamente

Gera
DeviceNotAvailableException

getMaxNumberOfUsersSupported

public int getMaxNumberOfUsersSupported ()

Receba o número máximo de usuários com suporte. O valor padrão é 0.

Retorna
int um número inteiro que indica o número de usuários com suporte

Gera
DeviceNotAvailableException

getPrimaryUserId

public Integer getPrimaryUserId ()

Retorna o ID do usuário principal.

Retorna
Integer o userId do usuário principal, se houver, e nulo, se não houver um usuário principal.

Gera
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot ()

Faz uma captura de tela do dispositivo.

Retorna
InputStreamSource uma InputStreamSource da captura de tela no formato PNG ou null se a captura de tela não foi concluída.

Gera
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format, 
                boolean rescale)

Faz uma captura de tela do dispositivo. Recomendamos o uso de getScreenshot(String) com codificação JPEG para tamanhos menores.

Parâmetros
format String: PNG, JPEG com suporte

rescale boolean: se a captura de tela precisa ser redimensionada para reduzir o tamanho da imagem resultante

Retorna
InputStreamSource Um InputStreamSource da captura de tela no formato ou null se a captura de tela não for bem-sucedida.

Gera
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (long displayId)

Faz uma captura de tela do ID de tela do dispositivo. O formato é PNG.

TODO: estender as implementações acima para oferecer suporte a "format" e "rescale"

Parâmetros
displayId long: o ID de exibição da tela para fazer capturas de tela.

Retorna
InputStreamSource Um InputStreamSource da captura de tela no formato ou null se a captura de tela não for bem-sucedida.

Gera
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format)

Faz uma captura de tela do dispositivo. Recomendamos usar getScreenshot(format) com codificação JPEG para tamanhos menores

Parâmetros
format String: PNG e JPEG compatíveis

Retorna
InputStreamSource uma InputStreamSource da captura de tela no formato ou null se a captura de tela não foi bem-sucedida.

Gera
DeviceNotAvailableException

getSetting

public String getSetting (String namespace, 
                String key)

Consulte getSetting(int, String, String) e realizada em um usuário do sistema.

Parâmetros
namespace String

key String

Retorna
String

Gera
DeviceNotAvailableException

getSetting

public String getSetting (int userId, 
                String namespace, 
                String key)

Retorna o valor da configuração solicitada. namespace precisa ser um destes: {"system", "secure", "global"}

Parâmetros
userId int

namespace String

key String

Retorna
String o valor associado à chave namespace:key de um usuário. Valor nulo se não encontrado.

Gera
DeviceNotAvailableException

getUninstallablePackageNames

public  getUninstallablePackageNames ()

Busca os nomes dos pacotes de aplicativos que podem ser desinstalados. Atualmente, isso é definido como pacotes não do sistema e pacotes do sistema atualizados.

Retorna
ERROR(/Set) de nomes de pacotes String desinstalados atualmente instalados no dispositivo.

Gera
DeviceNotAvailableException

getUserFlags

public int getUserFlags (int userId)

Encontre e retorne as flags de um determinado usuário. As flags são definidas na classe "android.content.pm.UserInfo" no Android Open Source Project.

Parâmetros
userId int

Retorna
int As flags associadas ao userId fornecido, se encontrado, ou -10000 em outros casos.

Gera
DeviceNotAvailableException

getUserInfos

public  getUserInfos ()

Recebe o mapa de useId para UserInfo no dispositivo. Uma DeviceRuntimeException vai ser gerada se a saída do dispositivo não for a esperada.

Retorna
a lista de objetos UserInfo.

Gera
DeviceNotAvailableException

getUserSerialNumber

public int getUserSerialNumber (int userId)

Retorna o número de série associado ao userId, se encontrado, ou -10000 em outros casos.

Parâmetros
userId int

Retorna
int

Gera
DeviceNotAvailableException

hasFeature

public boolean hasFeature (String feature)

Verifique se um recurso está disponível em um dispositivo.

Parâmetros
feature String: qual formato precisa ser "feature:" ou "" diretamente.

Retorna
boolean Verdadeiro se o recurso for encontrado. Caso contrário, será falso.

Gera
DeviceNotAvailableException

installPackage

public String installPackage (File packageFile, 
                boolean reinstall, 
                String... extraArgs)

Instale um pacote do Android no dispositivo.

Parâmetros
packageFile File: o arquivo apk a ser instalado.

reinstall boolean: true se uma reinstalação precisar ser realizada.

extraArgs String: argumentos extras opcionais a serem transmitidos. Consulte "adb shell pm -h" para conferir as opções disponíveis.

Retorna
String um String com um código de erro ou null em caso de sucesso.

Gera
DeviceNotAvailableException

installPackage

public String installPackage (File packageFile, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

Instale um pacote Android no dispositivo.

Observação: somente casos de uso que exigem controle explícito de concessão de permissão de execução no momento da instalação precisam chamar essa função.

Parâmetros
packageFile File: o arquivo apk a ser instalado.

reinstall boolean: true se uma reinstalação precisar ser feita

grantPermissions boolean: se todas as permissões de execução precisam ser concedidas no momento da instalação

extraArgs String: argumentos extras opcionais a serem transmitidos. Consulte "adb shell pm -h" para conferir as opções disponíveis.

Retorna
String um String com um código de erro ou null em caso de sucesso.

Gera
DeviceNotAvailableException

installPackage

public String installPackage (File packageFile, 
                File certFile, 
                boolean reinstall, 
                String... extraArgs)

Instale um pacote Android no dispositivo.

Observação: somente casos de uso que exigem controle explícito de concessão de permissão de execução no momento da instalação precisam chamar essa função.

Parâmetros
packageFile File: o arquivo apk a ser instalado

certFile File: true se uma reinstalação precisar ser feita

reinstall boolean: se todas as permissões de execução precisam ser concedidas no momento da instalação

extraArgs String: argumentos extras opcionais a serem transmitidos. Consulte "adb shell pm -h" para conferir as opções disponíveis.

Retorna
String um String com um código de erro ou null em caso de sucesso.

Gera
DeviceNotAvailableException

installPackageForUser

public String installPackageForUser (File packageFile, 
                boolean reinstall, 
                boolean grantPermissions, 
                int userId, 
                String... extraArgs)

Instale um pacote Android no dispositivo para um determinado usuário.

Observação: somente casos de uso que exigem controle explícito de concessão de permissão de execução no momento da instalação precisam chamar essa função.

Parâmetros
packageFile File: o arquivo apk a ser instalado.

reinstall boolean: true se uma reinstalação precisar ser feita

grantPermissions boolean: se todas as permissões de execução precisam ser concedidas no momento da instalação

userId int: o ID de usuário inteiro a ser instalado.

extraArgs String: argumentos extras opcionais a serem transmitidos. Consulte "adb shell pm -h" para conferir as opções disponíveis.

Retorna
String um String com um código de erro ou null em caso de sucesso.

Gera
DeviceNotAvailableException

installPackageForUser

public String installPackageForUser (File packageFile, 
                boolean reinstall, 
                int userId, 
                String... extraArgs)

Instale um pacote Android no dispositivo para um determinado usuário.

Parâmetros
packageFile File: o arquivo apk a ser instalado.

reinstall boolean: true se uma reinstalação precisar ser feita

userId int: o ID de usuário inteiro a ser instalado.

extraArgs String: argumentos extras opcionais a serem transmitidos. Consulte "adb shell pm -h" para conferir as opções disponíveis.

Retorna
String um String com um código de erro ou null em caso de sucesso.

Gera
DeviceNotAvailableException

installPackages

public String installPackages ( packageFiles, 
                boolean reinstall, 
                String... extraArgs)

Parâmetros
packageFiles

reinstall boolean

extraArgs String

Retorna
String

Gera
DeviceNotAvailableException

installPackages

public String installPackages ( packageFiles, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

Parâmetros
packageFiles

reinstall boolean

grantPermissions boolean

extraArgs String

Retorna
String

Gera
DeviceNotAvailableException

installPackagesForUser

public String installPackagesForUser ( packageFiles, 
                boolean reinstall, 
                boolean grantPermissions, 
                int userId, 
                String... extraArgs)

Parâmetros
packageFiles

reinstall boolean

grantPermissions boolean

userId int

extraArgs String

Retorna
String

Gera
DeviceNotAvailableException

installPackagesForUser

public String installPackagesForUser ( packageFiles, 
                boolean reinstall, 
                int userId, 
                String... extraArgs)

Parâmetros
packageFiles

reinstall boolean

userId int

extraArgs String

Retorna
String

Gera
DeviceNotAvailableException

installRemotePackages

public String installRemotePackages ( remoteApkPaths, 
                boolean reinstall, 
                String... extraArgs)

Parâmetros
remoteApkPaths

reinstall boolean

extraArgs String

Retorna
String

Gera
DeviceNotAvailableException

installRemotePackages

public String installRemotePackages ( remoteApkPaths, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

Parâmetros
remoteApkPaths

reinstall boolean

grantPermissions boolean

extraArgs String

Retorna
String

Gera
DeviceNotAvailableException

isAppEnumerationSupported

public boolean isAppEnumerationSupported ()

Verificar se a plataforma do dispositivo oferece suporte à enumeração de apps

Retorna
boolean Verdadeiro se a enumeração do app for compatível. Caso contrário, é falso.

Gera
DeviceNotAvailableException

isHeadlessSystemUserMode

public boolean isHeadlessSystemUserMode ()

Retorna se o dispositivo usa o modo de usuário do sistema sem cabeça.

Retorna
boolean

Gera
DeviceNotAvailableException

isMainUserPermanentAdmin

public boolean isMainUserPermanentAdmin ()

Retorna se o usuário principal é um administrador permanente e não pode ser excluído ou rebaixado para o status de não administrador.

Retorna
boolean

Gera
DeviceNotAvailableException

isMultiUserSupported

public boolean isMultiUserSupported ()

Determina se há suporte para vários usuários.

Retorna
boolean "true" se houver suporte para vários usuários. Caso contrário, será "false".

Gera
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName)

Consultar o dispositivo para um determinado nome de pacote e verificar se ele está instalado ou não.

Parâmetros
packageName String

Retorna
boolean Verdadeiro se o pacote for informado como instalado. Falso em outros casos.

Gera
DeviceNotAvailableException

isPackageInstall

public boolean isPackageInstalled (String packageName, 
                String userId)

Consultar o dispositivo para um determinado nome de pacote e ID de usuário para verificar se ele está instalado ou não para esse usuário.

Parâmetros
packageName String: o pacote que estamos verificando se está instalado.

userId String: o ID do usuário em que o pacote está instalado. Se nulo, o usuário principal zero será usado.

Retorna
boolean Verdadeiro se o pacote for informado como instalado. Falso em outros casos.

Gera
DeviceNotAvailableException

isUserRunning

public boolean isUserRunning (int userId)

Verificar se um determinado usuário está em execução.

Parâmetros
userId int

Retorna
boolean Verdadeiro se o usuário estiver executando, falso em todos os outros casos.

Gera
DeviceNotAvailableException

isUserSecondary

public boolean isUserSecondary (int userId)

Retorna se o usuário especificado é secundário de acordo com as flags.

Parâmetros
userId int

Retorna
boolean Verdadeiro se o usuário for secundário. Caso contrário, será falso.

Gera
DeviceNotAvailableException

isUserVisible

public boolean isUserVisible (int userId)

Verifica se o usuário especificado está visível.

Um usuário "visível" é um usuário que interage com o usuário "humano" e, portanto, pode iniciar atividades de lançamento (normalmente na tela padrão).

Parâmetros
userId int

Retorna
boolean

Gera
DeviceNotAvailableException

isUserVisibleOnDisplay

public boolean isUserVisibleOnDisplay (int userId, 
                int displayId)

Verifica se o usuário está visível na tela.

Um usuário "visível" é aquele que interage com o usuário "humano" e, portanto, pode iniciar atividades de lançamento nessa tela.

Parâmetros
userId int

displayId int

Retorna
boolean

Gera
DeviceNotAvailableException

isVisibleBackgroundUsersOnDefaultDisplaySupported

public boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

Retorna se o dispositivo permite que os usuários sejam iniciados visíveis em segundo plano no ERROR(/java.android.view.Display#DEFAULT_DISPLAY).

Se sim, chame startVisibleBackgroundUser(int, int, boolean), transmitindo uma exibição retornada por listDisplayIdsForStartingVisibleBackgroundUsers() (que precisa incluir ERROR(/java.android.view.Display#DEFAULT_DISPLAY)).

Retorna
boolean

Gera
DeviceNotAvailableException

isVisibleBackgroundUserssupported

public boolean isVisibleBackgroundUsersSupported ()

Retorna se o dispositivo permite que os usuários sejam iniciados e visíveis em segundo plano.

Se isso acontecer, chame startVisibleBackgroundUser(int, int, boolean), transmitindo uma tela retornada por listDisplayIdsForStartingVisibleBackgroundUsers().

Retorna
boolean

Gera
DeviceNotAvailableException

listDisplayIds

public  listDisplayIds ()

Coletar a lista de IDs de telas disponíveis no dispositivo, conforme informado por "dumpsys SurfaceFlinger".

Retorna
A lista de telas. O padrão sempre retorna a tela padrão 0.

Gera
DeviceNotAvailableException

listDisplayIdsForStartingVisibleBackgroundUsers

public  listDisplayIdsForStartingVisibleBackgroundUsers ()

Recebe a lista de telas que podem ser usadas para start a user visible in the background.

Retorna

Gera
DeviceNotAvailableException

listUsers

public  listUsers ()

Recebe a lista de usuários no dispositivo. Será gerado DeviceRuntimeException se a saída do dispositivo não for como esperado.

Retorna
a lista de IDs de usuários.

Gera
DeviceNotAvailableException

logBugreport

public boolean logBugreport (String dataName, 
                ITestLogger listener)

Método auxiliar para registrar um relatório de bug para os repórteres.

Parâmetros
dataName String: nome em que o relatório do bug será informado.

listener ITestLogger: um ITestLogger para registrar o relatório do bug.

Retorna
boolean Verdadeiro se a geração de registros foi bem-sucedida. Caso contrário, é falso.

notifySnapuserd

public void notifySnapuserd (SnapuserdWaitPhase waitPhase)

Parâmetros
waitPhase SnapuserdWaitPhase

postInvocationTearDown

public void postInvocationTearDown (Throwable exception)

Etapas extras para a limpeza específica do dispositivo exigem a limpeza que será executada após a conclusão da invocação.

Parâmetros
exception Throwable: se houver, a exceção final gerada pela falha de invocação.

removeAdmin

public boolean removeAdmin (String componentName, 
                int userId)

Remove o administrador do dispositivo especificado no usuário especificado e retorna true se for bem-sucedido, false caso contrário.

Parâmetros
componentName String: do administrador do dispositivo a ser removido.

userId int: o usuário em que o administrador do dispositivo está.

Retorna
boolean Verdadeiro se for bem-sucedido. Caso contrário, será falso.

Gera
DeviceNotAvailableException

removeOwners

public void removeOwners ()

Remova todos os proprietários de perfil de dispositivo com o melhor esforço.

Gera
DeviceNotAvailableException

removeUser

public boolean removeUser (int userId)

Remover um determinado usuário do dispositivo.

Parâmetros
userId int: do usuário a ser removido

Retorna
boolean "true" se a remoção do usuário foi bem-sucedida. Caso contrário, será "false".

Gera
DeviceNotAvailableException

setDeviceOwner

public boolean setDeviceOwner (String componentName, 
                int userId)

Define um componente de administrador do dispositivo como proprietário do dispositivo no usuário especificado.

Parâmetros
componentName String: de administrador do dispositivo para ser proprietário do dispositivo.

userId int: do usuário em que o proprietário do dispositivo mora.

Retorna
boolean Verdadeiro se for bem-sucedido. Caso contrário, será falso.

Gera
DeviceNotAvailableException

setSetting

public void setSetting (String namespace, 
                String key, 
                String value)

Consulte setSetting(int, String, String, String) e executado no usuário do sistema.

Parâmetros
namespace String

key String

value String

Gera
DeviceNotAvailableException

setSetting

public void setSetting (int userId, 
                String namespace, 
                String key, 
                String value)

Adicione um valor de configuração ao namespace de um determinado usuário. Algumas configurações só ficam disponíveis depois de uma reinicialização. O namespace precisa ser um destes: {"system", "secure", "global"}

Parâmetros
userId int

namespace String

key String

value String

Gera
DeviceNotAvailableException

shutdownMicrodroid

public void shutdownMicrodroid (ITestDevice microdroidDevice)

Desliga o dispositivo microdroid, se houver um.

Parâmetros
microdroidDevice ITestDevice

Gera
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

startUser

public boolean startUser (int userId)

Inicia um determinado usuário em segundo plano se ele estiver parado. Se o usuário já estiver em execução em segundo plano, esse método será uma operação nula.

Parâmetros
userId int: do usuário que começa em segundo plano

Retorna
boolean Verdadeiro se o usuário foi iniciado em segundo plano.

Gera
DeviceNotAvailableException

startUser

public boolean startUser (int userId, 
                boolean waitFlag)

Inicia um determinado usuário em segundo plano se ele estiver parado. Se o usuário já estiver em execução em segundo plano, esse método será uma operação nula. É possível fornecer sinalização extra para aguardar que a operação tenha efeito.

Parâmetros
userId int: do usuário para iniciar em segundo plano

waitFlag boolean: fará o comando aguardar até que o usuário seja iniciado e desbloqueado.

Retorna
boolean Verdadeiro se o usuário foi iniciado em segundo plano.

Gera
DeviceNotAvailableException

startVisibleBackgroundUser

public boolean startVisibleBackgroundUser (int userId, 
                int displayId, 
                boolean waitFlag)

Inicia um determinado usuário em segundo plano, visível na tela especificada (ou seja, permitindo que o usuário inicie atividades nessa tela).

OBSERVAÇÃO: esse comando não verifica se o usuário existe, se a exibição está disponível, se device supports such feature etc.

Parâmetros
userId int: do usuário para iniciar em segundo plano

displayId int: tela para iniciar visíveis ao usuário

waitFlag boolean: faz com que o comando aguarde até que o usuário seja iniciado e desbloqueado.

Retorna
boolean true se o usuário foi iniciado e ficou visível em segundo plano.

Gera
DeviceNotAvailableException

stopUser

public boolean stopUser (int userId, 
                boolean waitFlag, 
                boolean forceFlag)

Parar um determinado usuário. É possível fornecer flags extras para aguardar a operação ter efeito e encerrar forçosamente o usuário. Não é possível interromper o usuário atual e do sistema.

Parâmetros
userId int: do usuário para parar.

waitFlag boolean: faz com que o comando aguarde até que o usuário seja interrompido.

forceFlag boolean: força a interrupção do usuário.

Retorna
boolean Verdadeiro se o usuário foi interrompido.

Gera
DeviceNotAvailableException

stopUser

public boolean stopUser (int userId)

Interrompe um determinado usuário. Se o usuário já estiver parado, esse método será uma operação sem efeito. Não é possível interromper o usuário atual e do sistema.

Parâmetros
userId int: do usuário a ser interrompido.

Retorna
boolean Verdadeiro se o usuário foi interrompido.

Gera
DeviceNotAvailableException

supportsMicrodroid

public boolean supportsMicrodroid ()

Verifica as condições prévias para executar um microdroid.

Retorna
boolean retorna verdadeiro se as condições prévias forem satisfeitas; caso contrário, retorna falso.

supportsMicrodroid

public boolean supportsMicrodroid (boolean protectedVm)

Verifica as condições prévias para executar um microdroid.

Parâmetros
protectedVm boolean: verdadeiro se o microdroide for projetado para ser executado em uma VM protegida.

Retorna
boolean retorna verdadeiro se as condições prévias forem satisfeitas; caso contrário, retorna falso.

switchUser

public boolean switchUser (int userId)

Mude para outro userId com um tempo limite padrão. switchUser(int, long).

Parâmetros
userId int

Retorna
boolean Verdadeiro se o novo userId corresponder ao provedor userId. Falso em outros casos.

Gera
DeviceNotAvailableException

switchUser

public boolean switchUser (int userId, 
                long timeout)

Mudar para outro userId com o tempo limite fornecido como prazo. Tentativa de desativar o bloqueio de teclado após a alteração do usuário.

Parâmetros
userId int

timeout long: para aguardar antes de retornar falso para o erro de troca de usuário.

Retorna
boolean Verdadeiro se o novo userId corresponder ao provedor userId. Falso em outros casos.

Gera
DeviceNotAvailableException

takeBugreport

public Bugreport takeBugreport ()

Crie um relatório de bug e o retorne dentro de um objeto Bugreport para processá-lo. Retorne um valor nulo em caso de problema. O arquivo referenciado no objeto Bugreport precisa ser limpo usando Bugreport.close().

Retorna
Bugreport

uninstallPackage

public String uninstallPackage (String packageName)

Desinstalar um pacote do Android do dispositivo.

Parâmetros
packageName String: o pacote Android a ser desinstalado

Retorna
String um String com um código de erro ou null em caso de sucesso.

Gera
DeviceNotAvailableException

uninstallPackageForUser

public String uninstallPackageForUser (String packageName, 
                int userId)

Desinstalar um pacote do Android do dispositivo para um determinado usuário.

Parâmetros
packageName String: o pacote Android a ser desinstalado

userId int: o ID de usuário inteiro a ser desinstalado.

Retorna
String um String com um código de erro ou null em caso de sucesso.

Gera
DeviceNotAvailableException

waitForSnapuserd

public void waitForSnapuserd (SnapuserdWaitPhase currentPhase)

Parâmetros
currentPhase SnapuserdWaitPhase

Gera
DeviceNotAvailableException

Métodos protegidos

createParser

protected AaptParser createParser (File appFile)

Parâmetros
appFile File

Retorna
AaptParser

doAdbReboot

protected void doAdbReboot (NativeDevice.RebootMode rebootMode, 
                String reason)

Faça uma reinicialização do adb.

Parâmetros
rebootMode NativeDevice.RebootMode: um modo dessa reinicialização.

reason String: para esta reinicialização.

Gera
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getBugreportInternal

protected InputStreamSource getBugreportInternal ()

Retorna
InputStreamSource

getBugreportzInternal

protected File getBugreportzInternal ()

Método auxiliar interno para receber o arquivo ZIP do bugreportz como um ERROR(/File).

Retorna
File

getCheckNewUserSleep

protected long getCheckNewUserSleep ()

Exposto para teste.

Retorna
long

getHostCurrentTime

protected long getHostCurrentTime ()

Exposto para testes

Retorna
long

prePostBootSetup

protected void prePostBootSetup ()

Permite que cada tipo de dispositivo (AndroidNativeDevice, TestDevice) modifique esse método para uma configuração específica pós-inicialização.

Gera
DeviceNotAvailableException