Dispositivo de prueba

public class TestDevice
extends NativeDevice

java.lang.Objeto
com.android.tradefed.device.NativeDevice
com.android.tradefed.device.TestDevice


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

Resumen

Clases anidadas

class TestDevice.MicrodroidBuilder

Un constructor utilizado para crear un Microdroid TestDevice.

Campos

public static final String DISMISS_KEYGUARD_CMD

Comandos que se pueden usar para descartar el bloqueo del teclado.

Constructores públicos

TestDevice (IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

Métodos públicos

boolean canSwitchToHeadlessSystemUser ()

Devuelve si está permitido cambiar al usuario del SISTEMA sin cabeza.

boolean clearErrorDialogs ()

Intente descartar los cuadros de diálogo de error que se muestran actualmente en la interfaz de usuario del dispositivo.

int createUser (String name)

Cree un usuario con un nombre dado y banderas predeterminadas 0.

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

Cree un usuario con un nombre dado y las banderas proporcionadas

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

Cree un usuario con un nombre dado y las banderas proporcionadas

int createUserNoThrow (String name)

Cree un usuario con un nombre dado y banderas predeterminadas 0.

void disableKeyguard ()

Intenta desactivar 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)

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

File dumpHeap (String process, String devicePath)

Intente volcar el montón de system_server.

getActiveApexes ()

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

getAllSettings (String namespace)

Devuelve pares de valores clave del espacio de nombres solicitado.

String getAndroidId (int userId)

Busque y devuelva el ID de Android asociado a un ID de usuario, nulo si no se encuentra.

getAndroidIds ()

Cree un mapa de ID de Android que coincidan con los ID de usuario.

PackageInfo getAppPackageInfo (String packageName)

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

getAppPackageInfos ()

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

InputStreamSource getBugreport ()

Recupera un informe de error del dispositivo.

InputStreamSource getBugreportz ()

Recupera un bugreportz del dispositivo.

DeviceFoldableState getCurrentFoldableState ()

Devuelve el estado plegable actual del dispositivo o nulo si ocurrieron algunos problemas.

int getCurrentUser ()

Devuelve la identificación del usuario actual en ejecución.

getFoldableStates ()

Devuelve la lista de estados plegables en el dispositivo.

getInstalledPackageNames ()

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

KeyguardControllerState getKeyguardState ()

Devuelve un objeto para obtener el estado actual del bloqueo de teclado o nulo si no es compatible.

Integer getMainUserId ()

Devuelve el ID de usuario principal.

getMainlineModuleInfo ()

Obtenga la información sobre los módulos principales instalados en el dispositivo.

int getMaxNumberOfRunningUsersSupported ()

Obtenga la cantidad máxima de usuarios compatibles que se ejecutan simultáneamente.

int getMaxNumberOfUsersSupported ()

Obtenga el número máximo de usuarios admitidos.

Integer getPrimaryUserId ()

Devuelve 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 (String format)

Toma una captura de pantalla del dispositivo.

InputStreamSource getScreenshot (long displayId)

Toma una captura de pantalla del dispositivo con la identificación de pantalla dada.

String getSetting (String namespace, String key)

Ver getSetting(int, String, String) y realizado en el usuario del sistema.

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

Devuelve el valor de la configuración solicitada.

getUninstallablePackageNames ()

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

int getUserFlags (int userId)

Encuentra y devuelve las banderas 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 al ID de usuario si se encuentra, -10000 en cualquier otro caso.

boolean hasFeature (String feature)

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

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

Instale un paquete de Android en el dispositivo.

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

Instale un paquete de Android en el dispositivo.

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

Instale un paquete de Android en el dispositivo.

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

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

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

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

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

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

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

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

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

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

boolean isAppEnumerationSupported ()

Compruebe si la plataforma en el dispositivo admite la enumeración de aplicaciones

boolean isHeadlessSystemUserMode ()

Devuelve si el dispositivo usa el modo de usuario del sistema sin cabeza.

boolean isMainUserPermanentAdmin ()

Devuelve si el usuario principal es un administrador permanente y no se puede eliminar o degradar al estado de no administrador.

boolean isMultiUserSupported ()

Determina si se admite multiusuario.

boolean isPackageInstalled (String packageName)

Consulte el dispositivo por un nombre de paquete dado para verificar si está instalado actualmente o no.

boolean isPackageInstalled (String packageName, String userId)

Consulte el dispositivo para obtener un nombre de paquete dado y una identificación de usuario dada para verificar si está instalado actualmente o no para ese usuario.

boolean isUserRunning (int userId)

Compruebe si un usuario determinado se está ejecutando.

boolean isUserSecondary (int userId)

Devuelve si el usuario especificado es un usuario secundario según sus indicadores.

boolean isUserVisible (int userId)

Comprueba si el usuario dado es visible.

boolean isUserVisibleOnDisplay (int userId, int displayId)

Comprueba si el usuario dado está visible en la pantalla dada.

boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

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

boolean isVisibleBackgroundUsersSupported ()

Devuelve si el dispositivo permite que los usuarios se inicien visibles en segundo plano.

listDisplayIds ()

Recopile la lista de ID de pantallas disponibles en el dispositivo según lo informado por "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 en el dispositivo.

boolean logBugreport (String dataName, ITestLogger listener)

Método de ayuda para tomar un informe de error y registrarlo para los reporteros.

void postInvocationTearDown (Throwable exception)

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

boolean removeAdmin (String componentName, int userId)

Elimine el administrador del dispositivo dado en el usuario dado y devuelva true si tiene éxito, false de lo contrario.

void removeOwners ()

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

boolean removeUser (int userId)

Eliminar un usuario determinado del dispositivo.

boolean setDeviceOwner (String componentName, int userId)

Establezca un componente de administración del dispositivo como propietario del dispositivo en un usuario determinado.

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

Consulte setSetting(int, String, String, String) y se realiza en el usuario del sistema.

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

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

void shutdownMicrodroid ( ITestDevice microdroidDevice)

Apaga el dispositivo microdroid, si existe.

boolean startUser (int userId)

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

boolean startUser (int userId, boolean waitFlag)

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

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

Inicia un usuario determinado en segundo plano, visible en la pantalla dada (es decir, permite que el usuario inicie 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 ()

Comprueba las condiciones previas para ejecutar un microdroide.

boolean supportsMicrodroid (boolean protectedVm)

Comprueba las condiciones previas para ejecutar un microdroide.

boolean switchUser (int userId)

Cambie a otro ID de usuario con un tiempo de espera predeterminado.

boolean switchUser (int userId, long timeout)

Cambie a otro ID de usuario con el tiempo de espera proporcionado como fecha límite.

Bugreport takeBugreport ()

Tome un informe de error y devuélvalo dentro de un objeto Bugreport para manejarlo.

String uninstallPackage (String packageName)

Desinstale un paquete de Android del dispositivo.

String uninstallPackageForUser (String packageName, int userId)

Desinstale un paquete de Android del dispositivo para un usuario determinado.

Métodos protegidos

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

Realice un reinicio adb.

InputStreamSource getBugreportInternal ()
File getBugreportzInternal ()

Método auxiliar interno para obtener el archivo zip bugreportz como ERROR(/File) .

long getCheckNewUserSleep ()

Expuesto para la prueba.

long getHostCurrentTime ()

Expuesto para la prueba

void prePostBootSetup ()

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

Campos

DISMISS_KEYGUARD_CMD

public static final String DISMISS_KEYGUARD_CMD

Comandos que se pueden usar para descartar el bloqueo del teclado.

Constructores públicos

Dispositivo de prueba

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

Métodos públicos

canSwitchToHeadlessSystemUser

public boolean canSwitchToHeadlessSystemUser ()

Devuelve si está permitido cambiar al usuario del SISTEMA sin cabeza.

Devoluciones
boolean

Lanza
DeviceNotAvailableException

borrar diálogos de error

public boolean clearErrorDialogs ()

Intente descartar los cuadros de diálogo de error que se muestran actualmente en la interfaz de usuario del dispositivo.

Devoluciones
boolean true si no había cuadros de diálogo o los cuadros de diálogo se borraron correctamente. false en caso contrario.

Lanza
DeviceNotAvailableException

crear usuario

public int createUser (String name)

Cree un usuario con un nombre dado y banderas predeterminadas 0.

Parámetros
name String : del usuario a crear en el dispositivo

Devoluciones
int el número entero para la identificación de usuario creada

Lanza
DeviceNotAvailableException

crear usuario

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

Cree un usuario con un nombre dado y las banderas proporcionadas

Parámetros
name String : del usuario a crear en el dispositivo

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

ephemeral boolean : habilitar el indicador de usuario --efímero durante la creación

forTesting boolean : habilita el indicador de prueba --para probar durante la creación

Devoluciones
int id del usuario creado

Lanza
DeviceNotAvailableException

crear usuario

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

Cree un usuario con un nombre dado y las banderas proporcionadas

Parámetros
name String : del usuario a crear en el dispositivo

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

ephemeral boolean : habilitar el indicador de usuario --efímero durante la creación

Devoluciones
int id del usuario creado

Lanza
DeviceNotAvailableException

crearUsuarioNoLanzar

public int createUserNoThrow (String name)

Cree un usuario con un nombre dado y banderas predeterminadas 0.

Parámetros
name String : del usuario a crear en el dispositivo

Devoluciones
int el número entero para el ID de usuario creado o -1 para el error.

Lanza
DeviceNotAvailableException

desactivar Keyguard

public void disableKeyguard ()

Intenta desactivar el bloqueo del teclado.

Primero espere a que el envío de entrada esté listo, esto sucede casi al mismo tiempo cuando el dispositivo informa BOOT_COMPLETE, aparentemente de forma asíncrona, porque la implementación del marco actual 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)

Lanza
DeviceNotAvailableException

existe el archivo

public boolean doesFileExist (String deviceFilePath)

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

Parámetros
deviceFilePath String : la ruta absoluta del archivo en el dispositivo para verificar

Devoluciones
boolean true si el archivo existe, false en caso contrario.

Lanza
DeviceNotAvailableException

existe el archivo

public boolean doesFileExist (String deviceFilePath, 
                int userId)

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

Parámetros
deviceFilePath String : la ruta absoluta del archivo en el dispositivo para verificar

userId int : la identificación de usuario contra la cual verificar la existencia del archivo

Devoluciones
boolean true si el archivo existe, false en caso contrario.

Lanza
DeviceNotAvailableException

basurero

public File dumpHeap (String process, 
                String devicePath)

Intente volcar el montón de system_server. Es responsabilidad de la persona que llama limpiar el archivo volcado.

Parámetros
process String : el nombre del proceso del dispositivo en el que se va a realizar el volcado.

devicePath String : la ruta en el dispositivo donde colocar el volcado. Esta debe ser una ubicación donde los permisos lo permitan.

Devoluciones
File el ERROR(/File) que contiene el informe. Nulo si algo falla.

Lanza
DeviceNotAvailableException

getActiveApexes

public  getActiveApexes ()

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

Devoluciones
ERROR(/Set) de ApexInfo actualmente activado en el dispositivo

Lanza
DeviceNotAvailableException

getAllSettings

public  getAllSettings (String namespace)

Devuelve pares de valores clave del espacio de nombres solicitado.

Parámetros
namespace String : debe ser uno de {"sistema", "seguro", "global"}

Devoluciones
el mapa de pares clave-valor. Nulo si no se admite el espacio de nombres.

Lanza
DeviceNotAvailableException

obtenerAndroidId

public String getAndroidId (int userId)

Busque y devuelva el ID de Android asociado a un ID de usuario, nulo si no se encuentra.

Parámetros
userId int

Devoluciones
String

Lanza
DeviceNotAvailableException

obtener ID de Android

public  getAndroidIds ()

Cree un mapa de ID de Android que coincidan con los ID de usuario. No hay garantía de que cada identificación de usuario encuentre una identificación de Android asociada en esta función, por lo que algunas identificaciones de usuario pueden coincidir con nulas.

Devoluciones
Mapa de ID de Android encontrados ID de usuario coincidentes.

Lanza
DeviceNotAvailableException

getAppPackageInfo

public PackageInfo getAppPackageInfo (String packageName)

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

Parámetros
packageName String

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

Lanza
DeviceNotAvailableException

getAppPackageInfos

public  getAppPackageInfos ()

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

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

Lanza
DeviceNotAvailableException

obtener informe de error

public InputStreamSource getBugreport ()

Recupera un informe de error del dispositivo.

Se garantiza que la implementación de esto continúe funcionando en un dispositivo sin una tarjeta SD (o donde la tarjeta SD aún no está montada).

Devoluciones
InputStreamSource Un InputStreamSource que producirá el contenido del informe de errores a pedido. En caso de falla, InputStreamSource generará 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 compatible con 'versión adb' > 1.0.36

Devoluciones
InputStreamSource un InputStreamSource del archivo zip que contiene bugreportz, devuelve nulo en caso de falla.

getCurrentFoldableState

public DeviceFoldableState getCurrentFoldableState ()

Devuelve el estado plegable actual del dispositivo o nulo si ocurrieron algunos problemas.

Devoluciones
DeviceFoldableState

Lanza
DeviceNotAvailableException

obtenerUsuarioActual

public int getCurrentUser ()

Devuelve la identificación del usuario actual en ejecución. En caso de error, devuelve -10000.

Devoluciones
int

Lanza
DeviceNotAvailableException

getFoldableStates

public  getFoldableStates ()

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

Devoluciones

Lanza
DeviceNotAvailableException

getInstalledPackageNames

public  getInstalledPackageNames ()

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

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

Lanza
DeviceNotAvailableException

getKeyguardState

public KeyguardControllerState getKeyguardState ()

Devuelve un objeto para obtener el estado actual del bloqueo de teclado o nulo si no es compatible.

Devoluciones
KeyguardControllerState un KeyguardControllerState que contiene una instantánea del estado de Keyguard y devuelve Null si no se admite la consulta de Keyguard.

Lanza
DeviceNotAvailableException

getMainUserId

public Integer getMainUserId ()

Devuelve el ID de usuario principal.

Devoluciones
Integer el ID de usuario del usuario principal si lo hay, y nulo si no hay un usuario principal.

Lanza
DeviceNotAvailableException

getMainlineModuleInfo

public  getMainlineModuleInfo ()

Obtenga la información sobre los módulos principales instalados en el dispositivo.

Devoluciones
ERROR(/Set) de los módulos de línea principal String actualmente instalados en el dispositivo.

Lanza
DeviceNotAvailableException

getMaxNumberOfRunningUsersSoportado

public int getMaxNumberOfRunningUsersSupported ()

Obtenga la cantidad máxima de usuarios compatibles que se ejecutan simultáneamente. El valor predeterminado es 0.

Devoluciones
int un número entero que indica el número de usuarios que se ejecutan simultáneamente

Lanza
DeviceNotAvailableException

getMaxNumberOfUsersSoportado

public int getMaxNumberOfUsersSupported ()

Obtenga el número máximo de usuarios admitidos. El valor predeterminado es 0.

Devoluciones
int un número entero que indica el número de usuarios admitidos

Lanza
DeviceNotAvailableException

getPrimaryUserId

public Integer getPrimaryUserId ()

Devuelve el ID de usuario principal.

Devoluciones
Integer el ID de usuario del usuario principal, si lo hay, y nulo si no hay ningún usuario principal.

Lanza
DeviceNotAvailableException

obtener captura de pantalla

public InputStreamSource getScreenshot ()

Toma una captura de pantalla del dispositivo.

Devoluciones
InputStreamSource un InputStreamSource de la captura de pantalla en formato png, o null si la captura de pantalla no se realizó correctamente.

Lanza
DeviceNotAvailableException

obtener captura de pantalla

public InputStreamSource getScreenshot (String format, 
                boolean rescale)

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

Parámetros
format String : PNG compatible, JPEG

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

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

Lanza
DeviceNotAvailableException

obtener captura de pantalla

public InputStreamSource getScreenshot (String format)

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

Parámetros
format String : PNG compatible, JPEG

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

Lanza
DeviceNotAvailableException

obtener captura de pantalla

public InputStreamSource getScreenshot (long displayId)

Toma una captura de pantalla del dispositivo con la identificación de pantalla dada. El formato es PNG.

TODO: ampliar las implementaciones anteriores para admitir 'formato' y 'reescalado'

Parámetros
displayId long : la identificación de visualización de la pantalla para obtener la captura de pantalla.

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

Lanza
DeviceNotAvailableException

getSetting

public String getSetting (String namespace, 
                String key)

Ver getSetting(int, String, String) y realizado en el usuario del sistema.

Parámetros
namespace String

key String

Devoluciones
String

Lanza
DeviceNotAvailableException

getSetting

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

Devuelve el valor de la configuración solicitada. el espacio de nombres debe ser uno de: {"sistema", "seguro", "global"}

Parámetros
userId int

namespace String

key String

Devoluciones
String el valor asociado con el espacio de nombres: clave de un usuario. Nulo si no se encuentra.

Lanza
DeviceNotAvailableException

getUninstallablePackageNames

public  getUninstallablePackageNames ()

Obtenga los nombres de los paquetes de aplicaciones que se pueden desinstalar. Esto se define actualmente como paquetes que no son del sistema y paquetes del sistema actualizados.

Devoluciones
ERROR(/Set) de nombres de paquetes String desinstalables actualmente instalados en el dispositivo.

Lanza
DeviceNotAvailableException

getUserFlags

public int getUserFlags (int userId)

Encuentra y devuelve las banderas de un usuario determinado. Los indicadores se definen en la clase "android.content.pm.UserInfo" en el proyecto de código abierto de Android.

Parámetros
userId int

Devoluciones
int las banderas asociadas con el ID de usuario proporcionado si se encuentra, -10000 en cualquier otro caso.

Lanza
DeviceNotAvailableException

getUserInfos

public  getUserInfos ()

Obtiene el mapa de useId a UserInfo en el dispositivo. Lanzará DeviceRuntimeException si la salida del dispositivo no es la esperada.

Devoluciones
la lista de objetos UserInfo.

Lanza
DeviceNotAvailableException

getUserSerialNumber

public int getUserSerialNumber (int userId)

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

Parámetros
userId int

Devoluciones
int

Lanza
DeviceNotAvailableException

tieneCaracterística

public boolean hasFeature (String feature)

Compruebe si una característica está disponible en un dispositivo.

Parámetros
feature String : cuyo formato debe ser "característica: " o " directamente.

Devoluciones
boolean Verdadero si se encuentra la función, falso en caso contrario.

Lanza
DeviceNotAvailableException

paquete de instalación

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

Instale un paquete de Android en el dispositivo.

Parámetros
packageFile File : el archivo apk para instalar

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

extraArgs String : argumentos adicionales opcionales para pasar. Consulte 'adb shell pm -h' para conocer las opciones disponibles.

Devoluciones
String una String con un código de error o null si se realiza correctamente.

Lanza
DeviceNotAvailableException

paquete de instalación

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

Instale 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 : el archivo apk para instalar

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

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

extraArgs String : argumentos adicionales opcionales para pasar. Consulte 'adb shell pm -h' para conocer las opciones disponibles.

Devoluciones
String una String con un código de error o null si se realiza correctamente.

Lanza
DeviceNotAvailableException

paquete de instalación

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

Instale 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 : el archivo apk para 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 : argumentos adicionales opcionales para pasar. Consulte 'adb shell pm -h' para conocer las opciones disponibles.

Devoluciones
String una String con un código de error o null si se realiza correctamente.

Lanza
DeviceNotAvailableException

instalarPaqueteParaUsuario

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

Instale un paquete de Android en el dispositivo para 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 : el archivo apk para instalar

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

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

userId int : el ID de usuario entero para instalar.

extraArgs String : argumentos adicionales opcionales para pasar. Consulte 'adb shell pm -h' para conocer las opciones disponibles.

Devoluciones
String una String con un código de error o null si se realiza correctamente.

Lanza
DeviceNotAvailableException

instalarPaqueteParaUsuario

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

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

Parámetros
packageFile File : el archivo apk para instalar

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

userId int : el ID de usuario entero para instalar.

extraArgs String : argumentos adicionales opcionales para pasar. Consulte 'adb shell pm -h' para conocer las opciones disponibles.

Devoluciones
String una String con un código de error o null si se realiza correctamente.

Lanza
DeviceNotAvailableException

instalarPaquetes

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

Parámetros
packageFiles

reinstall boolean

extraArgs String

Devoluciones
String

Lanza
DeviceNotAvailableException

instalarPaquetes

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

Parámetros
packageFiles

reinstall boolean

grantPermissions boolean

extraArgs String

Devoluciones
String

Lanza
DeviceNotAvailableException

instalarPaquetesParaUsuario

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

Parámetros
packageFiles

reinstall boolean

grantPermissions boolean

userId int

extraArgs String

Devoluciones
String

Lanza
DeviceNotAvailableException

instalarPaquetesParaUsuario

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

Parámetros
packageFiles

reinstall boolean

userId int

extraArgs String

Devoluciones
String

Lanza
DeviceNotAvailableException

instalar paquetes remotos

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

Parámetros
remoteApkPaths

reinstall boolean

extraArgs String

Devoluciones
String

Lanza
DeviceNotAvailableException

instalar paquetes remotos

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

Parámetros
remoteApkPaths

reinstall boolean

grantPermissions boolean

extraArgs String

Devoluciones
String

Lanza
DeviceNotAvailableException

isAppEnumerationSoportado

public boolean isAppEnumerationSupported ()

Compruebe si la plataforma en el dispositivo admite la enumeración de aplicaciones

Devoluciones
boolean Verdadero si se admite la enumeración de aplicaciones, falso en caso contrario

Lanza
DeviceNotAvailableException

isHeadlessSystemUserMode

public boolean isHeadlessSystemUserMode ()

Devuelve si el dispositivo usa el modo de usuario del sistema sin cabeza.

Devoluciones
boolean

Lanza
DeviceNotAvailableException

isMainUserPermanentAdmin

public boolean isMainUserPermanentAdmin ()

Devuelve si el usuario principal es un administrador permanente y no se puede eliminar o degradar al estado de no administrador.

Devoluciones
boolean

Lanza
DeviceNotAvailableException

es multiusuario compatible

public boolean isMultiUserSupported ()

Determina si se admite multiusuario.

Devoluciones
boolean verdadero si se admite multiusuario, falso en caso contrario

Lanza
DeviceNotAvailableException

esPaqueteInstalado

public boolean isPackageInstalled (String packageName)

Consulte el dispositivo por un nombre de paquete dado para verificar si está instalado actualmente o no.

Parámetros
packageName String

Devoluciones
boolean True si el paquete se informa como instalado. Falso en caso contrario.

Lanza
DeviceNotAvailableException

esPaqueteInstalado

public boolean isPackageInstalled (String packageName, 
                String userId)

Consulte el dispositivo para obtener un nombre de paquete dado y una identificación de usuario dada para verificar si está instalado actualmente o no para ese usuario.

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

userId String : la identificación de usuario para la que estamos verificando el paquete está instalado. Si es nulo, se utilizará el usuario principal cero.

Devoluciones
boolean True si el paquete se informa como instalado. Falso en caso contrario.

Lanza
DeviceNotAvailableException

isUserRunning

public boolean isUserRunning (int userId)

Compruebe si un usuario determinado se está ejecutando.

Parámetros
userId int

Devoluciones
boolean Verdadero si el usuario está ejecutando, falso en todos los demás casos.

Lanza
DeviceNotAvailableException

esUsuarioSecundario

public boolean isUserSecondary (int userId)

Devuelve si el usuario especificado es un usuario secundario según sus indicadores.

Parámetros
userId int

Devoluciones
boolean true si el usuario es secundario, false en caso contrario.

Lanza
DeviceNotAvailableException

esUsuarioVisible

public boolean isUserVisible (int userId)

Comprueba si el usuario dado es visible.

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

Parámetros
userId int

Devoluciones
boolean

Lanza
DeviceNotAvailableException

isUserVisibleOnDisplay

public boolean isUserVisibleOnDisplay (int userId, 
                int displayId)

Comprueba si el usuario dado está visible en la pantalla dada.

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

Parámetros
userId int

displayId int

Devoluciones
boolean

Lanza
DeviceNotAvailableException

isVisibleBackgroundUsersOnDefaultDisplaySoportado

public boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

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

Si es así, puede llamar startVisibleBackgroundUser(int, int, boolean) , pasando una pantalla devuelta por listDisplayIdsForStartingVisibleBackgroundUsers() (que debe incluir ERROR(/java.android.view.Display#DEFAULT_DISPLAY) ).

Devoluciones
boolean

Lanza
DeviceNotAvailableException

isVisibleBackgroundUsersSoportado

public boolean isVisibleBackgroundUsersSupported ()

Devuelve si el dispositivo permite que los usuarios se inicien visibles en segundo plano.

Si es así, podría llamar startVisibleBackgroundUser(int, int, boolean) y pasar una pantalla devuelta por listDisplayIdsForStartingVisibleBackgroundUsers() .

Devoluciones
boolean

Lanza
DeviceNotAvailableException

listDisplayIds

public  listDisplayIds ()

Recopile la lista de ID de pantallas disponibles en el dispositivo según lo informado por "dumpsys SurfaceFlinger".

Devoluciones
La lista de pantallas. Predeterminado siempre devuelve la pantalla predeterminada 0.

Lanza
DeviceNotAvailableException

listDisplayIdsForStartingVisibleBackgroundUsers

public  listDisplayIdsForStartingVisibleBackgroundUsers ()

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

Devoluciones

Lanza
DeviceNotAvailableException

listaUsuarios

public  listUsers ()

Obtiene la lista de usuarios en el dispositivo. Lanzará DeviceRuntimeException si la salida del dispositivo no es la esperada.

Devoluciones
la lista de ID de usuario.

Lanza
DeviceNotAvailableException

informe de error de registro

public boolean logBugreport (String dataName, 
                ITestLogger listener)

Método de ayuda para tomar un informe de error y registrarlo para los reporteros.

Parámetros
dataName String : nombre bajo el cual se informará el informe de error.

listener ITestLogger : un ITestLogger para registrar el informe de error.

Devoluciones
boolean Verdadero si el registro fue exitoso, falso en caso contrario.

postInvocaciónDerribar

public void postInvocationTearDown (Throwable exception)

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

Parámetros
exception Throwable : si la hay, la excepción final provocada por el error de invocación.

removeAdmin

public boolean removeAdmin (String componentName, 
                int userId)

Elimine el administrador del dispositivo dado en el usuario dado y devuelva true si tiene éxito, false de lo contrario.

Parámetros
componentName String : del administrador del dispositivo que se eliminará.

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

Devoluciones
boolean Verdadero si tiene éxito, falso en caso contrario.

Lanza
DeviceNotAvailableException

removePropietarios

public void removeOwners ()

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

Lanza
DeviceNotAvailableException

eliminarUsuario

public boolean removeUser (int userId)

Eliminar un usuario determinado del dispositivo.

Parámetros
userId int : del usuario a eliminar

Devoluciones
boolean true si logramos eliminar al usuario, false en caso contrario.

Lanza
DeviceNotAvailableException

setDeviceOwner

public boolean setDeviceOwner (String componentName, 
                int userId)

Establezca un componente de administración del dispositivo como propietario del dispositivo en un usuario determinado.

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

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

Devoluciones
boolean Verdadero si tiene éxito, falso en caso contrario.

Lanza
DeviceNotAvailableException

establecerConfiguración

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

Consulte setSetting(int, String, String, String) y se realiza en el usuario del sistema.

Parámetros
namespace String

key String

value String

Lanza
DeviceNotAvailableException

establecerConfiguración

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

Agregue un valor de configuración al espacio de nombres de un usuario determinado. Algunas configuraciones solo estarán disponibles después de un reinicio. el espacio de nombres debe ser uno de: {"sistema", "seguro", "global"}

Parámetros
userId int

namespace String

key String

value String

Lanza
DeviceNotAvailableException

apagarMicrodroid

public void shutdownMicrodroid (ITestDevice microdroidDevice)

Apaga el dispositivo microdroid, si existe.

Parámetros
microdroidDevice ITestDevice

Lanza
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

inicioUsuario

public boolean startUser (int userId)

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

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

Devoluciones
boolean true si el usuario se inició correctamente en segundo plano.

Lanza
DeviceNotAvailableException

inicioUsuario

public boolean startUser (int userId, 
                boolean waitFlag)

Inicia un usuario determinado en segundo plano si actualmente está detenido. Si el usuario ya se está ejecutando en segundo plano, este método es NOOP. Es posible proporcionar un indicador 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 el usuario se inicie y se desbloquee.

Devoluciones
boolean true si el usuario se inició correctamente en segundo plano.

Lanza
DeviceNotAvailableException

startVisibleBackgroundUser

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

Inicia un usuario determinado en segundo plano, visible en la pantalla dada (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.

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

displayId int : mostrar para iniciar el usuario visible en

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

Devoluciones
boolean true si el usuario se inició correctamente visible en segundo plano.

Lanza
DeviceNotAvailableException

detenerUsuario

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

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

Parámetros
userId int : del usuario para detener.

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

forceFlag boolean : forzará la detención del usuario.

Devoluciones
boolean true si el usuario se detuvo correctamente.

Lanza
DeviceNotAvailableException

detenerUsuario

public boolean stopUser (int userId)

Detiene a un usuario determinado. Si el usuario ya está detenido, este método es un NOOP. No se puede detener al usuario actual y del sistema.

Parámetros
userId int : del usuario para detener.

Devoluciones
boolean true si el usuario se detuvo correctamente.

Lanza
DeviceNotAvailableException

es compatible con Microdroid

public boolean supportsMicrodroid ()

Comprueba las condiciones previas para ejecutar un microdroide.

Devoluciones
boolean devuelve verdadero si se cumplen las condiciones previas, falso en caso contrario.

es compatible con Microdroid

public boolean supportsMicrodroid (boolean protectedVm)

Comprueba las condiciones previas para ejecutar un microdroide.

Parámetros
protectedVm boolean : verdadero si se pretende que microdroid se ejecute en una VM protegida.

Devoluciones
boolean devuelve verdadero si se cumplen las condiciones previas, falso en caso contrario.

cambiar de usuario

public boolean switchUser (int userId)

Cambie a otro ID de usuario con un tiempo de espera predeterminado. switchUser(int, long) .

Parámetros
userId int

Devoluciones
boolean True si el nuevo ID de usuario coincide con el proveedor de ID de usuario. Falso en caso contrario.

Lanza
DeviceNotAvailableException

cambiar de usuario

public boolean switchUser (int userId, 
                long timeout)

Cambie a otro ID de usuario con el tiempo de espera proporcionado como fecha límite. Intente deshabilitar Keyguard después de que el cambio de usuario sea exitoso.

Parámetros
userId int

timeout long : esperar antes de devolver falso para el cambio de usuario fallido.

Devoluciones
boolean True si el nuevo ID de usuario coincide con el proveedor de ID de usuario. Falso en caso contrario.

Lanza
DeviceNotAvailableException

tomarBugreinforme

public Bugreport takeBugreport ()

Tome un informe de error y devuélvalo dentro de un objeto Bugreport para manejarlo. Devuelve nulo en caso de problema. El archivo al que se hace referencia en el objeto Bugreport debe limpiarse a través de Bugreport.close() .

Devoluciones
Bugreport

desinstalarPaquete

public String uninstallPackage (String packageName)

Desinstale un paquete de Android del dispositivo.

Parámetros
packageName String : el paquete de Android para desinstalar

Devoluciones
String una String con un código de error o null si se realiza correctamente.

Lanza
DeviceNotAvailableException

desinstalar paquete para usuario

public String uninstallPackageForUser (String packageName, 
                int userId)

Desinstale un paquete de Android del dispositivo para un usuario determinado.

Parámetros
packageName String : el paquete de Android para desinstalar

userId int : el ID de usuario entero para desinstalar.

Devoluciones
String una String con un código de error o null si se realiza correctamente.

Lanza
DeviceNotAvailableException

Métodos protegidos

crearParser

protected AaptParser createParser (File appFile)

Parámetros
appFile File

Devoluciones
AaptParser

doAdbReboot

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

Realice un reinicio adb.

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

reason String : para este reinicio.

Lanza
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getBureportInternal

protected InputStreamSource getBugreportInternal ()

Devoluciones
InputStreamSource

getBugreportzInternal

protected File getBugreportzInternal ()

Método auxiliar interno para obtener el archivo zip bugreportz como ERROR(/File) .

Devoluciones
File

getCheckNewUserSleep

protected long getCheckNewUserSleep ()

Expuesto para la prueba.

Devoluciones
long

getHostCurrentTime

protected long getHostCurrentTime ()

Expuesto para la prueba

Devoluciones
long

prePostBootSetup

protected void prePostBootSetup ()

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

Lanza
DeviceNotAvailableException