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 utilizar para descartar el bloqueo de teclas.

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 cualquier cuadro de diálogo de error que se muestre actualmente en la interfaz de usuario del dispositivo.

int createUser (String name)

Cree un usuario con un nombre de pila y banderas predeterminadas 0.

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

Cree un usuario con un nombre de pila y las banderas proporcionadas

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

Cree un usuario con un nombre de pila y las banderas proporcionadas

int createUserNoThrow (String name)

Cree un usuario con un nombre de pila y banderas predeterminadas 0.

void disableKeyguard ()

Intenta desactivar el bloqueo de teclas.

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 del system_server.

getActiveApexes ()

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

getAllSettings (String namespace)

Devuelve pares clave-valor 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 identificadores de Android que coincidan con los identificadores de usuario.

PackageInfo getAppPackageInfo (String packageName)

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

getAppPackageInfos ()

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

InputStreamSource getBugreport ()

Recupera un informe de error del dispositivo.

InputStreamSource getBugreportz ()

Recupera un informe de error 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 protector de claves o nulo si no es compatible.

Integer getMainUserId ()

Devuelve la identificación del 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 la identificación del 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)

Consulte getSetting(int, String, String) y se realiza 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 lo 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 de un usuario determinado.

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

Instale un paquete de Android en el dispositivo de 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 del dispositivo admite la enumeración de aplicaciones

boolean isHeadlessSystemUserMode ()

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

boolean isMainUserPermanentAdmin ()

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

boolean isMultiUserSupported ()

Determina si se admite multiusuario.

boolean isPackageInstalled (String packageName)

Consulta en el dispositivo un nombre de paquete determinado para comprobar si está actualmente instalado o no.

boolean isPackageInstalled (String packageName, String userId)

Consulte el dispositivo para obtener un nombre de paquete determinado y una identificación de usuario determinada para verificar si está actualmente instalado 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 es visible en la pantalla dada.

boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

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

boolean isVisibleBackgroundUsersSupported ()

Devuelve si el dispositivo permite que los usuarios se inicien de forma visible 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 auxiliar para tomar un informe de error y registrarlo para los reporteros.

void postInvocationTearDown (Throwable exception)

Se requieren pasos adicionales para la limpieza específica del dispositivo que se ejecutarán una vez finalizada la invocación.

boolean removeAdmin (String componentName, int userId)

Elimine el administrador del dispositivo determinado en un usuario determinado y devuelva true si tiene éxito, false en caso contrario.

void removeOwners ()

Elimine a 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)

Configure 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 determinada (es decir, permitiendo 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 ()

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 lo devuelva 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 de adb.

InputStreamSource getBugreportInternal ()
File getBugreportzInternal ()

Método de ayuda interna para obtener el archivo zip del informe de error como ERROR(/File) .

long getCheckNewUserSleep ()

Expuesto para pruebas.

long getHostCurrentTime ()

Expuesto para pruebas

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 utilizar para descartar el bloqueo de teclas.

Constructores públicos

Dispositivo de prueba

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

Métodos públicos

puede cambiar a usuario del sistema sin cabeza

public boolean canSwitchToHeadlessSystemUser ()

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

Devoluciones
boolean

Lanza
DeviceNotAvailableException

clearErrorDiálogos

public boolean clearErrorDialogs ()

Intente descartar cualquier cuadro de diálogo de error que se muestre actualmente en la interfaz de usuario del dispositivo.

Devoluciones
boolean true si no había ningún cuadro de diálogo presente o si 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 de pila 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 de pila y las banderas proporcionadas

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

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

ephemeral boolean : habilita la bandera de usuario --efímera durante la creación

forTesting boolean : habilita el indicador de prueba --for-testing 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 de pila y las banderas proporcionadas

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

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

ephemeral boolean : habilita la bandera de usuario --efímera durante la creación

Devoluciones
int ID del usuario creado.

Lanza
DeviceNotAvailableException

crearUsuarioNoThrow

public int createUserNoThrow (String name)

Cree un usuario con un nombre de pila 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 o -1 para el error.

Lanza
DeviceNotAvailableException

desactivar Keyguard

public void disableKeyguard ()

Intenta desactivar el bloqueo de teclas.

Primero espere a que el envío de entrada esté listo; esto sucede aproximadamente al mismo tiempo que el dispositivo informa BOOT_COMPLETE, aparentemente de forma asincrónica, porque la implementación actual del marco tiene condiciones de carrera ocasionales. Luego se envía el comando para descartar el bloqueo de teclas (sólo funciona en los no 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 con la que verificar la existencia del archivo.

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

Lanza
DeviceNotAvailableException

montón de volcado

public File dumpHeap (String process, 
                String devicePath)

Intente volcar el montón del 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 realizará el volcado.

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

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

Lanza
DeviceNotAvailableException

getActiveApexes

public  getActiveApexes ()

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

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

Lanza
DeviceNotAvailableException

obtener todas las configuraciones

public  getAllSettings (String namespace)

Devuelve pares clave-valor del espacio de nombres solicitado.

Parámetros
namespace String : debe ser una de {"system", "secure", "global"}

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

Lanza
DeviceNotAvailableException

obtenerID de Android

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

obtenerIds de Android

public  getAndroidIds ()

Cree un mapa de identificadores de Android que coincidan con los identificadores de usuario. No hay seguridad de que cada ID de usuario encuentre una ID de Android asociada en esta función, por lo que algunas ID de usuario pueden coincidir con NULL.

Devoluciones
Mapa de identificadores de Android encontrados que coinciden con los identificadores de usuario.

Lanza
DeviceNotAvailableException

getAppPackageInfo

public PackageInfo getAppPackageInfo (String packageName)

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

Parámetros
packageName String

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

Lanza
DeviceNotAvailableException

getAppPackageInfos

public  getAppPackageInfos ()

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

Devoluciones
ERROR(/List) de PackageInfo 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 continuará 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 producirá un ERROR(/InputStream) vacío.

getBugreportz

public InputStreamSource getBugreportz ()

Recupera un informe de error 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 se admite para la 'versión adb' > 1.0.36

Devoluciones
InputStreamSource un InputStreamSource del archivo zip que contiene el informe de error, 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

obtener usuario actual

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 los nombres de los paquetes String actualmente instalados en el dispositivo.

Lanza
DeviceNotAvailableException

getKeyguardState

public KeyguardControllerState getKeyguardState ()

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

Devoluciones
KeyguardControllerState un KeyguardControllerState que contiene una instantánea del estado del keyguard y devuelve Null si la consulta Keyguard no es compatible.

Lanza
DeviceNotAvailableException

obtener ID de usuario principal

public Integer getMainUserId ()

Devuelve la identificación del 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

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

getMaxNumberOfRunningUsersSupported

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

getMaxNumberOfUsersSupported

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

obtener ID de usuario principal

public Integer getPrimaryUserId ()

Devuelve la identificación del 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 utilizar getScreenshot(String) en su lugar con codificación JPEG para un tamaño más pequeño.

Parámetros
format String : PNG, JPEG compatible

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 utilizar getScreenshot(format) en lugar de con codificación JPEG para un tamaño más pequeño

Parámetros
format String : PNG, JPEG compatible

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 'reescalar'

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

obtener configuración

public String getSetting (String namespace, 
                String key)

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

Parámetros
namespace String

key String

Devoluciones
String

Lanza
DeviceNotAvailableException

obtener configuración

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: {"system", "secure", "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. Actualmente, esto se define 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

obtener banderas de usuario

public int getUserFlags (int userId)

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

Parámetros
userId int

Devoluciones
int los indicadores asociados con el ID de usuario proporcionado si se encuentran, -10000 en cualquier otro caso.

Lanza
DeviceNotAvailableException

obtener información de usuario

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 lo encuentra, -10000 en cualquier otro caso.

Parámetros
userId int

Devoluciones
int

Lanza
DeviceNotAvailableException

tiene característica

public boolean hasFeature (String feature)

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

Parámetros
feature String : qué formato debería ser "característica: " o " "directamente.

Devoluciones
boolean Verdadero si se encuentra la característica; 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 tiene éxito.

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 para otorgar 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 tiene éxito.

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 para otorgar 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 tiene éxito.

Lanza
DeviceNotAvailableException

instalarPaqueteParaUsuario

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

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

Nota: Solo los casos de uso que requieran un control explícito para otorgar 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 : la identificación de usuario entera para 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 tiene éxito.

Lanza
DeviceNotAvailableException

instalarPaqueteParaUsuario

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

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

Parámetros
packageFile File : el archivo apk para instalar

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

userId int : la identificación de usuario entera para 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 tiene éxito.

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

instalarPackagesForUser

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

instalarPackagesForUser

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

Parámetros
packageFiles

reinstall boolean

userId int

extraArgs String

Devoluciones
String

Lanza
DeviceNotAvailableException

instalarRemotePackages

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

Parámetros
remoteApkPaths

reinstall boolean

extraArgs String

Devoluciones
String

Lanza
DeviceNotAvailableException

instalarRemotePackages

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

Parámetros
remoteApkPaths

reinstall boolean

grantPermissions boolean

extraArgs String

Devoluciones
String

Lanza
DeviceNotAvailableException

isAppEnumerationSupported

public boolean isAppEnumerationSupported ()

Compruebe si la plataforma del dispositivo admite la enumeración de aplicaciones

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

Lanza
DeviceNotAvailableException

esHeadlessSystemUserMode

public boolean isHeadlessSystemUserMode ()

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

Devoluciones
boolean

Lanza
DeviceNotAvailableException

esMainUserPermanentAdmin

public boolean isMainUserPermanentAdmin ()

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

Devoluciones
boolean

Lanza
DeviceNotAvailableException

es compatible con múltiples usuarios

public boolean isMultiUserSupported ()

Determina si se admite multiusuario.

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

Lanza
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName)

Consulta en el dispositivo un nombre de paquete determinado para comprobar si está actualmente instalado o no.

Parámetros
packageName String

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

Lanza
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName, 
                String userId)

Consulte el dispositivo para obtener un nombre de paquete determinado y una identificación de usuario determinada para verificar si está actualmente instalado 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 que está instalado el paquete. Si es nulo, se utilizará el usuario principal cero.

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

Lanza
DeviceNotAvailableException

esUsuarioRunning

public boolean isUserRunning (int userId)

Compruebe si un usuario determinado se está ejecutando.

Parámetros
userId int

Devoluciones
boolean Verdadero si el usuario se 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 Verdadero si el usuario es secundario, falso 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 inicio (normalmente en la pantalla predeterminada).

Parámetros
userId int

Devoluciones
boolean

Lanza
DeviceNotAvailableException

esUsuarioVisibleEnDisplay

public boolean isUserVisibleOnDisplay (int userId, 
                int displayId)

Comprueba si el usuario dado es 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

isVisibleBackgroundUsersOnDefaultDisplaySupported

public boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

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

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

Devoluciones
boolean

Lanza
DeviceNotAvailableException

isVisibleBackgroundUsersSupported

public boolean isVisibleBackgroundUsersSupported ()

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

Si es así, puede llamar startVisibleBackgroundUser(int, int, boolean) , pasando una pantalla devuelta por listDisplayIdsForStartingVisibleBackgroundUsers() .

Devoluciones
boolean

Lanza
DeviceNotAvailableException

listaDisplayIds

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. El valor predeterminado siempre devuelve la visualización 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

logBugreport

public boolean logBugreport (String dataName, 
                ITestLogger listener)

Método auxiliar 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 se realizó correctamente; falso en caso contrario.

postInvocaciónTearDown

public void postInvocationTearDown (Throwable exception)

Se requieren pasos adicionales para la limpieza específica del dispositivo que se ejecutarán una vez finalizada la invocación.

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

eliminarAdmin

public boolean removeAdmin (String componentName, 
                int userId)

Elimine el administrador del dispositivo determinado en un usuario determinado y devuelva true si tiene éxito, false en caso 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

eliminarPropietarios

public void removeOwners ()

Elimine a 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 Es verdadero si logramos eliminar al usuario; en caso contrario, es falso.

Lanza
DeviceNotAvailableException

establecerPropietario del dispositivo

public boolean setDeviceOwner (String componentName, 
                int userId)

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

Parámetros
componentName String : del administrador del dispositivo como 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 reiniciar. el espacio de nombres debe ser uno de: {"system", "secure", "global"}

Parámetros
userId int

namespace String

key String

value String

Lanza
DeviceNotAvailableException

apagadoMicrodroid

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 Es verdadero 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 una bandera 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 Es verdadero 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 determinada (es decir, permitiendo al usuario iniciar 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 : pantalla 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 y está visible en segundo plano.

Lanza
DeviceNotAvailableException

detener usuario

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 terminación del usuario. No se puede detener al usuario actual y al del sistema.

Parámetros
userId int : del usuario a detener.

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

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

Devoluciones
boolean Es verdadero si el usuario se detuvo correctamente.

Lanza
DeviceNotAvailableException

detener usuario

public boolean stopUser (int userId)

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

Parámetros
userId int : del usuario a detener.

Devoluciones
boolean Es verdadero si el usuario se detuvo correctamente.

Lanza
DeviceNotAvailableException

soportaMicrodroid

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.

soportaMicrodroid

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 máquina virtual 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 Verdadero 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 desactivar el bloqueo de teclas después de que el cambio de usuario sea exitoso.

Parámetros
userId int

timeout long : esperar antes de devolver falso porque falló el cambio de usuario.

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

Lanza
DeviceNotAvailableException

tomarBugreport

public Bugreport takeBugreport ()

Tome un informe de error y lo devuelva 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 mediante Bugreport.close() .

Devoluciones
Bugreport

desinstalar paquete

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 tiene éxito.

Lanza
DeviceNotAvailableException

desinstalarPackageForUser

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 el que se va a desinstalar.

Devoluciones
String una String con un código de error o null si tiene éxito.

Lanza
DeviceNotAvailableException

Métodos protegidos

crearParser

protected AaptParser createParser (File appFile)

Parámetros
appFile File

Devoluciones
AaptParser

doAdbReiniciar

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

Realice un reinicio de adb.

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

reason String : para este reinicio.

Lanza
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getBugreportInternal

protected InputStreamSource getBugreportInternal ()

Devoluciones
InputStreamSource

getBugreportzInterno

protected File getBugreportzInternal ()

Método de ayuda interna para obtener el archivo zip del informe de error como ERROR(/File) .

Devoluciones
File

getCheckNewUserSleep

protected long getCheckNewUserSleep ()

Expuesto para pruebas.

Devoluciones
long

getHostCurrentTime

protected long getHostCurrentTime ()

Expuesto para pruebas

Devoluciones
long

configuración previa al inicio del arranque

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