Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

INativeDevice

public interface INativeDevice

com.android.tradefed.device.INativeDevice


Proporciona una API confiable y de nivel ligeramente superior a un IDevice IDevice .

Vuelve a intentar los comandos del dispositivo por una cantidad configurable y proporciona una interfaz de recuperación de dispositivo para dispositivos que no responden.

Resumen

Constantes

int UNKNOWN_API_LEVEL

Valor predeterminado cuando no se puede detectar el nivel de API

Métodos públicos

abstract boolean checkApiLevelAgainstNextRelease (int strictMinLevel)

Compruebe si una característica es actualmente compatible o no, dado un nivel mínimamente compatible.

abstract void clearLogcat ()

Elimina cualquier dato logcat acumulado.

abstract void deleteFile (String deviceFilePath)

Método auxiliar para eliminar un archivo o directorio en el dispositivo.

abstract boolean disableAdbRoot ()

Desactiva la raíz adb.

abstract boolean doesFileExist (String deviceFilePath)

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

abstract boolean enableAdbRoot ()

Activa la raíz adb.

abstract boolean encryptDevice (boolean inplace)

Cifra el dispositivo.

abstract String executeAdbCommand (String... commandArgs)

Método auxiliar que ejecuta un comando adb como comando del sistema.

abstract CommandResult executeFastbootCommand (String... commandArgs)

Método auxiliar que ejecuta un comando fastboot como un comando del sistema con un tiempo de espera predeterminado de 2 minutos.

abstract CommandResult executeFastbootCommand (long timeout, String... commandArgs)

Método auxiliar que ejecuta un comando fastboot como comando del sistema.

abstract CommandResult executeLongFastbootCommand (String... commandArgs)

Método auxiliar que ejecuta un comando fastboot de larga ejecución como un comando del sistema.

abstract String executeShellCommand (String command)

Método auxiliar que ejecuta un comando adb shell y devuelve la salida como una String .

abstract void executeShellCommand (String command, IShellOutputReceiver receiver, long maxTimeToOutputShellResponse, TimeUnit timeUnit, int retryAttempts)

Ejecuta un comando adb shell, con más parámetros para controlar el comportamiento del comando.

abstract void executeShellCommand (String command, IShellOutputReceiver receiver, long maxTimeoutForCommand, long maxTimeToOutputShellResponse, TimeUnit timeUnit, int retryAttempts)

Ejecuta un comando adb shell, con más parámetros para controlar el comportamiento del comando.

abstract void executeShellCommand (String command, IShellOutputReceiver receiver)

Ejecuta el comando de adb shell dado, reintentando varias veces si el comando falla.

abstract CommandResult executeShellV2Command (String command)

Método auxiliar que ejecuta un comando de shell adb y devuelve los resultados como un CommandResult debidamente poblado con la salida de estado del comando, stdout y stderr.

abstract CommandResult executeShellV2Command (String command, OutputStream pipeToOutput)

Método auxiliar que ejecuta un comando de shell adb y devuelve los resultados como un CommandResult poblado correctamente con la salida de estado del comando, stdout y stderr.

abstract CommandResult executeShellV2Command (String command, File pipeAsInput)

Método auxiliar que ejecuta un comando de shell adb y devuelve los resultados como un CommandResult poblado correctamente con la salida de estado del comando, stdout y stderr.

abstract CommandResult executeShellV2Command (String command, long maxTimeoutForCommand, TimeUnit timeUnit, int retryAttempts)

Ejecuta un comando adb shell, con más parámetros para controlar el comportamiento del comando.

abstract CommandResult executeShellV2Command (String command, long maxTimeoutForCommand, TimeUnit timeUnit)

Ejecuta un comando adb shell, con más parámetros para controlar el comportamiento del comando.

abstract CommandResult executeShellV2Command (String command, File pipeAsInput, OutputStream pipeToOutput, long maxTimeoutForCommand, TimeUnit timeUnit, int retryAttempts)

Ejecuta un comando adb shell, con más parámetros para controlar el comportamiento del comando.

abstract CommandResult fastbootWipePartition (String partition)

Método auxiliar que borra una partición para el dispositivo.

abstract int getApiLevel ()

Obtenga el nivel de API del dispositivo.

abstract String getBasebandVersion ()

Método de conveniencia para obtener la versión de banda base (radio) de este dispositivo.

abstract Integer getBattery ()

Devuelve el nivel de batería actual de un dispositivo o Nulo si el nivel de batería no está disponible.

abstract String getBootloaderVersion ()

Método de conveniencia para obtener la versión del gestor de arranque de este dispositivo.

abstract InputStreamSource getBugreport ()

Recupera un informe de error del dispositivo.

abstract InputStreamSource getBugreportz ()

Recupera un informe de error del dispositivo.

abstract String getBuildAlias ()

Recupere el alias de la compilación que el dispositivo está ejecutando actualmente.

abstract String getBuildFlavor ()

Recupere el sabor de compilación para el dispositivo.

abstract String getBuildId ()

Recupere la compilación que el dispositivo está ejecutando actualmente.

abstract String getBuildSigningKeys ()

Devuelve el tipo de clave utilizada para firmar la imagen del dispositivo

Por lo general, los dispositivos Android se pueden firmar con claves de prueba (como en AOSP) o claves de liberación (controladas por fabricantes de dispositivos individuales)

abstract String[] getChildren (String deviceFilePath)

Alternativa al uso de IFileEntry que a veces no funciona debido a los permisos.

abstract String getDeviceClass ()

Obtenga la clase de dispositivo.

abstract long getDeviceDate ()

Devuelve la fecha del dispositivo en milisegundos desde la época.

abstract DeviceDescriptor getDeviceDescriptor ()

Devuelva un DeviceDescriptor de la información del dispositivo para obtener información sobre él sin pasar el objeto real del dispositivo.

abstract TestDeviceState getDeviceState ()

Obtenga el estado del dispositivo.

abstract long getDeviceTimeOffset (Date date)

Ayuda para obtener la diferencia horaria entre el dispositivo y un ERROR(/Date) determinado ERROR(/Date) .

abstract InputStreamSource getEmulatorOutput ()

Obtén el flujo del emulador stdout y stderr

abstract long getExternalStoreFreeSpace ()

Método auxiliar para determinar la cantidad de espacio libre en el almacenamiento externo del dispositivo.

abstract String getFastbootProductType ()

Método de conveniencia para obtener el tipo de producto de este dispositivo cuando está en modo de arranque rápido.

abstract String getFastbootProductVariant ()

Método de conveniencia para obtener el tipo de producto de este dispositivo cuando está en modo de arranque rápido.

abstract IFileEntry getFileEntry (String path)

Recupere una referencia a un archivo remoto en el dispositivo.

abstract IDevice getIDevice ()

Devuelve una referencia al ddmlib IDevice asociado.

abstract long getLastExpectedRebootTimeMillis ()

Devuelve la última vez que las API de Tradefed activaron un reinicio en milisegundos desde EPOCH como lo devolvió System.currentTimeMillis() .

abstract InputStreamSource getLogcat ()

Toma una secuencia de instantáneas de los datos de logcat.

abstract InputStreamSource getLogcat (int maxBytes)

Toma una secuencia de instantáneas de los últimos maxBytes de datos capturados de logcat.

abstract InputStreamSource getLogcatDump ()

Obtenga un volcado del logcat actual para el dispositivo.

abstract InputStreamSource getLogcatSince (long date)

Toma una secuencia de instantáneas de los datos capturados de logcat a partir de la fecha proporcionada.

abstract String getMountPoint (String mountName)

Devuelve un punto de montaje.

abstract ITestDevice.MountPointInfo getMountPointInfo (String mountpoint)

Devuelve un MountPointInfo correspondiente a la ruta especificada del punto de montaje, o null si esa ruta no tiene nada montado o si no aparece en / proc / mounts como un punto de montaje.

abstract getMountPointInfo ()

Devuelve una versión analizada de la información en / proc / mounts en el dispositivo

abstract long getPartitionFreeSpace (String partition)

Método auxiliar para determinar la cantidad de espacio libre en la partición del dispositivo.

abstract ProcessInfo getProcessByName (String processName)

El método auxiliar ejecuta el comando "ps" y devuelve USER, PID y NAME del nombre de proceso dado.

abstract String getProcessPid (String process)

Devuelve el pid del servicio o nulo si algo salió mal.

abstract getProcesses ()

El método auxiliar ejecuta el comando "ps" y devuelve la lista de USUARIO, PID y NOMBRE de todos los procesos.

abstract String getProductType ()

Método de conveniencia para obtener el tipo de producto de este dispositivo.

abstract String getProductVariant ()

Método de conveniencia para obtener la variante de producto de este dispositivo.

abstract String getProperty (String name)

Recupere el valor de propiedad dado del dispositivo.

abstract ITestDevice.RecoveryMode getRecoveryMode ()

Obtenga el modo de recuperación actual utilizado para el dispositivo.

abstract String getSerialNumber ()

Método de conveniencia para obtener el número de serie de este dispositivo.

abstract getTombstones ()

Obtenga y devuelva la lista de lápidas de los dispositivos.

abstract long getTotalMemory ()

Devuelve el tamaño total de la memoria física en bytes o -1 en caso de error interno

abstract boolean getUseFastbootErase ()

Obtenga información sobre si usar fastboot erase o fastboot format para borrar una partición en el dispositivo.

abstract boolean isAdbRoot ()
abstract boolean isAdbTcp ()
abstract boolean isDeviceEncrypted ()

Devuelve si el dispositivo está encriptado.

abstract boolean isDirectory (String deviceFilePath)

Devuelve True si la ruta en el dispositivo es un directorio, de lo contrario, false.

abstract boolean isEncryptionSupported ()

Devuelve si el cifrado es compatible con el dispositivo.

abstract boolean isExecutable (String fullPath)

Devuelve True si la ruta del archivo en el dispositivo es un archivo ejecutable, false en caso contrario.

abstract boolean isHeadless ()

Devuelve verdadero si el dispositivo no tiene cabeza (sin pantalla), falso de lo contrario.

abstract boolean isRuntimePermissionSupported ()

Compruebe si la plataforma en el dispositivo admite la concesión de permisos de tiempo de ejecución

abstract boolean logBugreport (String dataName, ITestLogger listener)

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

abstract void logOnDevice (String tag, Log.LogLevel level, String format, Object... args)

Registre un mensaje en el logcat del dispositivo.

abstract void nonBlockingReboot ()

Emite un comando para reiniciar el dispositivo y regresa al completar el comando y cuando el dispositivo ya no es visible para adb.

abstract void postBootSetup ()

Siga las instrucciones para configurar el dispositivo para probarlo después de cada arranque.

abstract void postInvocationTearDown ()

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

abstract void preInvocationSetup ( IBuildInfo info)

Pasos adicionales para la configuración requerida específica del dispositivo que se ejecutará en el dispositivo antes del flujo de invocación.

default void preInvocationSetup ( IBuildInfo info, testResourceBuildInfos) preInvocationSetup ( IBuildInfo info, testResourceBuildInfos)

Pasos adicionales para la configuración requerida específica del dispositivo que se ejecutará en el dispositivo antes del flujo de invocación.

abstract boolean pullDir (String deviceFilePath, File localDir)

Extraiga recursivamente el contenido del directorio del dispositivo.

abstract File pullFile (String remoteFilePath)

Recupera un archivo del dispositivo, lo almacena en un ERROR(/File) temporal local ERROR(/File) y devuelve ese File .

abstract boolean pullFile (String remoteFilePath, File localFile)

Recupera un archivo del dispositivo.

abstract String pullFileContents (String remoteFilePath)

Recupera un archivo del dispositivo y devuelve el contenido.

abstract File pullFileFromExternal (String remoteFilePath)

Un método conveniente para recuperar un archivo del almacenamiento externo del dispositivo, almacenarlo en un ERROR(/File) temporal local ERROR(/File) y devolver una referencia a ese File .

abstract boolean pushDir (File localDir, String deviceFilePath, excludedDirectories) pushDir (File localDir, String deviceFilePath, excludedDirectories)

Empuje recursivamente el contenido del directorio al dispositivo mientras excluye algunos directorios que se filtran.

abstract boolean pushDir (File localDir, String deviceFilePath)

Empuje recursivamente los contenidos del directorio al dispositivo.

abstract boolean pushFile (File localFile, String deviceFilePath)

Empuje un archivo al dispositivo

abstract boolean pushString (String contents, String deviceFilePath)

Empuje el archivo creado desde una cadena al dispositivo

abstract void reboot ()

Reinicia el dispositivo en modo adb.

abstract void rebootIntoBootloader ()

Reinicia el dispositivo en modo cargador de arranque.

abstract void rebootIntoRecovery ()

Reinicia el dispositivo en modo de recuperación adb.

abstract void rebootUntilOnline ()

Una alternativa para reboot() que solo se bloquea hasta que el dispositivo esté en línea, es decir, visible para adb.

abstract void remountSystemWritable ()

Haga que la partición del sistema en el dispositivo se pueda escribir.

abstract boolean runInstrumentationTests (IRemoteAndroidTestRunner runner, ITestLifeCycleReceiver... listeners)

Método de conveniencia para realizar ERROR(/#runInstrumentationTests(com.android.ddmlib.testrunner.IRemoteAndroidTestRunner,Collection)) con uno o más oyentes pasados ​​como parámetros.

abstract boolean runInstrumentationTests (IRemoteAndroidTestRunner runner, listeners) runInstrumentationTests (IRemoteAndroidTestRunner runner, listeners)

Ejecuta pruebas de instrumentación y proporciona recuperación de dispositivos.

abstract boolean runInstrumentationTestsAsUser (IRemoteAndroidTestRunner runner, int userId, ITestLifeCycleReceiver... listeners)

Igual que ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, ITestLifeCycleReceiver...) pero ejecuta la prueba para un usuario determinado.

abstract boolean runInstrumentationTestsAsUser (IRemoteAndroidTestRunner runner, int userId, listeners) runInstrumentationTestsAsUser (IRemoteAndroidTestRunner runner, int userId, listeners)

Igual que ERROR(ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, Collection)/com.android.tradefed.device.ITestDevice#runInstrumentationTests(com.android.ddmlib.testrunner.IRemoteAndroidTestRunner,Collection) ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, Collection)) para el usuario dado.

abstract void setDate (Date date)

Establece la fecha en el dispositivo

Nota: configurar la fecha en el dispositivo requiere root

abstract void setOptions ( TestDeviceOptions options)

Establecer las TestDeviceOptions para el dispositivo

abstract boolean setProperty (String propKey, String propValue)

Establece el valor de propiedad dado en el dispositivo.

abstract void setRecovery ( IDeviceRecovery recovery)

Configure el IDeviceRecovery para usar para este dispositivo.

abstract void setRecoveryMode ( ITestDevice.RecoveryMode mode)

Establezca el modo de recuperación actual para usar para el dispositivo.

abstract void setUseFastbootErase (boolean useFastbootErase)

Establezca si desea usar fastboot erase o fastboot format para borrar una partición en el dispositivo.

abstract void startLogcat ()

Comience a capturar la salida de logcat del dispositivo en segundo plano.

abstract void stopEmulatorOutput ()

Cierre y elimine la salida del emulador.

abstract void stopLogcat ()

Deje de capturar la salida de logcat del dispositivo y descarte los datos de logcat guardados actualmente.

abstract String switchToAdbTcp ()

Cambie el dispositivo al modo adb-over-tcp.

abstract boolean switchToAdbUsb ()

Cambie el dispositivo a adb sobre el modo usb.

abstract boolean syncFiles (File localFileDir, String deviceFilePath)

Sincroniza incrementalmente el contenido de un directorio de archivos local al dispositivo.

abstract Bugreport takeBugreport ()

Tome un informe de error y lo devuelve dentro de un objeto de Bugreport para manejarlo.

abstract boolean unencryptDevice ()

Desencripta el dispositivo.

abstract boolean unlockDevice ()

Desbloquea el dispositivo si el dispositivo está en estado cifrado.

abstract boolean waitForBootComplete (long timeOut)

Bloquea hasta que se establece el indicador de inicio completo del dispositivo.

abstract void waitForDeviceAvailable ()

Espera a que el dispositivo responda y esté disponible para pruebas.

abstract void waitForDeviceAvailable (long waitTime)

Espera a que el dispositivo responda y esté disponible para pruebas.

abstract boolean waitForDeviceInRecovery (long waitTime)

Bloques para que el dispositivo esté en el estado 'recuperación de adb' (tenga en cuenta que esto es distinto de IDeviceRecovery ).

abstract boolean waitForDeviceNotAvailable (long waitTime)

Bloques para que el dispositivo no esté disponible, es decir, falta en adb

abstract void waitForDeviceOnline ()

Bloquea hasta que el dispositivo sea visible a través de adb.

abstract void waitForDeviceOnline (long waitTime)

Bloquea hasta que el dispositivo sea visible a través de adb.

abstract boolean waitForDeviceShell (long waitTime)

Espera a que el dispositivo responda a un comando básico de adb shell.

Constantes

UNKNOWN_API_LEVEL

public static final int UNKNOWN_API_LEVEL

Valor predeterminado cuando no se puede detectar el nivel de API

Valor constante: -1 (0xffffffff)

Métodos públicos

checkApiLevelAgainstNextRelease

public abstract boolean checkApiLevelAgainstNextRelease (int strictMinLevel)

Compruebe si una característica es actualmente compatible o no, dado un nivel mínimamente compatible. Este método tiene en cuenta características inéditas todavía, antes de que se eleve el nivel de API.

Parámetros
strictMinLevel int : el nivel mínimo estricto posible que admite la función.

Devoluciones
boolean Es cierto si el nivel es compatible. Falso de lo contrario.

Arroja
DeviceNotAvailableException

clearLogcat

public abstract void clearLogcat ()

Elimina cualquier dato logcat acumulado.

Esto es útil para los casos en que desea asegurarse de que ITestDevice#getLogcat() solo devuelva los datos de registro producidos después de un cierto punto (como después de actualizar una nueva compilación del dispositivo, etc.).

borrar archivo

public abstract void deleteFile (String deviceFilePath)

Método auxiliar para eliminar un archivo o directorio en el dispositivo.

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

Arroja
DeviceNotAvailableException

disableAdbRoot

public abstract boolean disableAdbRoot ()

Desactiva la raíz adb.

Deshabilitar adb root puede hacer que el dispositivo se desconecte de adb. Este método se bloqueará hasta que el dispositivo esté disponible.

Devoluciones
boolean true si tiene éxito.

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

doesFileExist

public abstract 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 contrario.

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

enableAdbRoot

public abstract boolean enableAdbRoot ()

Activa la raíz adb. Si la configuración "enable-root" es "false", registrará un mensaje y regresará sin habilitar root.

Habilitar adb root puede hacer que el dispositivo se desconecte de adb. Este método se bloqueará hasta que el dispositivo esté disponible.

Devoluciones
boolean true si tiene éxito.

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

cifrar dispositivo

public abstract boolean encryptDevice (boolean inplace)

Cifra el dispositivo.

El cifrado del dispositivo se puede realizar in situ o con una toallita. El cifrado in situ no borrará ningún dato del dispositivo, pero normalmente demora un par de órdenes de magnitud más que el borrado.

Este método reiniciará el dispositivo si aún no está encriptado y se bloqueará hasta que el dispositivo esté en línea. Además, no descifrará el dispositivo después del reinicio. Por lo tanto, es posible que el dispositivo no se inicie completamente y / o no esté listo para ser probado cuando este método regrese.

Parámetros
inplace boolean : si el proceso de encriptación debe tener lugar y el dispositivo no debe borrarse.

Devoluciones
boolean true si tiene éxito.

Arroja
DeviceNotAvailableException si el dispositivo no está disponible después de reiniciar.
UnsupportedOperationException si el cifrado no es compatible con el dispositivo.

executeAdbCommand

public abstract String executeAdbCommand (String... commandArgs)

Método auxiliar que ejecuta un comando adb como comando del sistema.

executeShellCommand(String) debe usarse en su lugar siempre que sea posible, ya que ese método proporciona una mejor detección y rendimiento de fallas.

Parámetros
commandArgs String : el comando adb y los argumentos para ejecutar

Devoluciones
String La salida estándar del comando. null si el comando no pudo ejecutarse.

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

executeFastbootCommand

public abstract CommandResult executeFastbootCommand (String... commandArgs)

Método auxiliar que ejecuta un comando fastboot como un comando del sistema con un tiempo de espera predeterminado de 2 minutos.

Se espera que se use cuando el dispositivo ya está en modo fastboot.

Parámetros
commandArgs String : el comando fastboot y los argumentos para ejecutar

Devoluciones
CommandResult CommandResult que contiene la salida del comando

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

executeFastbootCommand

public abstract CommandResult executeFastbootCommand (long timeout, 
                String... commandArgs)

Método auxiliar que ejecuta un comando fastboot como comando del sistema.

Se espera que se use cuando el dispositivo ya está en modo fastboot.

Parámetros
timeout long : el tiempo en milisegundos antes de que caduque el comando

commandArgs String : el comando fastboot y los argumentos para ejecutar

Devoluciones
CommandResult CommandResult que contiene la salida del comando

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

executeLongFastbootCommand

public abstract CommandResult executeLongFastbootCommand (String... commandArgs)

Método auxiliar que ejecuta un comando fastboot de larga ejecución como un comando del sistema.

Idéntico a executeFastbootCommand(String) excepto que usa un tiempo de espera más largo.

Parámetros
commandArgs String : el comando fastboot y los argumentos para ejecutar

Devoluciones
CommandResult CommandResult que contiene la salida del comando

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

executeShellCommand

public abstract String executeShellCommand (String command)

Método auxiliar que ejecuta un comando adb shell y devuelve la salida como una String .

Parámetros
command String : el comando adb shell para ejecutar

Devoluciones
String la salida del shell

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

executeShellCommand

public abstract void executeShellCommand (String command, 
                IShellOutputReceiver receiver, 
                long maxTimeToOutputShellResponse, 
                TimeUnit timeUnit, 
                int retryAttempts)

Ejecuta un comando de shell adb, con más parámetros para controlar el comportamiento del comando.

Parámetros
command String : el comando adb shell para ejecutar

receiver IShellOutputReceiver : el IShellOutputReceiver para dirigir la salida del shell a.

maxTimeToOutputShellResponse long : la cantidad máxima de tiempo durante el cual se permite que el comando no genere ninguna respuesta; unidad como se especifica en timeUnit

timeUnit TimeUnit : unidad para maxTimeToOutputShellResponse

retryAttempts int : el número máximo de veces para volver a intentar el comando si falla debido a una excepción. Se generará DeviceNotResponsiveException si retryAttempts se realizan sin éxito.

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

executeShellCommand

public abstract void executeShellCommand (String command, 
                IShellOutputReceiver receiver, 
                long maxTimeoutForCommand, 
                long maxTimeToOutputShellResponse, 
                TimeUnit timeUnit, 
                int retryAttempts)

Ejecuta un comando de shell adb, con más parámetros para controlar el comportamiento del comando.

Parámetros
command String : el comando adb shell para ejecutar

receiver IShellOutputReceiver : el IShellOutputReceiver para dirigir la salida del shell a.

maxTimeoutForCommand long : el tiempo de espera máximo para que se complete el comando; unidad como se especifica en timeUnit

maxTimeToOutputShellResponse long : la cantidad máxima de tiempo durante el cual se permite que el comando no genere ninguna respuesta; unidad como se especifica en timeUnit

timeUnit TimeUnit : unidad para maxTimeToOutputShellResponse

retryAttempts int : el número máximo de veces para volver a intentar el comando si falla debido a una excepción. Se generará DeviceNotResponsiveException si retryAttempts se realizan sin éxito.

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

executeShellCommand

public abstract void executeShellCommand (String command, 
                IShellOutputReceiver receiver)

Ejecuta el comando adb shell dado, reintentando varias veces si falla el comando.

Una forma más simple de executeShellCommand(String, com.android.ddmlib.IShellOutputReceiver, long, TimeUnit, int) con valores predeterminados.

Parámetros
command String : el comando adb shell para ejecutar

receiver IShellOutputReceiver : el IShellOutputReceiver para dirigir la salida del shell a.

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command)

Método auxiliar que ejecuta un comando de shell adb y devuelve los resultados como un CommandResult debidamente poblado con la salida de estado del comando, stdout y stderr.

Parámetros
command String : el comando que se debe ejecutar.

Devoluciones
CommandResult El resultado en CommandResult .

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command, 
                OutputStream pipeToOutput)

Método auxiliar que ejecuta un comando de shell adb y devuelve los resultados como un CommandResult debidamente poblado con la salida de estado del comando, stdout y stderr.

Parámetros
command String : el comando que se debe ejecutar.

pipeToOutput OutputStream : ERROR(/OutputStream) donde se redirigirá la salida estándar.

Devoluciones
CommandResult El resultado en CommandResult .

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command, 
                File pipeAsInput)

Método auxiliar que ejecuta un comando de shell adb y devuelve los resultados como un CommandResult debidamente poblado con la salida de estado del comando, stdout y stderr.

Parámetros
command String : el comando que se debe ejecutar.

pipeAsInput File : Un ERROR(/File) que se canalizará como entrada al comando.

Devoluciones
CommandResult El resultado en CommandResult .

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command, 
                long maxTimeoutForCommand, 
                TimeUnit timeUnit, 
                int retryAttempts)

Ejecuta un comando de shell adb, con más parámetros para controlar el comportamiento del comando.

Parámetros
command String : el comando adb shell para ejecutar

maxTimeoutForCommand long : el tiempo de espera máximo para que se complete el comando; unidad como se especifica en timeUnit

timeUnit TimeUnit : unidad para maxTimeToOutputShellResponse

retryAttempts int : el número máximo de veces para volver a intentar el comando si falla debido a una excepción. Se generará DeviceNotResponsiveException si retryAttempts se realizan sin éxito.

Devoluciones
CommandResult

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command, 
                long maxTimeoutForCommand, 
                TimeUnit timeUnit)

Ejecuta un comando adb shell, con más parámetros para controlar el comportamiento del comando.

Parámetros
command String : el comando adb shell para ejecutar

maxTimeoutForCommand long : el tiempo de espera máximo para que se complete el comando; unidad como se especifica en timeUnit

timeUnit TimeUnit : unidad para maxTimeToOutputShellResponse

Devoluciones
CommandResult

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command, 
                File pipeAsInput, 
                OutputStream pipeToOutput, 
                long maxTimeoutForCommand, 
                TimeUnit timeUnit, 
                int retryAttempts)

Ejecuta un comando adb shell, con más parámetros para controlar el comportamiento del comando.

Parámetros
command String : el comando adb shell para ejecutar

pipeAsInput File : Un ERROR(/File) que se canalizará como entrada al comando.

pipeToOutput OutputStream : ERROR(/OutputStream) donde se redirigirá la salida estándar.

maxTimeoutForCommand long : el tiempo de espera máximo para que se complete el comando; unidad como se especifica en timeUnit

timeUnit TimeUnit : unidad para maxTimeToOutputShellResponse

retryAttempts int : el número máximo de veces para volver a intentar el comando si falla debido a una excepción. Se generará DeviceNotResponsiveException si retryAttempts se realizan sin éxito.

Devoluciones
CommandResult

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

fastbootWipePartition

public abstract CommandResult fastbootWipePartition (String partition)

Método auxiliar que borra una partición para el dispositivo.

Si getUseFastbootErase() es true , se usará borrado fastboot para borrar la partición. El dispositivo debe crear un sistema de archivos la próxima vez que se inicie. De lo contrario, se utiliza el formato fastboot que creará un nuevo sistema de archivos en el dispositivo.

Se espera que se use cuando el dispositivo ya está en modo fastboot.

Parámetros
partition String : la partición para limpiar

Devoluciones
CommandResult CommandResult que contiene la salida del comando

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

getApiLevel

public abstract int getApiLevel ()

Obtenga el nivel de API del dispositivo. El valor predeterminado es UNKNOWN_API_LEVEL .

Devoluciones
int un número entero que indica el nivel de API del dispositivo

Arroja
DeviceNotAvailableException

getBasebandVersion

public abstract String getBasebandVersion ()

Método de conveniencia para obtener la versión de banda base (radio) de este dispositivo. Obtener la versión de radio es específica del dispositivo, por lo que es posible que no devuelva la información correcta para todos los dispositivos. Este método se basa en la propiedad gsm.version.baseband para devolver la información de la versión correcta. Esto no es exacto para algunos dispositivos CDMA y la versión devuelta aquí podría no coincidir con la versión informada desde fastboot y podría no devolver la versión para la radio CDMA. TL; DR este método solo informa una versión precisa si la propiedad gsm.version.baseband es la misma que la versión devuelta por fastboot getvar version-baseband .

Devoluciones
String la versión de banda base de String o null si no se puede determinar (el dispositivo no tiene radio o la cadena de versión no se puede leer)

Arroja
DeviceNotAvailableException si la conexión con el dispositivo se pierde y no se puede recuperar.

getBattery

public abstract Integer getBattery ()

Devuelve el nivel de batería actual de un dispositivo o Nulo si el nivel de batería no está disponible.

Devoluciones
Integer

getBootloaderVersion

public abstract String getBootloaderVersion ()

Método conveniente para obtener la versión del gestor de arranque de este dispositivo.

Intentará recuperar la versión del cargador de arranque del estado actual del dispositivo. (es decir, si el dispositivo está en modo fastboot, intentará recuperar la versión de fastboot)

Devoluciones
String la versión del cargador de arranque String o null si no se puede encontrar

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

getBugreport

public abstract InputStreamSource getBugreport ()

Recupera un informe de error del dispositivo.

La implementación de esto está garantizada para 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 ERROR(/InputStream) .

getBugreportz

public abstract 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 'versión adb'> 1.0.36

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

getBuildAlias

public abstract String getBuildAlias ()

Recupere el alias de la compilación que el dispositivo está ejecutando actualmente.

El alias de compilación suele ser una cadena más legible que la identificación de compilación (normalmente un número para las compilaciones de Nexus). Por ejemplo, la versión final de Android 4.2 tiene el alias de compilación JDQ39 y el ID de compilación 573038

Devoluciones
String el alias de compilación o recurrir a la identificación de compilación si no se pudo recuperar

Arroja
DeviceNotAvailableException

getBuildFlavor

public abstract String getBuildFlavor ()

Recupere el sabor de compilación para el dispositivo.

Devoluciones
String el sabor de construcción o nulo si no se pudo recuperar

Arroja
DeviceNotAvailableException

getBuildId

public abstract String getBuildId ()

Recupere la compilación que el dispositivo está ejecutando actualmente.

Devoluciones
String el ID de compilación o IBuildInfo#UNKNOWN_BUILD_ID si no se pudo recuperar

Arroja
DeviceNotAvailableException

getBuildSigningKeys

public abstract String getBuildSigningKeys ()

Devuelve el tipo de clave utilizada para firmar la imagen del dispositivo

Por lo general, los dispositivos Android pueden firmarse con claves de prueba (como en AOSP) o claves de liberación (controladas por fabricantes de dispositivos individuales)

Devoluciones
String La clave de firma si se encuentra, nula de lo contrario

Arroja
DeviceNotAvailableException

getChildren

public abstract String[] getChildren (String deviceFilePath)

Alternativa al uso de IFileEntry que a veces no funciona debido a los permisos.

Parámetros
deviceFilePath String : es la ruta en el dispositivo donde realizar la búsqueda

Devoluciones
String[] Matriz de cadena que contiene todo el archivo en una ruta en el dispositivo.

Arroja
DeviceNotAvailableException

getDeviceClass

public abstract String getDeviceClass ()

Obtenga la clase de dispositivo.

Devoluciones
String la clase de dispositivo de String .

getDeviceDate

public abstract long getDeviceDate ()

Devuelve la fecha del dispositivo en milisegundos desde la época.

Devoluciones
long La fecha del dispositivo en formato de época.

Arroja
DeviceNotAvailableException

getDeviceDescriptor

public abstract DeviceDescriptor getDeviceDescriptor ()

Devuelva un DeviceDescriptor de la información del dispositivo para obtener información sobre él sin pasar el objeto real del dispositivo.

Devoluciones
DeviceDescriptor

getDeviceState

public abstract TestDeviceState getDeviceState ()

Obtenga el estado del dispositivo.

Devoluciones
TestDeviceState

getDeviceTimeOffset

public abstract long getDeviceTimeOffset (Date date)

Ayuda para obtener la diferencia horaria entre el dispositivo y un ERROR(/Date) determinado ERROR(/Date) . Use el tiempo de época internamente.

Parámetros
date Date

Devoluciones
long la diferencia en milisegundos

Arroja
DeviceNotAvailableException

getEmulatorOutput

public abstract InputStreamSource getEmulatorOutput ()

Obtén el flujo del emulador stdout y stderr

Devoluciones
InputStreamSource salida del emulador

getExternalStoreFreeSpace

public abstract long getExternalStoreFreeSpace ()

Método auxiliar para determinar la cantidad de espacio libre en el almacenamiento externo del dispositivo.

Devoluciones
long la cantidad de espacio libre en KB

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

getFastbootProductType

public abstract String getFastbootProductType ()

Método de conveniencia para obtener el tipo de producto de este dispositivo cuando está en modo de arranque rápido.

Este método solo debe usarse si el dispositivo debe estar en fastboot. Es una variante un poco más segura que el getProductType() genérico getProductType() en este caso, porque ITestDevice sabrá recuperar el dispositivo en el arranque rápido si el dispositivo está en estado incorrecto o no responde.

Devoluciones
String el nombre del tipo de producto String o null si no se puede determinar

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

getFastbootProductVariant

public abstract String getFastbootProductVariant ()

Método de conveniencia para obtener el tipo de producto de este dispositivo cuando está en modo fastboot.

Este método solo debe usarse si el dispositivo debe estar en fastboot. Es una variante un poco más segura que el getProductType() genérico getProductType() en este caso, porque ITestDevice sabrá recuperar el dispositivo en el arranque rápido si el dispositivo está en estado incorrecto o no responde.

Devoluciones
String el nombre del tipo de producto String o null si no se puede determinar

Arroja
DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

getFileEntry

public abstract IFileEntry getFileEntry (String path)

Recupere una referencia a un archivo remoto en el dispositivo.

Parámetros
path String : la ruta del archivo a recuperar. Puede ser una ruta absoluta o una ruta relativa a '/'. (es decir, se admiten las sintaxis "/ system" y "system")

Devoluciones
IFileEntry IFileEntry o null si el archivo en la path dada no se puede encontrar

Arroja
DeviceNotAvailableException

getIDevice

public abstract IDevice getIDevice ()

Devuelve una referencia al ddmlib IDevice asociado.

IDevice puede asignar un nuevo IDevice cada vez que el dispositivo se desconecta y se vuelve a conectar desde adb. Por lo tanto, las personas que llaman no deben mantener una referencia al IDevice , porque esa referencia puede quedar obsoleta.

Devoluciones
IDevice el IDevice

getLastExpectedRebootTimeMillis

public abstract long getLastExpectedRebootTimeMillis ()

Devuelve la última vez que las API de Tradefed activaron un reinicio en milisegundos desde EPOCH como lo devolvió System.currentTimeMillis() .

Devoluciones
long

getLogcat

public abstract InputStreamSource getLogcat ()

Toma una secuencia de instantáneas de los datos de logcat.

Funciona en dos modos:

  • Si el logcat se está capturando actualmente en segundo plano, volverá a TestDeviceOptions#getMaxLogcatDataSize() bytes del contenido actual de la captura de logcat en segundo plano
  • De lo contrario, devolverá un volcado estático de los datos de logcat si el dispositivo está respondiendo actualmente

    Devoluciones
    InputStreamSource

  • getLogcat

    public abstract InputStreamSource getLogcat (int maxBytes)

    Toma una secuencia de instantáneas de los últimos maxBytes de datos capturados de logcat.

    Útil para los casos en que desea capturar instantáneas frecuentes de los datos capturados de logcat sin incurrir en la penalización de espacio en disco potencialmente grande de obtener toda la instantánea getLogcat() .

    Parámetros
    maxBytes int : la cantidad máxima de datos a devolver. Debe ser una cantidad que pueda caber cómodamente en la memoria

    Devoluciones
    InputStreamSource

    getLogcatDump

    public abstract InputStreamSource getLogcatDump ()

    Obtenga un volcado del logcat actual para el dispositivo. A diferencia de getLogcat() , este método siempre devolverá un volcado estático del logcat.

    Tiene la desventaja de que no se devolverá nada si no se puede acceder al dispositivo.

    Devoluciones
    InputStreamSource un InputStreamSource de los datos logcat. Se devuelve una secuencia vacía si no se capturan los datos de logcat.

    getLogcatSince

    public abstract InputStreamSource getLogcatSince (long date)

    Toma una secuencia de instantáneas de los datos capturados de logcat a partir de la fecha proporcionada. El tiempo en el dispositivo debe usarse getDeviceDate() .

    Parámetros
    date long : en milisegundos desde el formato de época de cuándo iniciar la instantánea hasta el presente. (se puede obtener usando 'date +% s')

    Devoluciones
    InputStreamSource

    getMountPoint

    public abstract String getMountPoint (String mountName)

    Devuelve un punto de montaje.

    Consulta el dispositivo directamente si la información almacenada en caché en IDevice no está disponible.

    TODO: mueva este comportamiento a IDevice#getMountPoint(String)

    Parámetros
    mountName String : el nombre del punto de montaje

    Devoluciones
    String el punto de montaje o null

    getMountPointInfo

    public abstract ITestDevice.MountPointInfo getMountPointInfo (String mountpoint)

    Devuelve un MountPointInfo correspondiente a la ruta especificada del punto de montaje, o null si esa ruta no tiene nada montado o si no aparece en / proc / mounts como un punto de montaje.

    Parámetros
    mountpoint String

    Devoluciones
    ITestDevice.MountPointInfo Un ERROR(/List) de MountPointInfo contiene la información en "/ proc / mounts"

    Arroja
    DeviceNotAvailableException

    Ver también:

    getMountPointInfo

    public abstract  getMountPointInfo ()

    Devuelve una versión analizada de la información en / proc / mounts en el dispositivo

    Devoluciones
    Un ERROR(/List) de MountPointInfo contiene la información en "/ proc / mounts"

    Arroja
    DeviceNotAvailableException

    getPartitionFreeSpace

    public abstract long getPartitionFreeSpace (String partition)

    Método auxiliar para determinar la cantidad de espacio libre en la partición del dispositivo.

    Parámetros
    partition String

    Devoluciones
    long la cantidad de espacio libre en KB

    Arroja
    DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

    getProcessByName

    public abstract ProcessInfo getProcessByName (String processName)

    El método auxiliar ejecuta el comando "ps" y devuelve USER, PID y NAME del nombre de proceso dado.

    Parámetros
    processName String

    Devoluciones
    ProcessInfo ProcessInfo del nombre de proceso dado

    Arroja
    DeviceNotAvailableException

    getProcessPid

    public abstract String getProcessPid (String process)

    Devuelve el pid del servicio o nulo si algo salió mal.

    Parámetros
    process String

    Devoluciones
    String

    Arroja
    DeviceNotAvailableException

    getProcesses

    public abstract  getProcesses ()

    El método auxiliar ejecuta el comando "ps" y devuelve la lista de USUARIO, PID y NOMBRE de todos los procesos.

    Devoluciones
    Lista de objetos ProcessInfo

    Arroja
    DeviceNotAvailableException

    getProductType

    public abstract String getProductType ()

    Método de conveniencia para obtener el tipo de producto de este dispositivo.

    Este método funcionará si el dispositivo está en modo adb o fastboot.

    Devoluciones
    String el nombre del tipo de producto String . No será nulo

    Arroja
    DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar, o si no se puede determinar el tipo de producto

    getProductVariant

    public abstract String getProductVariant ()

    Método de conveniencia para obtener la variante de producto de este dispositivo.

    Este método funcionará si el dispositivo está en modo adb o fastboot.

    Devoluciones
    String el nombre de la variante del producto de String o null si no se puede determinar

    Arroja
    DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

    getProperty

    public abstract String getProperty (String name)

    Recupere el valor de propiedad dado del dispositivo.

    Parámetros
    name String : el nombre de la propiedad

    Devoluciones
    String el valor de la propiedad o null si no existe

    Arroja
    DeviceNotAvailableException

    getRecoveryMode

    public abstract ITestDevice.RecoveryMode getRecoveryMode ()

    Obtenga el modo de recuperación actual utilizado para el dispositivo.

    Devoluciones
    ITestDevice.RecoveryMode El modo de recuperación actual utilizado para el dispositivo.

    getSerialNumber

    public abstract String getSerialNumber ()

    Método de conveniencia para obtener el número de serie de este dispositivo.

    Devoluciones
    String el número de serie de la String

    getTombstones

    public abstract  getTombstones ()

    Obtenga y devuelva la lista de lápidas de los dispositivos. Requiere raíz

    El método es el mejor esfuerzo, por lo que si una lápida no se puede extraer por algún motivo, se perderá de la lista. Solo una DeviceNotAvailableException terminará el método antes de tiempo.

    Devoluciones
    Una lista de archivos de lápidas, vacía si no hay lápidas.

    Arroja
    DeviceNotAvailableException

    getTotalMemory

    public abstract long getTotalMemory ()

    Devuelve el tamaño total de la memoria física en bytes o -1 en caso de error interno

    Devoluciones
    long

    getUseFastbootErase

    public abstract boolean getUseFastbootErase ()

    Obtenga información sobre si usar fastboot erase o fastboot format para borrar una partición en el dispositivo.

    Devoluciones
    boolean true si se usará el borrado fastboot o false si se usará el formato fastboot.

    isAdbRoot

    public abstract boolean isAdbRoot ()

    Devoluciones
    boolean true si el dispositivo actualmente tiene raíz adb, false contrario.

    Arroja
    DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

    isAdbTcp

    public abstract boolean isAdbTcp ()

    Devoluciones
    boolean true si el dispositivo está conectado a adb-over-tcp, false contrario.

    isDeviceEncrypted

    public abstract boolean isDeviceEncrypted ()

    Devuelve si el dispositivo está encriptado.

    Devoluciones
    boolean true si el dispositivo está encriptado.

    Arroja
    DeviceNotAvailableException si se pierde la conexión con el dispositivo y no se puede recuperar.

    isDirectory

    public abstract boolean isDirectory (String deviceFilePath)

    Devuelve True si la ruta en el dispositivo es un directorio, de lo contrario, false.

    Parámetros
    deviceFilePath String

    Devoluciones
    boolean

    Arroja
    DeviceNotAvailableException

    isEncryptionSupported

    public abstract boolean isEncryptionSupported ()

    Devuelve si el cifrado es compatible con el dispositivo.

    Devoluciones
    boolean true si el dispositivo admite cifrado.

    Arroja
    DeviceNotAvailableException

    isExecutable

    public abstract boolean isExecutable (String fullPath)

    Devuelve True si la ruta del archivo en el dispositivo es un archivo ejecutable, false en caso contrario.

    Parámetros
    fullPath String

    Devoluciones
    boolean

    Arroja
    DeviceNotAvailableException

    isHeadless

    public abstract boolean isHeadless ()

    Devuelve verdadero si el dispositivo no tiene cabeza (sin pantalla), falso de lo contrario.

    Devoluciones
    boolean

    Arroja
    DeviceNotAvailableException

    isRuntimePermissionSupported

    public abstract boolean isRuntimePermissionSupported ()

    Check whether platform on device supports runtime permission granting

    Returns
    boolean True if runtime permission are supported, false otherwise.

    Throws
    DeviceNotAvailableException

    logBugreport

    public abstract boolean logBugreport (String dataName, 
                    ITestLogger listener)

    Helper method to take a bugreport and log it to the reporters.

    Parameters
    dataName String : name under which the bugreport will be reported.

    listener ITestLogger : an ITestLogger to log the bugreport.

    Returns
    boolean True if the logging was successful, false otherwise.

    logOnDevice

    public abstract void logOnDevice (String tag, 
                    Log.LogLevel level, 
                    String format, 
                    Object... args)

    Log a message in the logcat of the device. This is a safe call that will not throw even if the logging fails.

    Parameters
    tag String : The tag under which we log our message in the logcat.

    level Log.LogLevel : The debug level of the message in the logcat.

    format String : The message format.

    args Object : the args to be replaced via String.format().

    nonBlockingReboot

    public abstract void nonBlockingReboot ()

    Issues a command to reboot device and returns on command complete and when device is no longer visible to adb.

    Throws
    DeviceNotAvailableException

    postBootSetup

    public abstract void postBootSetup ()

    Perform instructions to configure device for testing that after every boot.

    Should be called after device is fully booted/available

    In normal circumstances this method doesn't need to be called explicitly, as implementations should perform these steps automatically when performing a reboot.

    Where it may need to be called is when device reboots due to other events (eg when a fastboot update command has completed)

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    postInvocationTearDown

    public abstract void postInvocationTearDown ()

    Extra steps for device specific required clean up that will be executed after the invocation is done.

    preInvocationSetup

    public abstract void preInvocationSetup ( IBuildInfo info)

    Extra steps for device specific required setup that will be executed on the device prior to the invocation flow.

    Parameters
    info IBuildInfo

    Throws
    DeviceNotAvailableException
    TargetSetupError

    preInvocationSetup

    public void preInvocationSetup ( IBuildInfo info, 
                     testResourceBuildInfos)

    Extra steps for device specific required setup that will be executed on the device prior to the invocation flow.

    Parameters
    info IBuildInfo

    testResourceBuildInfos

    Throws
    DeviceNotAvailableException
    TargetSetupError

    pullDir

    public abstract boolean pullDir (String deviceFilePath, 
                    File localDir)

    Recursively pull directory contents from device.

    Parameters
    deviceFilePath String : the absolute file path of the remote source

    localDir File : the local directory to pull files into

    Returns
    boolean true if file was pulled successfully. false otherwise.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    pullFile

    public abstract File pullFile (String remoteFilePath)

    Retrieves a file off device, stores it in a local temporary ERROR(/File) , and returns that File .

    Parameters
    remoteFilePath String : the absolute path to file on device.

    Returns
    File A ERROR(/File) containing the contents of the device file, or null if the copy failed for any reason (including problems with the host filesystem)

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    pullFile

    public abstract boolean pullFile (String remoteFilePath, 
                    File localFile)

    Retrieves a file off device.

    Parameters
    remoteFilePath String : the absolute path to file on device.

    localFile File : the local file to store contents in. If non-empty, contents will be replaced.

    Returns
    boolean true if file was retrieved successfully. false otherwise.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    pullFileContents

    public abstract String pullFileContents (String remoteFilePath)

    Retrieves a file off device, and returns the contents.

    Parameters
    remoteFilePath String : the absolute path to file on device.

    Returns
    String A String containing the contents of the device file, or null if the copy failed for any reason (including problems with the host filesystem)

    Throws
    DeviceNotAvailableException

    pullFileFromExternal

    public abstract File pullFileFromExternal (String remoteFilePath)

    A convenience method to retrieve a file from the device's external storage, stores it in a local temporary ERROR(/File) , and return a reference to that File .

    Parameters
    remoteFilePath String : the path to file on device, relative to the device's external storage mountpoint

    Returns
    File A ERROR(/File) containing the contents of the device file, or null if the copy failed for any reason (including problems with the host filesystem)

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    pushDir

    public abstract boolean pushDir (File localDir, 
                    String deviceFilePath, 
                     excludedDirectories)

    Recursively push directory contents to device while excluding some directories that are filtered.

    Parameters
    localDir File : the local directory to push

    deviceFilePath String : the absolute file path of the remote destination

    excludedDirectories : Set of excluded directories names that shouldn't be pushed.

    Returns
    boolean true if file was pushed successfully. false otherwise.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    pushDir

    public abstract boolean pushDir (File localDir, 
                    String deviceFilePath)

    Recursively push directory contents to device.

    Parameters
    localDir File : the local directory to push

    deviceFilePath String : the absolute file path of the remote destination

    Returns
    boolean true if file was pushed successfully. false otherwise.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    pushFile

    public abstract boolean pushFile (File localFile, 
                    String deviceFilePath)

    Push a file to device

    Parameters
    localFile File : the local file to push

    deviceFilePath String : the remote destination absolute file path

    Returns
    boolean true if file was pushed successfully. false otherwise.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    pushString

    public abstract boolean pushString (String contents, 
                    String deviceFilePath)

    Push file created from a string to device

    Parameters
    contents String : the contents of the file to push

    deviceFilePath String : the remote destination absolute file path

    Returns
    boolean true if string was pushed successfully. false otherwise.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    reboot

    public abstract void reboot ()

    Reboots the device into adb mode.

    Blocks until device becomes available.

    Throws
    DeviceNotAvailableException if device is not available after reboot

    rebootIntoBootloader

    public abstract void rebootIntoBootloader ()

    Reboots the device into bootloader mode.

    Blocks until device is in bootloader mode.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    rebootIntoRecovery

    public abstract void rebootIntoRecovery ()

    Reboots the device into adb recovery mode.

    Blocks until device enters recovery

    Throws
    DeviceNotAvailableException if device is not available after reboot

    rebootUntilOnline

    public abstract void rebootUntilOnline ()

    An alternate to reboot() that only blocks until device is online ie visible to adb.

    Throws
    DeviceNotAvailableException if device is not available after reboot

    remountSystemWritable

    public abstract void remountSystemWritable ()

    Make the system partition on the device writable. May reboot the device.

    Throws
    DeviceNotAvailableException

    runInstrumentationTests

    public abstract boolean runInstrumentationTests (IRemoteAndroidTestRunner runner, 
                    ITestLifeCycleReceiver... listeners)

    Convenience method for performing ERROR(/#runInstrumentationTests(com.android.ddmlib.testrunner.IRemoteAndroidTestRunner,Collection)) with one or more listeners passed as parameters.

    Parameters
    runner IRemoteAndroidTestRunner : the IRemoteAndroidTestRunner which runs the tests

    listeners ITestLifeCycleReceiver : the test result listener(s)

    Returns
    boolean true if test command completed. false if it failed to complete, but recovery succeeded

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered. ie test command failed to complete and recovery failed.

    runInstrumentationTests

    public abstract boolean runInstrumentationTests (IRemoteAndroidTestRunner runner, 
                     listeners)

    Runs instrumentation tests, and provides device recovery.

    If connection with device is lost before test run completes, and recovery succeeds, all listeners will be informed of testRunFailed and "false" will be returned. The test command will not be rerun. It is left to callers to retry if necessary.

    If connection with device is lost before test run completes, and recovery fails, all listeners will be informed of testRunFailed and DeviceNotAvailableException will be thrown.

    Parameters
    runner IRemoteAndroidTestRunner : the IRemoteAndroidTestRunner which runs the tests

    listeners : the test result listeners

    Returns
    boolean true if test command completed. false if it failed to complete due to device communication exception, but recovery succeeded

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered. ie test command failed to complete and recovery failed.

    runInstrumentationTestsAsUser

    public abstract boolean runInstrumentationTestsAsUser (IRemoteAndroidTestRunner runner, 
                    int userId, 
                    ITestLifeCycleReceiver... listeners)

    Same as ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, ITestLifeCycleReceiver...) but runs the test for a given user.

    Parameters
    runner IRemoteAndroidTestRunner

    userId int

    listeners ITestLifeCycleReceiver

    Returns
    boolean

    Throws
    DeviceNotAvailableException

    runInstrumentationTestsAsUser

    public abstract boolean runInstrumentationTestsAsUser (IRemoteAndroidTestRunner runner, 
                    int userId, 
                     listeners)

    Same as ERROR(ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, Collection)/com.android.tradefed.device.ITestDevice#runInstrumentationTests(com.android.ddmlib.testrunner.IRemoteAndroidTestRunner,Collection) ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, Collection)) but runs the test for the given user.

    Parameters
    runner IRemoteAndroidTestRunner

    userId int

    listeners

    Returns
    boolean

    Throws
    DeviceNotAvailableException

    setDate

    public abstract void setDate (Date date)

    Sets the date on device

    Note: setting date on device requires root

    Parameters
    date Date : specify a particular date; will use host date if null

    Throws
    DeviceNotAvailableException

    setOptions

    public abstract void setOptions ( TestDeviceOptions options)

    Set the TestDeviceOptions for the device

    Parameters
    options TestDeviceOptions

    setProperty

    public abstract boolean setProperty (String propKey, 
                    String propValue)

    Sets the given property value on the device. Requires adb root is true.

    Parameters
    propKey String : The key targeted to be set.

    propValue String : The property value to be set.

    Returns
    boolean returns True if the setprop command was successful, False otherwise.

    Throws
    DeviceNotAvailableException

    setRecovery

    public abstract void setRecovery ( IDeviceRecovery recovery)

    Set the IDeviceRecovery to use for this device. Should be set when device is first allocated.

    Parameters
    recovery IDeviceRecovery : the IDeviceRecovery

    setRecoveryMode

    public abstract void setRecoveryMode ( ITestDevice.RecoveryMode mode)

    Set the current recovery mode to use for the device.

    Used to control what recovery method to use when a device communication problem is encountered. Its recommended to only use this method sparingly when needed (for example, when framework is down, etc

    Parameters
    mode ITestDevice.RecoveryMode : whether 'recover till online only' mode should be on or not.

    setUseFastbootErase

    public abstract void setUseFastbootErase (boolean useFastbootErase)

    Set whether to use fastboot erase or fastboot format to wipe a partition on the device.

    Parameters
    useFastbootErase boolean : true if fastboot erase should be used or false if fastboot format should be used.

    startLogcat

    public abstract void startLogcat ()

    Start capturing logcat output from device in the background.

    Will have no effect if logcat output is already being captured. Data can be later retrieved via getLogcat.

    When the device is no longer in use, stopLogcat() must be called.

    startLogcat() and stopLogcat() do not normally need to be called when within a TF invocation context, as the TF framework will start and stop logcat.

    stopEmulatorOutput

    public abstract void stopEmulatorOutput ()

    Close and delete the emulator output.

    stopLogcat

    public abstract void stopLogcat ()

    Stop capturing logcat output from device, and discard currently saved logcat data.

    Will have no effect if logcat output is not being captured.

    switchToAdbTcp

    public abstract String switchToAdbTcp ()

    Switch device to adb-over-tcp mode.

    Returns
    String the tcp serial number or null if device could not be switched

    Throws
    DeviceNotAvailableException

    switchToAdbUsb

    public abstract boolean switchToAdbUsb ()

    Switch device to adb over usb mode.

    Returns
    boolean true if switch was successful, false otherwise.

    Throws
    DeviceNotAvailableException

    syncFiles

    public abstract boolean syncFiles (File localFileDir, 
                    String deviceFilePath)

    Incrementally syncs the contents of a local file directory to device.

    Decides which files to push by comparing timestamps of local files with their remote equivalents. Only 'newer' or non-existent files will be pushed to device. Thus overhead should be relatively small if file set on device is already up to date.

    Hidden files (with names starting with ".") will be ignored.

    Example usage: syncFiles("/tmp/files", "/sdcard") will created a /sdcard/files directory if it doesn't already exist, and recursively push the /tmp/files contents to /sdcard/files.

    Parameters
    localFileDir File : the local file directory containing files to recursively push.

    deviceFilePath String : the remote destination absolute file path root. All directories in thos file path must be readable. ie pushing to /data/local/tmp when adb is not root will fail

    Returns
    boolean true if files were synced successfully. false otherwise.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    takeBugreport

    public abstract Bugreport takeBugreport ()

    Take a bugreport and returns it inside a Bugreport object to handle it. Return null in case of issue.

    File referenced in the Bugreport object need to be cleaned via Bugreport#close() .

    Returns
    Bugreport

    unencryptDevice

    public abstract boolean unencryptDevice ()

    Unencrypts the device.

    Unencrypting the device may cause device to be wiped and may reboot device. This method will block until device is available and ready for testing. Requires fastboot inorder to wipe the userdata partition.

    Returns
    boolean true if successful.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.
    UnsupportedOperationException if encryption is not supported on the device.

    unlockDevice

    public abstract boolean unlockDevice ()

    Unlocks the device if the device is in an encrypted state.

    This method may restart the framework but will not call postBootSetup() . Therefore, the device might not be fully ready to be tested when this method returns.

    Returns
    boolean true if successful or if the device is unencrypted.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.
    UnsupportedOperationException if encryption is not supported on the device.

    waitForBootComplete

    public abstract boolean waitForBootComplete (long timeOut)

    Blocks until the device's boot complete flag is set.

    Parameters
    timeOut long : time in msecs to wait for the flag to be set

    Returns
    boolean true if device's boot complete flag is set within the timeout

    Throws
    DeviceNotAvailableException

    waitForDeviceAvailable

    public abstract void waitForDeviceAvailable ()

    Waits for the device to be responsive and available for testing. Uses default timeout.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    waitForDeviceAvailable

    public abstract void waitForDeviceAvailable (long waitTime)

    Waits for the device to be responsive and available for testing.

    Parameters
    waitTime long : the time in ms to wait

    Throws
    DeviceNotAvailableException if device is still unresponsive after waitTime expires.

    waitForDeviceInRecovery

    public abstract boolean waitForDeviceInRecovery (long waitTime)

    Blocks for the device to be in the 'adb recovery' state (note this is distinct from IDeviceRecovery ).

    Parameters
    waitTime long : the time in ms to wait

    Returns
    boolean true if device boots into recovery before time expires. false otherwise

    waitForDeviceNotAvailable

    public abstract boolean waitForDeviceNotAvailable (long waitTime)

    Blocks for the device to be not available ie missing from adb

    Parameters
    waitTime long : the time in ms to wait

    Returns
    boolean true if device becomes not available before time expires. false otherwise

    waitForDeviceOnline

    public abstract void waitForDeviceOnline ()

    Blocks until device is visible via adb. Uses default timeout

    Note the device may not necessarily be responsive to commands on completion. Use waitForDeviceAvailable() instead.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    waitForDeviceOnline

    public abstract void waitForDeviceOnline (long waitTime)

    Blocks until device is visible via adb.

    Note the device may not necessarily be responsive to commands on completion. Use waitForDeviceAvailable() instead.

    Parameters
    waitTime long : the time in ms to wait

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    waitForDeviceShell

    public abstract boolean waitForDeviceShell (long waitTime)

    Waits for device to be responsive to a basic adb shell command.

    Parameters
    waitTime long : the time in ms to wait

    Returns
    boolean true if device becomes responsive before waitTime elapses.