TestDevice

public class TestDevice
extends NativeDevice

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


Implementación de ITestDevice para un dispositivo Android de pila completa

Resumen

Clases anidadas

class TestDevice.MicrodroidBuilder

Es un compilador que se usa para crear un TestDevice de Microdroid. 

Campos

public static final String DISMISS_KEYGUARD_CMD

Son comandos que se pueden usar para descartar el bloqueo de teclas.

Constructores públicos

TestDevice(IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

Métodos públicos

boolean canSwitchToHeadlessSystemUser()

Muestra si se permite cambiar al usuario del sistema sin interfaz gráfica.

boolean clearErrorDialogs()

Intenta descartar los diálogos de error que se muestran actualmente en la IU del dispositivo.

int createUser(String name)

Crea un usuario con un nombre determinado y las marcas predeterminadas 0.

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

Crea un usuario con un nombre determinado y las marcas proporcionadas

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

Crea un usuario con un nombre determinado y las marcas proporcionadas

int createUserNoThrow(String name)

Crea un usuario con un nombre determinado y las marcas predeterminadas 0.

void disableKeyguard()

Intenta inhabilitar el bloqueo del teclado.

boolean doesFileExist(String deviceFilePath)

Método auxiliar para determinar si existe un archivo en el dispositivo.

boolean doesFileExist(String deviceFilePath, int userId)

Es un método auxiliar para determinar si existe un archivo en el dispositivo para un usuario determinado.

File dumpHeap(String process, String devicePath)

Intenta volcar el montón desde system_server.

getActiveApexes()

Recupera la información sobre los APEX activados en el dispositivo.

getAllSettings(String namespace)

Muestra los pares clave-valor del espacio de nombres solicitado.

String getAndroidId(int userId)

Busca y muestra el android-id asociado a un userId, nulo si no se encuentra.

getAndroidIds()

Crea un mapa de los IDs de Android que coincidan con los IDs de usuario.

PackageInfo getAppPackageInfo(String packageName)

Recupera información sobre un paquete instalado en el dispositivo.

getAppPackageInfos()

Recupera información de los paquetes instalados en el dispositivo.

InputStreamSource getBugreport()

Recupera un informe de errores del dispositivo.

InputStreamSource getBugreportz()

Recupera un bugreportz del dispositivo.

DeviceFoldableState getCurrentFoldableState()

Devuelve el estado plegable actual del dispositivo o un valor nulo si se produjeron algunos problemas.

int getCurrentUser()

Muestra el ID del usuario que se está ejecutando actualmente.

getFoldableStates()

Muestra la lista de estados plegables en el dispositivo.

getInstalledPackageNames()

Recupera los nombres de paquetes de aplicaciones presentes en el dispositivo.

KeyguardControllerState getKeyguardState()

Muestra un objeto para obtener el estado actual del protector de pantalla o nulo si no es compatible.

Integer getMainUserId()

Muestra el ID de usuario principal.

getMainlineModuleInfo()

Obtén información sobre los módulos principales instalados en el dispositivo.

int getMaxNumberOfRunningUsersSupported()

Obtén la cantidad máxima de usuarios que se ejecutan de manera simultánea.

int getMaxNumberOfUsersSupported()

Obtén la cantidad máxima de usuarios admitidos.

Integer getPrimaryUserId()

Muestra el ID de usuario principal.

InputStreamSource getScreenshot()

Toma una captura de pantalla del dispositivo.

InputStreamSource getScreenshot(String format, boolean rescale)

Toma una captura de pantalla del dispositivo.

InputStreamSource getScreenshot(long displayId)

Toma una captura de pantalla del ID de visualización del dispositivo.

InputStreamSource getScreenshot(String format)

Toma una captura de pantalla del dispositivo.

String getSetting(String namespace, String key)

Consulta getSetting(int, String, String) y realiza la acción en el usuario del sistema.

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

Muestra el valor del parámetro de configuración solicitado.

getUninstallablePackageNames()

Recupera los nombres de los paquetes de aplicaciones que se pueden desinstalar.

int getUserFlags(int userId)

Busca y muestra las marcas de un usuario determinado.

getUserInfos()

Obtiene el mapa de useId a UserInfo en el dispositivo.

int getUserSerialNumber(int userId)

Devuelve el número de serie asociado con el userId si lo encuentras; -10000 en cualquier otro caso.

boolean hasFeature(String feature)

Comprueba si una función está disponible en un dispositivo.

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

Instala un paquete de Android en el dispositivo.

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

Instala un paquete de Android en el dispositivo.

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

Instala un paquete de Android en el dispositivo.

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

Instala un paquete de Android en el dispositivo para un usuario determinado.

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

Instala un paquete de Android en el dispositivo de un usuario determinado.

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

Cómo comprobar si la plataforma en el dispositivo admite la enumeración de apps

boolean isHeadlessSystemUserMode()

Muestra si el dispositivo usa el modo de usuario del sistema sin interfaz gráfica.

boolean isMainUserPermanentAdmin()

Muestra si el usuario principal es un administrador permanente y no se puede borrar ni cambiar a un estado que no sea de administrador.

boolean isMultiUserSupported()

Determina si se admite el modo multiusuario.

boolean isPackageInstalled(String packageName)

Consulta el dispositivo para un nombre de paquete determinado y comprueba si está instalado o no.

boolean isPackageInstalled(String packageName, String userId)

Consulta el dispositivo para un nombre de paquete y un ID de usuario determinados para verificar si está instalado o no para ese usuario.

boolean isUserRunning(int userId)

Verifica si un usuario determinado está en ejecución.

boolean isUserSecondary(int userId)

Muestra si el usuario especificado es un usuario secundario según sus marcas.

boolean isUserVisible(int userId)

Verifica si el usuario determinado es visible.

boolean isUserVisibleOnDisplay(int userId, int displayId)

Verifica si el usuario determinado es visible en la pantalla determinada.

boolean isVisibleBackgroundUsersOnDefaultDisplaySupported()

Devuelve si el dispositivo permite que los usuarios se inicien de forma visible en segundo plano en ERROR(/java.android.view.Display#DEFAULT_DISPLAY).

boolean isVisibleBackgroundUsersSupported()

Muestra si el dispositivo permite que los usuarios se inicien de forma visible en segundo plano.

listDisplayIds()

Recopila la lista de ID de pantallas disponibles en el dispositivo según lo informa "dumpsys SurfaceFlinger".

listDisplayIdsForStartingVisibleBackgroundUsers()

Obtiene la lista de pantallas que se pueden usar para start a user visible in the background.

listUsers()

Obtiene la lista de usuarios del dispositivo.

boolean logBugreport(String dataName, ITestLogger listener)

Método auxiliar para tomar un informe de errores y registrarlo en los generadores de informes.

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

Pasos adicionales para la limpieza requerida específica del dispositivo que se ejecutarán después de que se complete la invocación.

boolean removeAdmin(String componentName, int userId)

Quita el administrador de dispositivo determinado de un usuario determinado y muestra true si se realiza correctamente; de lo contrario, muestra false.

void removeOwners()

Quita todos los propietarios de perfiles de dispositivos existentes con el mejor esfuerzo.

boolean removeUser(int userId)

Quita a un usuario determinado del dispositivo.

boolean setDeviceOwner(String componentName, int userId)

Establece un componente de administrador de dispositivos como propietario del dispositivo en un usuario determinado.

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

Consulta setSetting(int, String, String, String) y realiza la acción en el usuario del sistema.

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

Agrega un valor de configuración al espacio de nombres de un usuario determinado.

void shutdownMicrodroid(ITestDevice microdroidDevice)

Apaga el dispositivo microdroid, si existe uno.

boolean startUser(int userId)

Inicia un usuario determinado en segundo plano si está detenido.

boolean startUser(int userId, boolean waitFlag)

Inicia un usuario determinado en segundo plano si está detenido.

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

Inicia un usuario determinado en segundo plano, visible en la pantalla determinada (es decir, le permite al usuario iniciar actividades en esa pantalla).

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

Detener a un usuario determinado

boolean stopUser(int userId)

Detiene a un usuario determinado.

boolean supportsMicrodroid()

Verifica las condiciones previas para ejecutar un microdroid.

boolean supportsMicrodroid(boolean protectedVm)

Verifica las condiciones previas para ejecutar un microdroid.

boolean switchUser(int userId)

Cambia a otro userId con un tiempo de espera predeterminado.

boolean switchUser(int userId, long timeout)

Cambia a otro userId con el tiempo de espera proporcionado como fecha límite.

Bugreport takeBugreport()

Toma un informe de errores y devuélvelo dentro de un objeto Bugreport para controlarlo.

String uninstallPackage(String packageName)

Desinstala un paquete de Android del dispositivo.

String uninstallPackageForUser(String packageName, int userId)

Desinstala un paquete de Android del dispositivo de un usuario determinado.

void waitForSnapuserd(SnapuserdWaitPhase currentPhase)

Métodos protegidos

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

Realiza un reinicio de adb.

InputStreamSource getBugreportInternal()
File getBugreportzInternal()

Método de ayuda interno para obtener el archivo ZIP de bugreportz como ERROR(/File).

long getCheckNewUserSleep()

Expuesto para realizar pruebas.

long getHostCurrentTime()

Se expone para pruebas

void prePostBootSetup()

Permite que cada tipo de dispositivo (AndroidNativeDevice, TestDevice) anule este método para una configuración posterior al inicio específica.

Campos

DISMISS_KEYGUARD_CMD

public static final String DISMISS_KEYGUARD_CMD

Son comandos que se pueden usar para descartar el bloqueo de teclas.

Constructores públicos

Dispositivo de prueba

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

Métodos públicos

canSwitchToHeadlessSystemUser

public boolean canSwitchToHeadlessSystemUser ()

Muestra si se permite cambiar al usuario del sistema sin interfaz gráfica.

Muestra
boolean

Arroja
DeviceNotAvailableException

clearErrorDialogs

public boolean clearErrorDialogs ()

Intenta descartar los diálogos de error que se muestran actualmente en la IU del dispositivo.

Muestra
boolean true si no hay diálogos o si se borraron correctamente. De lo contrario, false.

Arroja
DeviceNotAvailableException

createUser

public int createUser (String name)

Crea un usuario con un nombre determinado y las marcas predeterminadas 0.

Parámetros
name String: Es el usuario que se creará en el dispositivo.

Muestra
int el número entero del ID de usuario creado

Arroja
DeviceNotAvailableException

createUser

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

Crea un usuario con un nombre determinado y las marcas proporcionadas

Parámetros
name String: Es el usuario que se creará en el dispositivo.

guest boolean: Habilita la marca de usuario --guest durante la creación.

ephemeral boolean: Habilita la marca de usuario --efímeros durante la creación

forTesting boolean: Habilita la marca de prueba --for-testing durante la creación

Muestra
int ID del usuario creado

Arroja
DeviceNotAvailableException

createUser

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

Crea un usuario con un nombre determinado y las marcas proporcionadas

Parámetros
name String: Es el usuario que se creará en el dispositivo.

guest boolean: Habilita la marca de usuario --guest durante la creación.

ephemeral boolean: Habilita la marca del usuario --ephemeral durante la creación.

Muestra
int ID del usuario creado

Arroja
DeviceNotAvailableException

createUserNoThrow

public int createUserNoThrow (String name)

Crea un usuario con un nombre determinado y las marcas predeterminadas 0.

Parámetros
name String: Es el usuario que se creará en el dispositivo.

Muestra
int el número entero del ID de usuario creado o -1 para un error

Arroja
DeviceNotAvailableException

disableKeyguard

public void disableKeyguard ()

Intenta inhabilitar el bloqueo de teclas.

Primero, espera a que el envío de entrada esté listo. Esto sucede casi al mismo tiempo que el dispositivo informa BOOT_COMPLETE, aparentemente de forma asíncrona, ya que la implementación actual del framework tiene una condición de carrera ocasional. Luego, se envía el comando para descartar el bloqueo del teclado (solo funciona en los que no son seguros).

Arroja
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath)

Método auxiliar para determinar si existe un archivo en el dispositivo.

Parámetros
deviceFilePath String: Es la ruta de acceso absoluta del archivo en el dispositivo que se debe verificar.

Muestra
boolean true si el archivo existe, false de lo contrario.

Arroja
DeviceNotAvailableException

haceArchivoexist

public boolean doesFileExist (String deviceFilePath, 
                int userId)

Es un método auxiliar para determinar si existe un archivo en el dispositivo para un usuario determinado.

Parámetros
deviceFilePath String: Es la ruta de acceso absoluta del archivo en el dispositivo que se debe verificar.

userId int: Es el ID de usuario con el que se debe verificar la existencia del archivo.

Muestra
boolean true si el archivo existe, false de lo contrario.

Arroja
DeviceNotAvailableException

dumpHeap

public File dumpHeap (String process, 
                String devicePath)

Intenta volcar el montón desde system_server. Es responsabilidad del llamador limpiar el archivo volcado.

Parámetros
process String: Es el nombre del proceso del dispositivo en el que se volcará el heap.

devicePath String: Es la ruta de acceso en el dispositivo en el que se debe colocar el volcado. Debe ser una ubicación donde los permisos lo permitan.

Muestra
File el ERROR(/File) que contiene el informe. Nulo si algo falló.

Arroja
DeviceNotAvailableException

getActiveApexes

public  getActiveApexes ()

Recupera la información sobre los APEX activados en el dispositivo.

Muestra
ERROR(/Set) de ApexInfo activados actualmente en el dispositivo

Arroja
DeviceNotAvailableException

getAllSettings

public  getAllSettings (String namespace)

Muestra los pares clave-valor del espacio de nombres solicitado.

Parámetros
namespace String: Debe ser uno de {"system", "secure", "global"}.

Muestra
el mapa de pares clave-valor. Nulo si el espacio de nombres no es compatible.

Arroja
DeviceNotAvailableException

getAndroidId

public String getAndroidId (int userId)

Busca y muestra el android-id asociado a un userId, nulo si no se encuentra.

Parámetros
userId int

Muestra
String

Arroja
DeviceNotAvailableException

getAndroidIds

public  getAndroidIds ()

Crea un mapa de los ID de Android encontrados que coincidan con los ID de usuario. No hay garantía de que cada ID de usuario encuentre un ID de Android asociado en esta función, por lo que algunos IDs de usuario pueden coincidir con nulos.

Muestra
Mapa de IDs de Android que coinciden con los IDs de usuario

Arroja
DeviceNotAvailableException

getAppPackageInfo

public PackageInfo getAppPackageInfo (String packageName)

Recupera información sobre un paquete instalado en el dispositivo.

Parámetros
packageName String

Muestra
PackageInfo el PackageInfo o null si no se pudo recuperar la información

Arroja
DeviceNotAvailableException

getAppPackageInfos

public  getAppPackageInfos ()

Recupera información de los paquetes instalados en el dispositivo.

Muestra
ERROR(/List) de PackageInfo instalados en el dispositivo.

Arroja
DeviceNotAvailableException

getBugreport

public InputStreamSource getBugreport ()

Recupera un informe de errores del dispositivo.

Se garantiza que la implementación de esta función seguirá funcionando en un dispositivo sin una tarjeta SD (o cuando la tarjeta SD aún no está activada).

Muestra
InputStreamSource Un InputStreamSource que producirá el contenido del informe de errores a pedido. En caso de fallar, InputStreamSource producirá un ERROR(/InputStream) vacío.

getBugreportz

public InputStreamSource getBugreportz ()

Recupera un bugreportz del dispositivo. El informe de errores en formato ZIP contiene el informe de errores principal y otros archivos de registro que son útiles para la depuración.

Solo es compatible con "versión de adb" > 1.0.36.

Muestra
InputStreamSource un InputStreamSource del archivo ZIP que contiene bugreportz; se muestra un valor nulo en caso de falla.

getCurrentFoldableState

public DeviceFoldableState getCurrentFoldableState ()

Devuelve el estado plegable actual del dispositivo o un valor nulo si se produjeron algunos problemas.

Muestra
DeviceFoldableState

Arroja
DeviceNotAvailableException

getCurrentUser

public int getCurrentUser ()

Muestra el ID del usuario que se está ejecutando actualmente. En caso de error, muestra -10000.

Muestra
int

Arroja
DeviceNotAvailableException

getFoldableStates

public  getFoldableStates ()

Muestra la lista de estados plegables en el dispositivo. Se puede obtener con "cmd device_state print-states".

Muestra

Arroja
DeviceNotAvailableException

getInstalledPackageNames

public  getInstalledPackageNames ()

Recupera los nombres de los paquetes de la aplicación presentes en el dispositivo.

Muestra
ERROR(/Set) de los nombres de paquetes String instalados actualmente en el dispositivo.

Arroja
DeviceNotAvailableException

getKeyguardState

public KeyguardControllerState getKeyguardState ()

Muestra un objeto para obtener el estado actual del protector de pantalla o nulo si no es compatible.

Muestra
KeyguardControllerState un KeyguardControllerState que contiene una instantánea del estado del bloqueo de teclas y muestra un valor nulo si no se admite la consulta del bloqueo de teclas.

Arroja
DeviceNotAvailableException

getMainUserId

public Integer getMainUserId ()

Muestra el ID de usuario principal.

Muestra
Integer el userId del usuario principal si hay uno y nulo si no hay un usuario principal.

Arroja
DeviceNotAvailableException

getMainlineModuleInfo

public  getMainlineModuleInfo ()

Obtén información sobre los módulos principales instalados en el dispositivo.

Muestra
ERROR(/Set) de los String módulos principales instalados actualmente en el dispositivo.

Arroja
DeviceNotAvailableException

getMaxNumberOfRunningUsersSupported

public int getMaxNumberOfRunningUsersSupported ()

Obtén la cantidad máxima de usuarios que se ejecutan de manera simultánea. La configuración predeterminada es 0.

Muestra
int Un número entero que indica la cantidad de usuarios que se ejecutan de forma simultánea.

Arroja
DeviceNotAvailableException

getMaxNumberOfUsersSupported

public int getMaxNumberOfUsersSupported ()

Obtén la cantidad máxima de usuarios admitidos. La configuración predeterminada es 0.

Muestra
int Un número entero que indica la cantidad de usuarios admitidos

Arroja
DeviceNotAvailableException

ID de usuario principal de getPrimary

public Integer getPrimaryUserId ()

Muestra el ID de usuario principal.

Muestra
Integer el userId del usuario principal si hay uno y nulo si no hay un usuario principal.

Arroja
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot ()

Toma una captura de pantalla del dispositivo.

Muestra
InputStreamSource Un InputStreamSource de la captura de pantalla en formato PNG o null si la captura de pantalla no se realizó correctamente

Arroja
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format, 
                boolean rescale)

Toma una captura de pantalla del dispositivo. Se recomienda usar getScreenshot(String) en su lugar con codificación JPEG para obtener un tamaño más pequeño.

Parámetros
format String: Se admiten PNG y JPEG.

rescale boolean: Indica si se debe cambiar el tamaño de la captura de pantalla para reducir el tamaño de la imagen resultante.

Muestra
InputStreamSource una InputStreamSource de la captura de pantalla en formato, o null si la captura de pantalla no se realizó correctamente.

Arroja
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (long displayId)

Toma una captura de pantalla del dispositivo con el ID de visualización determinado. El formato es PNG.

TODO: Extiende las implementaciones anteriores para admitir "format" y "rescale".

Parámetros
displayId long: Es el ID de visualización de la pantalla desde la que se obtiene la captura de pantalla.

Muestra
InputStreamSource una InputStreamSource de la captura de pantalla en formato, o null si la captura de pantalla no se realizó correctamente.

Arroja
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format)

Toma una captura de pantalla del dispositivo. Se recomienda usar getScreenshot(format) con codificación JPEG para obtener un tamaño más pequeño.

Parámetros
format String: Se admiten PNG y JPEG.

Muestra
InputStreamSource un InputStreamSource de la captura de pantalla en formato o null si la captura de pantalla no se realizó correctamente

Arroja
DeviceNotAvailableException

getSetting

public String getSetting (String namespace, 
                String key)

Consulta getSetting(int, String, String) y realiza la acción en el usuario del sistema.

Parámetros
namespace String

key String

Muestra
String

Arroja
DeviceNotAvailableException

getSetting

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

Muestra el valor del parámetro de configuración solicitado. namespace debe ser una de las siguientes opciones: {"system", "secure", "global"}

Parámetros
userId int

namespace String

key String

Muestra
String el valor asociado con el espacio de nombres:clave de un usuario. Es nulo si no se encuentra.

Arroja
DeviceNotAvailableException

getUninstallablePackageNames

public  getUninstallablePackageNames ()

Recupera los nombres de los paquetes de la aplicación que se pueden desinstalar. Actualmente, se define como paquetes que no son del sistema y paquetes del sistema actualizados.

Muestra
ERROR(/Set) de nombres de paquetes String que se pueden desinstalar instalados actualmente en el dispositivo.

Arroja
DeviceNotAvailableException

getUserFlags.

public int getUserFlags (int userId)

Busca y muestra las marcas de un usuario determinado. Las marcas se definen en la clase "android.content.pm.UserInfo" del Proyecto de código abierto de Android.

Parámetros
userId int

Muestra
int las marcas asociadas con el userId proporcionado si se encuentra, -10000 en cualquier otro caso

Arroja
DeviceNotAvailableException

getUserInfos

public  getUserInfos ()

Obtiene el mapa de useId como UserInfo en el dispositivo. Lanzará DeviceRuntimeException si el resultado del dispositivo no es el esperado.

Muestra
la lista de objetos UserInfo.

Arroja
DeviceNotAvailableException

getUserSerialNumber

public int getUserSerialNumber (int userId)

Devuelve el número de serie asociado al userId si se encuentra, -10000 en cualquier otro caso.

Parámetros
userId int

Muestra
int

Arroja
DeviceNotAvailableException

hasFeature

public boolean hasFeature (String feature)

Comprueba si una función está disponible en un dispositivo.

Parámetros
feature String: Indica qué formato debe ser "feature:" o "" directamente.

Muestra
boolean Es verdadero si se encuentra la función; de lo contrario, es falso.

Arroja
DeviceNotAvailableException

installPackage

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

Instala un paquete de Android en el dispositivo.

Parámetros
packageFile File: Es el archivo APK que se instalará.

reinstall boolean: true si se debe realizar una reinstalación

extraArgs String: Son argumentos adicionales opcionales para pasar. Consulta "adb shell pm -h" para ver las opciones disponibles.

Muestra
String Un String con un código de error o null si se realiza correctamente.

Arroja
DeviceNotAvailableException

installPackage

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

Instala un paquete de Android en el dispositivo.

Nota: Solo los casos de uso que requieran un control explícito de la concesión de permisos de tiempo de ejecución en el momento de la instalación deben llamar a esta función.

Parámetros
packageFile File: Es el archivo APK que se instalará.

reinstall boolean: true si se debe realizar una reinstalación

grantPermissions boolean: Indica si se deben otorgar todos los permisos de tiempo de ejecución en el momento de la instalación.

extraArgs String: Son argumentos adicionales opcionales que se deben pasar. Consulta "adb shell pm -h" para conocer las opciones disponibles.

Muestra
String Un String con un código de error o null si se realiza correctamente.

Arroja
DeviceNotAvailableException

installPackage

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

Instala un paquete de Android en el dispositivo.

Nota: Solo los casos de uso que requieran un control explícito de la concesión de permisos de tiempo de ejecución en el momento de la instalación deben llamar a esta función.

Parámetros
packageFile File: Es el archivo APK que se instalará.

certFile File: true si se debe realizar una reinstalación

reinstall boolean: Si se deben otorgar todos los permisos de tiempo de ejecución en el momento de la instalación.

extraArgs String: Son argumentos adicionales opcionales que se deben pasar. Consulta "adb shell pm -h" para conocer las opciones disponibles.

Muestra
String una String con un código de error, o null si se ejecuta de forma correcta.

Arroja
DeviceNotAvailableException

instalarPackageForUser

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

Instala un paquete de Android en el dispositivo de un usuario determinado.

Nota: Solo los casos de uso que requieran un control explícito de la concesión de permisos de tiempo de ejecución en el momento de la instalación deben llamar a esta función.

Parámetros
packageFile File: Es el archivo APK que se instalará.

reinstall boolean: true si se debe realizar una reinstalación

grantPermissions boolean: Indica si se deben otorgar todos los permisos de tiempo de ejecución en el momento de la instalación.

userId int: Es el ID de usuario entero para el que se instalará.

extraArgs String: Son argumentos adicionales opcionales que se deben pasar. Consulta "adb shell pm -h" para ver las opciones disponibles.

Muestra
String Un String con un código de error o null si se realiza correctamente.

Arroja
DeviceNotAvailableException

instalarPackageForUser

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

Instala un paquete de Android en el dispositivo para un usuario determinado.

Parámetros
packageFile File: Es el archivo APK que se instalará.

reinstall boolean: true si se debe realizar una reinstalación

userId int: Es el ID de usuario entero para el que se instalará.

extraArgs String: Son argumentos adicionales opcionales que se deben pasar. Consulta "adb shell pm -h" para ver las opciones disponibles.

Muestra
String una String con un código de error, o null si se ejecuta de forma correcta.

Arroja
DeviceNotAvailableException

installPackages

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

Parámetros
packageFiles

reinstall boolean

extraArgs String

Muestra
String

Arroja
DeviceNotAvailableException

installPackages

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

Parámetros
packageFiles

reinstall boolean

grantPermissions boolean

extraArgs String

Muestra
String

Arroja
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

Muestra
String

Arroja
DeviceNotAvailableException

installPackagesForUser

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

Parámetros
packageFiles

reinstall boolean

userId int

extraArgs String

Muestra
String

Arroja
DeviceNotAvailableException

installRemotePackages

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

Parámetros
remoteApkPaths

reinstall boolean

extraArgs String

Muestra
String

Arroja
DeviceNotAvailableException

installRemotePackages

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

Parámetros
remoteApkPaths

reinstall boolean

grantPermissions boolean

extraArgs String

Muestra
String

Arroja
DeviceNotAvailableException

isAppEnumerationSupported

public boolean isAppEnumerationSupported ()

Verifica si la plataforma del dispositivo admite la enumeración de apps

Muestra
boolean Es verdadero si se admite la enumeración de apps; de lo contrario, es falso.

Arroja
DeviceNotAvailableException

Modo de usuario del sistema sin interfaz gráfica

public boolean isHeadlessSystemUserMode ()

Indica si el dispositivo usa el modo de usuario del sistema sin interfaz gráfica.

Muestra
boolean

Arroja
DeviceNotAvailableException

isMainUserPermanentAdmin

public boolean isMainUserPermanentAdmin ()

Muestra si el usuario principal es un administrador permanente y no se puede borrar ni cambiar a un estado que no sea de administrador.

Muestra
boolean

Arroja
DeviceNotAvailableException

Compatibilidad con múltiples usuarios

public boolean isMultiUserSupported ()

Determina si se admite multiusuario.

Muestra
boolean true si se admite multiusuarios; de lo contrario, false

Arroja
DeviceNotAvailableException

PaqueteInstalado

public boolean isPackageInstalled (String packageName)

Consulta el dispositivo para un nombre de paquete determinado y comprueba si está instalado o no.

Parámetros
packageName String

Muestra
boolean Es verdadero si se informa que el paquete está instalado. De lo contrario, es falso.

Arroja
DeviceNotAvailableException

PaqueteInstalado

public boolean isPackageInstalled (String packageName, 
                String userId)

Consulta el dispositivo para un nombre de paquete y un ID de usuario determinados para verificar si está instalado o no para ese usuario.

Parámetros
packageName String: Es el paquete que estamos verificando si está instalado.

userId String: Es el ID de usuario para el que estamos verificando que se haya instalado el paquete. Si es nulo, se usará el cero principal.

Muestra
boolean Es verdadero si se informa que el paquete está instalado. De lo contrario, es falso.

Arroja
DeviceNotAvailableException

isUserRunning

public boolean isUserRunning (int userId)

Verifica si un usuario determinado está en ejecución.

Parámetros
userId int

Muestra
boolean Es verdadero si el usuario está corriendo y falso en todos los demás casos.

Arroja
DeviceNotAvailableException

UsuarioSecundario

public boolean isUserSecondary (int userId)

Muestra si el usuario especificado es un usuario secundario según sus marcas.

Parámetros
userId int

Muestra
boolean Es verdadero si el usuario es secundario; de lo contrario, es falso.

Arroja
DeviceNotAvailableException

isUserVisible

public boolean isUserVisible (int userId)

Verifica si el usuario determinado es visible.

Un usuario "visible" es aquel que interactúa con el usuario "humano" y, por lo tanto, puede iniciar actividades de inicio (por lo general, en la pantalla predeterminada).

Parámetros
userId int

Muestra
boolean

Arroja
DeviceNotAvailableException

esUserVisibleOnDisplay

public boolean isUserVisibleOnDisplay (int userId, 
                int displayId)

Comprueba si el usuario determinado es visible en la pantalla determinada.

Un usuario "visible" es un usuario que interactúa con el usuario "humano" y, por lo tanto, puede iniciar actividades de inicio en esa pantalla.

Parámetros
userId int

displayId int

Muestra
boolean

Arroja
DeviceNotAvailableException

isVisibleBackgroundUsersOnDefaultDisplaySupported

public boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

Devuelve si el dispositivo permite que los usuarios se inicien de forma visible en segundo plano en ERROR(/java.android.view.Display#DEFAULT_DISPLAY).

Si es así, puedes llamar a startVisibleBackgroundUser(int, int, boolean) y pasar una pantalla que muestra listDisplayIdsForStartingVisibleBackgroundUsers() (que debe incluir ERROR(/java.android.view.Display#DEFAULT_DISPLAY)).

Muestra
boolean

Arroja
DeviceNotAvailableException

isVisibleBackgroundUsersSupported

public boolean isVisibleBackgroundUsersSupported ()

Muestra si el dispositivo permite que los usuarios se inicien de forma visible en segundo plano.

Si es así, puedes llamar a startVisibleBackgroundUser(int, int, boolean) pasando una pantalla que muestra listDisplayIdsForStartingVisibleBackgroundUsers().

Muestra
boolean

Arroja
DeviceNotAvailableException

listDisplayIds

public  listDisplayIds ()

Recopila la lista de IDs de pantallas disponibles en el dispositivo, como lo informa "dumpsys SurfaceFlinger".

Muestra
Es la lista de pantallas. El valor predeterminado siempre muestra la pantalla predeterminada 0.

Arroja
DeviceNotAvailableException

listDisplayIdsForStartingVisibleBackgroundUsers

public  listDisplayIdsForStartingVisibleBackgroundUsers ()

Obtiene la lista de pantallas que se pueden usar para start a user visible in the background.

Muestra

Arroja
DeviceNotAvailableException

usuarios de la lista

public  listUsers ()

Obtiene la lista de usuarios del dispositivo. Arrojará DeviceRuntimeException si el resultado del dispositivo no es el esperado.

Muestra
la lista de IDs de usuario.

Arroja
DeviceNotAvailableException

logBugreport

public boolean logBugreport (String dataName, 
                ITestLogger listener)

Es un método de ayuda para tomar un informe de errores y registrarlo en los generadores.

Parámetros
dataName String: Es el nombre con el que se informará el informe de errores.

listener ITestLogger: Un ITestLogger para registrar el informe de errores.

Muestra
boolean Es verdadero si el registro se realizó correctamente; de lo contrario, es falso.

notificaremos aSnapuserd

public void notifySnapuserd (SnapuserdWaitPhase waitPhase)

Parámetros
waitPhase SnapuserdWaitPhase

postInvocationTearDown

public void postInvocationTearDown (Throwable exception)

Hay pasos adicionales para la limpieza específica del dispositivo que se requiere, que se ejecutará una vez que se complete la invocación.

Parámetros
exception Throwable: Si corresponde, es la excepción final que genera el error de invocación.

removeAdmin

public boolean removeAdmin (String componentName, 
                int userId)

Quita el administrador del dispositivo determinado en el usuario determinado y muestra true si se realiza correctamente, false de lo contrario.

Parámetros
componentName String: Es el administrador de dispositivos que se quitará.

userId int: del usuario en el que reside el administrador del dispositivo.

Muestra
boolean Es verdadero si tiene éxito. De lo contrario, es falso.

Arroja
DeviceNotAvailableException

quitarPropietarios

public void removeOwners ()

Quita todos los propietarios de perfiles de dispositivos existentes con el mejor esfuerzo.

Arroja
DeviceNotAvailableException

removeUser

public boolean removeUser (int userId)

Quita a un usuario determinado del dispositivo.

Parámetros
userId int: Es el usuario que se quitará.

Muestra
boolean Es verdadero si se quitó correctamente el usuario; de lo contrario, es falso.

Arroja
DeviceNotAvailableException

setDeviceOwner

public boolean setDeviceOwner (String componentName, 
                int userId)

Establece un componente de administración de dispositivos como propietario para un usuario determinado.

Parámetros
componentName String: del administrador del dispositivo para ser el propietario del dispositivo.

userId int: del usuario en el que vive el propietario del dispositivo.

Muestra
boolean Es verdadero si tiene éxito. De lo contrario, es falso.

Arroja
DeviceNotAvailableException

setSetting

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

Consulta setSetting(int, String, String, String) y se realizó en el usuario del sistema.

Parámetros
namespace String

key String

value String

Arroja
DeviceNotAvailableException

setSetting

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

Agrega un valor de configuración al espacio de nombres de un usuario determinado. Algunos parámetros de configuración solo estarán disponibles después de un reinicio. el espacio de nombres debe ser uno de los siguientes: {"system", "secure", "global"}

Parámetros
userId int

namespace String

key String

value String

Arroja
DeviceNotAvailableException

shutdownMicrodroid

public void shutdownMicrodroid (ITestDevice microdroidDevice)

Apaga el dispositivo microdroid, si existe uno.

Parámetros
microdroidDevice ITestDevice

Arroja
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

startUser

public boolean startUser (int userId)

Inicia un usuario determinado en segundo plano si está detenido. Si el usuario ya se está ejecutando en segundo plano, este método es un NOOP.

Parámetros
userId int: del usuario para iniciar en segundo plano

Muestra
boolean Es verdadero si el usuario se inició correctamente en segundo plano.

Arroja
DeviceNotAvailableException

startUser

public boolean startUser (int userId, 
                boolean waitFlag)

Inicia un usuario determinado en segundo plano si está detenido. Si el usuario ya se está ejecutando en segundo plano, este método es un NOOP. Es posible proporcionar una marca adicional para esperar a que la operación tenga efecto.

Parámetros
userId int: del usuario para iniciar en segundo plano

waitFlag boolean: Hará que el comando espere hasta que se inicie y desbloquee el usuario.

Muestra
boolean Es verdadero si el usuario se inició correctamente en segundo plano.

Arroja
DeviceNotAvailableException

startVisibleBackgroundUser

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

Inicia un usuario determinado en segundo plano, visible en la pantalla determinada (es decir, permite que el usuario inicie actividades en esa pantalla).

NOTA: Este comando no verifica si el usuario existe, si la pantalla está disponible, device supports such feature, etcétera.

Parámetros
userId int: del usuario para iniciar en segundo plano

displayId int: Es la pantalla en la que se iniciará el usuario visible.

waitFlag boolean: Hará que el comando espere hasta que se inicie y desbloquee el usuario.

Muestra
boolean true si el usuario se inició correctamente y es visible en segundo plano.

Arroja
DeviceNotAvailableException

stopUser

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

Detener a un usuario determinado Es posible proporcionar marcas adicionales para esperar a que la operación tenga efecto y forzar la finalización del usuario. No se puede detener al usuario actual ni al del sistema.

Parámetros
userId int: del usuario que se detendrá.

waitFlag boolean: Hace que el comando espere hasta que se detenga el usuario.

forceFlag boolean: Detendrá el usuario de forma forzosa.

Muestra
boolean Es verdadero si se detuvo al usuario correctamente.

Arroja
DeviceNotAvailableException

stopUser

public boolean stopUser (int userId)

Detiene a un usuario determinado. Si el usuario ya se detuvo, este método es un NOOP. No se pueden detener el usuario actual y el del sistema.

Parámetros
userId int: del usuario que se detendrá.

Muestra
boolean Es verdadero si se detuvo al usuario correctamente.

Arroja
DeviceNotAvailableException

supportsMicrodroid

public boolean supportsMicrodroid ()

Verifica las condiciones previas para ejecutar un microdroid.

Muestra
boolean devuelve el valor true si se cumplen las condiciones previas; de lo contrario, false.

supportsMicrodroid

public boolean supportsMicrodroid (boolean protectedVm)

Verifica las condiciones previas para ejecutar un microdroid.

Parámetros
protectedVm boolean: Es verdadero si microdroid se ejecuta en una VM protegida.

Muestra
boolean Muestra verdadero si se cumplen las condiciones previas; de lo contrario, muestra falso.

switchUser

public boolean switchUser (int userId)

Cambia a otro userId con un tiempo de espera predeterminado. switchUser(int, long).

Parámetros
userId int

Muestra
boolean Es verdadero si el userId nuevo coincide con el proveedor de userId. De lo contrario, es falso.

Arroja
DeviceNotAvailableException

Cambiar de usuario

public boolean switchUser (int userId, 
                long timeout)

Cambia a otro userId con el tiempo de espera proporcionado como fecha límite. Intenta inhabilitar el bloqueo de teclado después de que se realiza correctamente el cambio de usuario.

Parámetros
userId int

timeout long: Esperar antes de mostrar un valor falso para que falle el cambio de usuario.

Muestra
boolean Es verdadero si el userId nuevo coincide con el proveedor de userId. De lo contrario, es falso.

Arroja
DeviceNotAvailableException

takeBugreport

public Bugreport takeBugreport ()

Toma un informe de errores y devuélvelo dentro de un objeto Bugreport para controlarlo. Muestra un valor nulo en caso de que haya un problema. El archivo al que se hace referencia en el objeto Bugreport se debe limpiar a través de Bugreport.close().

Muestra
Bugreport

uninstallPackage

public String uninstallPackage (String packageName)

Desinstala un paquete de Android del dispositivo.

Parámetros
packageName String: Es el paquete de Android que se desinstalará.

Muestra
String una String con un código de error, o null si se ejecuta de forma correcta.

Arroja
DeviceNotAvailableException

uninstallPackageForUser

public String uninstallPackageForUser (String packageName, 
                int userId)

Desinstala un paquete de Android del dispositivo de un usuario determinado.

Parámetros
packageName String: Es el paquete de Android que se desinstalará.

userId int: Es el ID de usuario entero para el que se desinstalará.

Muestra
String Un String con un código de error o null si se realiza correctamente.

Arroja
DeviceNotAvailableException

waitForSnapuserd

public void waitForSnapuserd (SnapuserdWaitPhase currentPhase)

Parámetros
currentPhase SnapuserdWaitPhase

Arroja
DeviceNotAvailableException

Métodos protegidos

createParser

protected AaptParser createParser (File appFile)

Parámetros
appFile File

Muestra
AaptParser

doAdbReboot

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

Realiza un reinicio de adb.

Parámetros
rebootMode NativeDevice.RebootMode: Es un modo de este reinicio.

reason String: Para este reinicio.

Arroja
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getBugreportInternal

protected InputStreamSource getBugreportInternal ()

Muestra
InputStreamSource

getBugreportzInterno

protected File getBugreportzInternal ()

Es un método de ayuda interno para obtener el archivo ZIP bugreportz como ERROR(/File).

Muestra
File

getCheckNewUsersleep.

protected long getCheckNewUserSleep ()

Se expone para pruebas.

Muestra
long

getHostCurrentTime

protected long getHostCurrentTime ()

Se expone para pruebas

Muestra
long

prePostBootSetup

protected void prePostBootSetup ()

Permite que cada tipo de dispositivo (AndroidNativeDevice, TestDevice) anule este método para una configuración específica después del inicio.

Arroja
DeviceNotAvailableException