Google s'est engagé à promouvoir l'équité raciale pour les communautés noires. Regarde comment.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

INativeDevice

public interface INativeDevice

com.android.tradefed.device.INativeDevice


Fournit une API fiable et de niveau légèrement supérieur à un IDevice IDevice .

Relance les commandes de périphérique pour une quantité configurable et fournit une interface de récupération de périphérique pour les périphériques qui ne répondent pas.

Résumé

Constantes

int UNKNOWN_API_LEVEL

Valeur par défaut lorsque le niveau d'API ne peut pas être détecté

Méthodes publiques

abstract boolean checkApiLevelAgainstNextRelease (int strictMinLevel)

Vérifiez si une fonctionnalité est actuellement prise en charge en fonction d'un niveau minimal pris en charge.

abstract void clearLogcat ()

Supprime toutes les données logcat accumulées.

abstract void deleteFile (String deviceFilePath)

Méthode d'assistance pour supprimer un fichier ou un répertoire sur l'appareil.

abstract boolean disableAdbRoot ()

Désactive adb root.

abstract boolean doesFileExist (String deviceFilePath)

Méthode d'assistance pour déterminer si le fichier sur l'appareil existe.

abstract boolean enableAdbRoot ()

Active adb root.

abstract boolean encryptDevice (boolean inplace)

Crypte l'appareil.

abstract String executeAdbCommand (String... commandArgs)

Méthode d'assistance qui exécute une commande adb en tant que commande système.

abstract CommandResult executeFastbootCommand (String... commandArgs)

Méthode d'assistance qui exécute une commande fastboot en tant que commande système avec un délai d'expiration par défaut de 2 minutes.

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

Méthode d'assistance qui exécute une commande fastboot en tant que commande système.

abstract CommandResult executeLongFastbootCommand (String... commandArgs)

Méthode d'assistance qui exécute une commande fastboot de longue durée en tant que commande système.

abstract String executeShellCommand (String command)

Méthode d'assistance qui exécute une commande adb shell et renvoie la sortie sous forme de String .

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

Exécute une commande adb shell, avec plus de paramètres pour contrôler le comportement de la commande.

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

Exécute une commande adb shell, avec plus de paramètres pour contrôler le comportement de la commande.

abstract void executeShellCommand (String command, IShellOutputReceiver receiver)

Exécute la commande adb shell donnée, en réessayant plusieurs fois si la commande échoue.

abstract CommandResult executeShellV2Command (String command)

Méthode d'assistance qui exécute une commande adb shell et renvoie les résultats sous la forme d'un CommandResult correctement CommandResult avec la sortie d'état de la commande, stdout et stderr.

abstract CommandResult executeShellV2Command (String command, OutputStream pipeToOutput)

Méthode d'assistance qui exécute une commande adb shell et renvoie les résultats sous la forme d'un CommandResult correctement CommandResult avec la sortie d'état de la commande, stdout et stderr.

abstract CommandResult executeShellV2Command (String command, File pipeAsInput)

Méthode d'assistance qui exécute une commande adb shell et renvoie les résultats sous la forme d'un CommandResult correctement CommandResult avec la sortie d'état de la commande, stdout et stderr.

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

Exécute une commande adb shell, avec plus de paramètres pour contrôler le comportement de la commande.

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

Exécute une commande adb shell, avec plus de paramètres pour contrôler le comportement de la commande.

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

Exécute une commande adb shell, avec plus de paramètres pour contrôler le comportement de la commande.

abstract CommandResult fastbootWipePartition (String partition)

Méthode d'assistance qui efface une partition pour le périphérique.

abstract int getApiLevel ()

Obtenez le niveau d'API de l'appareil.

abstract String getBasebandVersion ()

Méthode pratique pour obtenir la version bande de base (radio) de cet appareil.

abstract Integer getBattery ()

Renvoie le niveau de batterie actuel d'un appareil ou Null si le niveau de batterie n'est pas disponible.

abstract String getBootloaderVersion ()

Méthode pratique pour obtenir la version du chargeur de démarrage de cet appareil.

abstract InputStreamSource getBugreport ()

Récupère un rapport de bogue sur l'appareil.

abstract InputStreamSource getBugreportz ()

Récupère un bugreportz de l'appareil.

abstract String getBuildAlias ()

Récupérez l'alias de la compilation que le périphérique est en cours d'exécution.

abstract String getBuildFlavor ()

Récupérez la version de build de l'appareil.

abstract String getBuildId ()

Récupérez la compilation que l'appareil exécute actuellement.

abstract String getBuildSigningKeys ()

Renvoie le type de clé utilisé pour signer l'image de l'appareil

En règle générale, les appareils Android peuvent être signés avec des clés de test (comme dans AOSP) ou des clés de libération (contrôlées par des fabricants d'appareils individuels)

abstract String[] getChildren (String deviceFilePath)

Alternative à l'utilisation de IFileEntry qui ne fonctionnera parfois pas à cause des autorisations.

abstract String getDeviceClass ()

Obtenez la classe de périphérique.

abstract long getDeviceDate ()

Renvoie la date de l'appareil en millisecondes depuis l'époque.

abstract DeviceDescriptor getDeviceDescriptor ()

Renvoyez un DeviceDescriptor partir des informations de périphérique pour obtenir des informations dessus sans passer l'objet périphérique réel.

abstract TestDeviceState getDeviceState ()

Obtenez l'état de l'appareil.

abstract long getDeviceTimeOffset (Date date)

Aide pour obtenir le décalage horaire entre l'appareil et une ERROR(/Date) donnée ERROR(/Date) .

abstract InputStreamSource getEmulatorOutput ()

Obtenez le flux de l'émulateur stdout et stderr

abstract long getExternalStoreFreeSpace ()

Méthode d'assistance pour déterminer la quantité d'espace libre sur le stockage externe de l'appareil.

abstract String getFastbootProductType ()

Méthode pratique pour obtenir le type de produit de cet appareil lorsqu'il est en mode de démarrage rapide.

abstract String getFastbootProductVariant ()

Méthode pratique pour obtenir le type de produit de cet appareil lorsqu'il est en mode de démarrage rapide.

abstract IFileEntry getFileEntry (String path)

Récupérez une référence à un fichier distant sur l'appareil.

abstract IDevice getIDevice ()

Renvoie une référence à l'IDevice IDevice associé.

abstract long getLastExpectedRebootTimeMillis ()

Renvoie la dernière fois que les API Tradefed ont déclenché un redémarrage en millisecondes depuis EPOCH comme renvoyé par System.currentTimeMillis() .

abstract InputStreamSource getLogcat ()

Récupère un flux instantané des données logcat.

abstract InputStreamSource getLogcat (int maxBytes)

Récupère un flux instantané des derniers maxBytes des données logcat capturées.

abstract InputStreamSource getLogcatDump ()

Obtenez un vidage du logcat actuel pour le périphérique.

abstract InputStreamSource getLogcatSince (long date)

Récupère un flux instantané des données logcat capturées à partir de la date fournie.

abstract String getMountPoint (String mountName)

Renvoie un point de montage.

abstract ITestDevice.MountPointInfo getMountPointInfo (String mountpoint)

Renvoie un MountPointInfo correspondant au chemin du point de montage spécifié, ou null si ce chemin n'a rien de monté ou n'apparaît pas dans / proc / mounts en tant que point de montage.

abstract getMountPointInfo ()

Renvoie une version analysée des informations dans / proc / mounts sur le périphérique

abstract long getPartitionFreeSpace (String partition)

Méthode d'assistance pour déterminer la quantité d'espace libre sur la partition de périphérique.

abstract ProcessInfo getProcessByName (String processName)

La méthode d'assistance exécute la commande "ps" et renvoie USER, PID et NAME du nom de processus donné.

abstract String getProcessPid (String process)

Renvoie le pid du service ou null en cas de problème.

abstract getProcesses ()

La méthode d'assistance exécute la commande "ps" et renvoie la liste USER, PID et NAME de tous les processus.

abstract String getProductType ()

Méthode pratique pour obtenir le type de produit de cet appareil.

abstract String getProductVariant ()

Méthode pratique pour obtenir la variante de produit de cet appareil.

abstract String getProperty (String name)

Récupérez la valeur de propriété donnée de l'appareil.

abstract ITestDevice.RecoveryMode getRecoveryMode ()

Obtenez le mode de récupération actuel utilisé pour l'appareil.

abstract String getSerialNumber ()

Méthode pratique pour obtenir le numéro de série de cet appareil.

abstract getTombstones ()

Récupérez et retournez la liste des pierres tombales des appareils.

abstract long getTotalMemory ()

Renvoie la taille totale de la mémoire physique en octets ou -1 en cas d'erreur interne

abstract boolean getUseFastbootErase ()

Déterminez s'il faut utiliser l'effacement ou le format de démarrage rapide pour effacer une partition sur l'appareil.

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

Renvoie si l'appareil est chiffré.

abstract boolean isDirectory (String deviceFilePath)

Renvoie True si le chemin sur le périphérique est un répertoire, false dans le cas contraire.

abstract boolean isEncryptionSupported ()

Renvoie si le cryptage est pris en charge sur l'appareil.

abstract boolean isExecutable (String fullPath)

Renvoie True si le chemin du fichier sur le périphérique est un fichier exécutable, False dans le cas contraire.

abstract boolean isHeadless ()

Renvoie true si l'appareil est sans tête (pas d'écran), false dans le cas contraire.

abstract boolean isRuntimePermissionSupported ()

Vérifiez si la plate-forme sur l'appareil prend en charge l'octroi d'autorisations d'exécution

abstract boolean logBugreport (String dataName, ITestLogger listener)

Méthode d'assistance pour prendre un rapport de bogue et le consigner aux journalistes.

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

Enregistrez un message dans le logcat de l'appareil.

abstract void nonBlockingReboot ()

Emet une commande pour redémarrer l'appareil et revient lorsque la commande est terminée et lorsque l'appareil n'est plus visible par adb.

abstract void postBootSetup ()

Suivez les instructions pour configurer le périphérique pour le tester après chaque démarrage.

abstract void postInvocationTearDown ()

Étapes supplémentaires pour le nettoyage requis spécifique au périphérique qui sera exécuté après l'appel.

abstract void preInvocationSetup ( IBuildInfo info)

Étapes supplémentaires pour la configuration requise spécifique au périphérique qui sera exécutée sur le périphérique avant le flux d'appel.

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

Étapes supplémentaires pour la configuration requise spécifique au périphérique qui sera exécutée sur le périphérique avant le flux d'appel.

abstract boolean pullDir (String deviceFilePath, File localDir)

Extraire récursivement le contenu du répertoire du périphérique.

abstract File pullFile (String remoteFilePath)

Récupère un fichier hors de l'appareil, le stocke dans une ERROR(/File) temporaire locale ERROR(/File) et renvoie ce File .

abstract boolean pullFile (String remoteFilePath, File localFile)

Récupère un fichier hors de l'appareil.

abstract String pullFileContents (String remoteFilePath)

Récupère un fichier hors de l'appareil et renvoie le contenu.

abstract File pullFileFromExternal (String remoteFilePath)

Une méthode pratique pour récupérer un fichier à partir du stockage externe de l'appareil, le stocker dans une ERROR(/File) temporaire locale ERROR(/File) et renvoyer une référence à ce File .

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

Poussez récursivement le contenu du répertoire vers le périphérique tout en excluant certains répertoires filtrés.

abstract boolean pushDir (File localDir, String deviceFilePath)

Poussez récursivement le contenu du répertoire vers l'appareil.

abstract boolean pushFile (File localFile, String deviceFilePath)

Transférer un fichier sur l'appareil

abstract boolean pushString (String contents, String deviceFilePath)

Envoyer le fichier créé à partir d'une chaîne vers l'appareil

abstract void reboot ()

Redémarre l'appareil en mode adb.

abstract void rebootIntoBootloader ()

Redémarre l'appareil en mode bootloader.

abstract void rebootIntoRecovery ()

Redémarre l'appareil en mode de récupération adb.

abstract void rebootUntilOnline ()

Une alternative à reboot() qui ne bloque que jusqu'à ce que l'appareil soit en ligne, c'est-à-dire visible par adb.

abstract void remountSystemWritable ()

Rendez la partition système du périphérique inscriptible.

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

Méthode pratique pour exécuter ERROR(/#runInstrumentationTests(com.android.ddmlib.testrunner.IRemoteAndroidTestRunner,Collection)) avec un ou plusieurs écouteurs passés en paramètres.

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

Exécute des tests d'instrumentation et assure la récupération de l'appareil

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

Identique à ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, ITestLifeCycleReceiver...) mais exécute le test pour un utilisateur donné.

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

Identique à ERROR(ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, Collection)/com.android.tradefed.device.ITestDevice#runInstrumentationTests(com.android.ddmlib.testrunner.IRemoteAndroidTestRunner,Collection) ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, Collection)) pour l'utilisateur donné.

abstract void setDate (Date date)

Règle la date sur l'appareil

Remarque: le réglage de la date sur l'appareil nécessite la racine

abstract void setOptions ( TestDeviceOptions options)

Définissez les TestDeviceOptions pour l'appareil

abstract boolean setProperty (String propKey, String propValue)

Définit la valeur de propriété donnée sur l'appareil.

abstract void setRecovery ( IDeviceRecovery recovery)

Définissez IDeviceRecovery à utiliser pour cet appareil.

abstract void setRecoveryMode ( ITestDevice.RecoveryMode mode)

Définissez le mode de récupération actuel à utiliser pour l'appareil.

abstract void setUseFastbootErase (boolean useFastbootErase)

Définissez si vous souhaitez utiliser l'effacement ou le format de démarrage rapide pour effacer une partition sur l'appareil.

abstract void startLogcat ()

Commencez à capturer la sortie logcat du périphérique en arrière-plan.

abstract void stopEmulatorOutput ()

Fermez et supprimez la sortie de l'émulateur.

abstract void stopLogcat ()

Arrêtez de capturer la sortie logcat de l'appareil et supprimez les données logcat actuellement enregistrées.

abstract String switchToAdbTcp ()

Basculez l'appareil en mode adb-over-tcp.

abstract boolean switchToAdbUsb ()

Basculez l'appareil en mode adb via usb.

abstract boolean syncFiles (File localFileDir, String deviceFilePath)

Synchronise de manière incrémentielle le contenu d'un répertoire de fichiers local avec l'appareil.

abstract Bugreport takeBugreport ()

Prenez un rapport de bogue et retournez-le dans un objet Bugreport pour le gérer.

abstract boolean unencryptDevice ()

Déchiffre le périphérique.

abstract boolean unlockDevice ()

Déverrouille l'appareil si l'appareil est dans un état chiffré.

abstract boolean waitForBootComplete (long timeOut)

Bloque jusqu'à ce que l'indicateur de fin de démarrage du périphérique soit défini.

abstract void waitForDeviceAvailable ()

Attend que l'appareil soit réactif et disponible pour les tests.

abstract void waitForDeviceAvailable (long waitTime)

Attend que l'appareil soit réactif et disponible pour les tests.

abstract boolean waitForDeviceInRecovery (long waitTime)

Bloque pour que l'appareil soit dans l'état 'adb recovery' (notez que ceci est différent de IDeviceRecovery ).

abstract boolean waitForDeviceNotAvailable (long waitTime)

Blocs pour que l'appareil ne soit pas disponible, c'est-à-dire manquant dans adb

abstract void waitForDeviceOnline ()

Bloque jusqu'à ce que l'appareil soit visible via adb.

abstract void waitForDeviceOnline (long waitTime)

Bloque jusqu'à ce que l'appareil soit visible via adb.

abstract boolean waitForDeviceShell (long waitTime)

Attend que le périphérique réponde à une commande adb shell de base.

Constantes

INCONNU_API_LEVEL

public static final int UNKNOWN_API_LEVEL

Valeur par défaut lorsque le niveau d'API ne peut pas être détecté

Valeur constante: -1 (0xffffffff)

Méthodes publiques

checkApiLevelAgainstNextRelease

public abstract boolean checkApiLevelAgainstNextRelease (int strictMinLevel)

Vérifiez si une fonctionnalité est actuellement prise en charge en fonction d'un niveau minimal pris en charge. Cette méthode prend en compte des fonctionnalités inédites, avant que le niveau d'API ne soit augmenté.

Paramètres
strictMinLevel int : niveau minimum strict possible qui prend en charge la fonctionnalité.

Retour
boolean Vrai si le niveau est pris en charge. Faux sinon.

Jette
DeviceNotAvailableException

clearLogcat

public abstract void clearLogcat ()

Supprime toutes les données logcat accumulées.

Ceci est utile dans les cas où vous voulez vous assurer que ITestDevice#getLogcat() ne renvoie que les données de journal produites après un certain point (comme après le flashage d'une nouvelle version de périphérique, etc.).

supprimer le fichier

public abstract void deleteFile (String deviceFilePath)

Méthode d'assistance pour supprimer un fichier ou un répertoire sur l'appareil.

Paramètres
deviceFilePath String : chemin absolu du fichier sur l'appareil.

Jette
DeviceNotAvailableException

disableAdbRoot

public abstract boolean disableAdbRoot ()

Désactive adb root.

La désactivation de la racine adb peut entraîner la déconnexion de l'appareil de l'adb. Cette méthode se bloquera jusqu'à ce que l'appareil soit disponible.

Retour
boolean true cas de succès.

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

doesFileExist

public abstract boolean doesFileExist (String deviceFilePath)

Méthode d'assistance pour déterminer si le fichier sur l'appareil existe.

Paramètres
deviceFilePath String : le chemin absolu du fichier sur l'appareil à vérifier

Retour
boolean true si le fichier existe, false cas contraire.

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

enableAdbRoot

public abstract boolean enableAdbRoot ()

Active adb root. Si le paramètre «enable-root» est «false», enregistrera un message et retournera sans activer root.

L'activation de la racine adb peut entraîner la déconnexion de l'appareil de l'adb. Cette méthode se bloquera jusqu'à ce que l'appareil soit disponible.

Retour
boolean true cas de succès.

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

encryptDevice

public abstract boolean encryptDevice (boolean inplace)

Crypte l'appareil.

Le cryptage de l'appareil peut être effectué sur place ou avec un effacement. Le cryptage en place n'effacera aucune donnée sur l'appareil, mais prend normalement quelques ordres de grandeur de plus que l'effacement.

Cette méthode redémarrera l'appareil s'il n'est pas déjà chiffré et se bloquera jusqu'à ce que l'appareil soit en ligne. De plus, il ne déchiffrera pas l'appareil après le redémarrage. Par conséquent, le périphérique peut ne pas être complètement démarré et / ou prêt à être testé lorsque cette méthode revient.

Paramètres
inplace boolean : si le processus de cryptage doit prendre place et que l'appareil ne doit pas être effacé.

Retour
boolean true cas de succès.

Jette
DeviceNotAvailableException si l'appareil n'est pas disponible après le redémarrage.
UnsupportedOperationException si le cryptage n'est pas pris en charge sur l'appareil.

executeAdbCommand

public abstract String executeAdbCommand (String... commandArgs)

Méthode d'assistance qui exécute une commande adb en tant que commande système.

executeShellCommand(String) doit être utilisé à la place dans la mesure du possible, car cette méthode offre une meilleure détection des échecs et de meilleures performances.

Paramètres
commandArgs String : la commande adb et les arguments à exécuter

Retour
String la commande stdout from. null si la commande n'a pas pu s'exécuter.

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

executeFastbootCommand

public abstract CommandResult executeFastbootCommand (String... commandArgs)

Méthode d'assistance qui exécute une commande fastboot en tant que commande système avec un délai d'expiration par défaut de 2 minutes.

Devrait être utilisé lorsque l'appareil est déjà en mode de démarrage rapide.

Paramètres
commandArgs String : la commande fastboot et les arguments à exécuter

Retour
CommandResult le CommandResult contenant la sortie de la commande

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

executeFastbootCommand

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

Méthode d'assistance qui exécute une commande fastboot en tant que commande système.

Devrait être utilisé lorsque l'appareil est déjà en mode de démarrage rapide.

Paramètres
timeout long : le temps en millisecondes avant l'expiration de la commande

commandArgs String : la commande fastboot et les arguments à exécuter

Retour
CommandResult le CommandResult contenant la sortie de la commande

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

executeLongFastbootCommand

public abstract CommandResult executeLongFastbootCommand (String... commandArgs)

Méthode d'assistance qui exécute une commande fastboot de longue durée en tant que commande système.

Identique à executeFastbootCommand(String) sauf utilise un délai d'expiration plus long.

Paramètres
commandArgs String : la commande fastboot et les arguments à exécuter

Retour
CommandResult le CommandResult contenant la sortie de la commande

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

executeShellCommand

public abstract String executeShellCommand (String command)

Méthode d'assistance qui exécute une commande adb shell et renvoie la sortie sous forme de String .

Paramètres
command String : la commande adb shell à exécuter

Retour
String la sortie du shell

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

executeShellCommand

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

Exécute une commande adb shell, avec plus de paramètres pour contrôler le comportement de la commande.

Paramètres
command String : la commande adb shell à exécuter

receiver IShellOutputReceiver : le IShellOutputReceiver vers IShellOutputReceiver diriger la sortie du shell.

maxTimeToOutputShellResponse long : la durée maximale pendant laquelle la commande est autorisée à n'émettre aucune réponse; unité comme spécifié dans timeUnit

timeUnit TimeUnit : unité pour maxTimeToOutputShellResponse

retryAttempts int : le nombre maximum de tentatives de commande en cas d'échec en raison d'une exception. DeviceNotResponsiveException sera levée si retryAttempts est effectué sans succès.

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

executeShellCommand

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

Exécute une commande adb shell, avec plus de paramètres pour contrôler le comportement de la commande.

Paramètres
command String : la commande adb shell à exécuter

receiver IShellOutputReceiver : le IShellOutputReceiver vers IShellOutputReceiver diriger la sortie du shell.

maxTimeoutForCommand long : le délai maximum pour l'exécution de la commande; unité comme spécifié dans timeUnit

maxTimeToOutputShellResponse long : la durée maximale pendant laquelle la commande est autorisée à n'émettre aucune réponse; unité comme spécifié dans timeUnit

timeUnit TimeUnit : unité pour maxTimeToOutputShellResponse

retryAttempts int : le nombre maximum de tentatives de commande en cas d'échec en raison d'une exception. DeviceNotResponsiveException sera levée si retryAttempts est effectué sans succès.

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

executeShellCommand

public abstract void executeShellCommand (String command, 
                IShellOutputReceiver receiver)

Exécute la commande adb shell donnée, en réessayant plusieurs fois si la commande échoue.

Une forme plus simple de executeShellCommand(String, com.android.ddmlib.IShellOutputReceiver, long, TimeUnit, int) avec des valeurs par défaut.

Paramètres
command String : la commande adb shell à exécuter

receiver IShellOutputReceiver : le IShellOutputReceiver vers IShellOutputReceiver diriger la sortie du shell.

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command)

Méthode d'assistance qui exécute une commande adb shell et renvoie les résultats sous la forme d'un CommandResult correctement CommandResult avec la sortie d'état de la commande, stdout et stderr.

Paramètres
command String : la commande qui doit être exécutée.

Retour
CommandResult Le résultat dans CommandResult .

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command, 
                OutputStream pipeToOutput)

Méthode d'assistance qui exécute une commande adb shell et renvoie les résultats sous la forme d'un CommandResult correctement CommandResult avec la sortie d'état de la commande, stdout et stderr.

Paramètres
command String : la commande qui doit être exécutée.

pipeToOutput OutputStream : ERROR(/OutputStream) où la sortie std sera redirigée.

Retour
CommandResult Le résultat dans CommandResult .

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command, 
                File pipeAsInput)

Méthode d'assistance qui exécute une commande adb shell et renvoie les résultats sous la forme d'un CommandResult correctement CommandResult avec la sortie d'état de la commande, stdout et stderr.

Paramètres
command String : la commande qui doit être exécutée.

pipeAsInput File : Une ERROR(/File) qui sera redirigée comme entrée de la commande.

Retour
CommandResult Le résultat dans CommandResult .

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

executeShellV2Command

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

Exécute une commande adb shell, avec plus de paramètres pour contrôler le comportement de la commande.

Paramètres
command String : la commande adb shell à exécuter

maxTimeoutForCommand long : le délai maximum pour l'exécution de la commande; unité comme spécifié dans timeUnit

timeUnit TimeUnit : unité pour maxTimeToOutputShellResponse

retryAttempts int : le nombre maximum de tentatives de commande en cas d'échec en raison d'une exception. DeviceNotResponsiveException sera levée si retryAttempts est effectué sans succès.

Retour
CommandResult

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

executeShellV2Command

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

Exécute une commande adb shell, avec plus de paramètres pour contrôler le comportement de la commande.

Paramètres
command String : la commande adb shell à exécuter

maxTimeoutForCommand long : le délai maximum pour l'exécution de la commande; unité comme spécifié dans timeUnit

timeUnit TimeUnit : unité pour maxTimeToOutputShellResponse

Retour
CommandResult

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

executeShellV2Command

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

Exécute une commande adb shell, avec plus de paramètres pour contrôler le comportement de la commande.

Paramètres
command String : la commande adb shell à exécuter

pipeAsInput File : Une ERROR(/File) qui sera redirigée comme entrée de la commande.

pipeToOutput OutputStream : ERROR(/OutputStream) où la sortie std sera redirigée.

maxTimeoutForCommand long : le délai maximum pour l'exécution de la commande; unité comme spécifié dans timeUnit

timeUnit TimeUnit : unité pour maxTimeToOutputShellResponse

retryAttempts int : le nombre maximum de tentatives de commande en cas d'échec en raison d'une exception. DeviceNotResponsiveException sera levée si retryAttempts est effectué sans succès.

Retour
CommandResult

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

fastbootWipePartition

public abstract CommandResult fastbootWipePartition (String partition)

Méthode d'assistance qui efface une partition pour le périphérique.

Si getUseFastbootErase() est true , l'effacement de getUseFastbootErase() sera utilisé pour effacer la partition. Le périphérique doit alors créer un système de fichiers au prochain démarrage du périphérique. Sinon, le format Fastboot est utilisé, ce qui créera un nouveau système de fichiers sur l'appareil.

Devrait être utilisé lorsque l'appareil est déjà en mode de démarrage rapide.

Paramètres
partition String : la partition à effacer

Retour
CommandResult le CommandResult contenant la sortie de la commande

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

getApiLevel

public abstract int getApiLevel ()

Obtenez le niveau d'API de l'appareil. La valeur par défaut est UNKNOWN_API_LEVEL .

Retour
int un entier indiquant le niveau d'API de l'appareil

Jette
DeviceNotAvailableException

getBasebandVersion

public abstract String getBasebandVersion ()

Méthode pratique pour obtenir la version bande de base (radio) de cet appareil. L'obtention de la version radio est spécifique à l'appareil, il se peut donc qu'elle ne renvoie pas les informations correctes pour tous les appareils. Cette méthode s'appuie sur la propriété gsm.version.baseband pour renvoyer les informations de version correctes. Ce n'est pas exact pour certains périphériques CDMA et la version renvoyée ici peut ne pas correspondre à la version signalée par Fastboot et peut ne pas renvoyer la version pour la radio CDMA. TL; DR cette méthode ne signale la version exacte que si la propriété gsm.version.baseband est la même que la version renvoyée par fastboot getvar version-baseband .

Retour
String la version de bande de base String ou null si elle ne peut pas être déterminée (l'appareil n'a pas de radio ou la chaîne de version ne peut pas être lue)

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

getBattery

public abstract Integer getBattery ()

Renvoie le niveau de batterie actuel d'un appareil ou Null si le niveau de batterie n'est pas disponible.

Retour
Integer

getBootloaderVersion

public abstract String getBootloaderVersion ()

Méthode pratique pour obtenir la version du chargeur de démarrage de cet appareil.

Essaiera de récupérer la version du chargeur de démarrage à partir de l'état actuel du périphérique. (c'est-à-dire que si l'appareil est en mode fastboot, il tentera de récupérer la version de fastboot)

Retour
String la version du chargeur de démarrage String ou null si elle est introuvable

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

getBugreport

public abstract InputStreamSource getBugreport ()

Récupère un rapport de bogue sur l'appareil.

La mise en œuvre de ceci est garantie de continuer à fonctionner sur un périphérique sans carte SD (ou sur lequel la carte SD n'est pas encore montée).

Retour
InputStreamSource Un InputStreamSource qui produira le contenu du rapport de InputStreamSource à la demande. En cas d'échec, InputStreamSource produira une ERROR(/InputStream) vide ERROR(/InputStream) .

getBugreportz

public abstract InputStreamSource getBugreportz ()

Récupère un bugreportz de l'appareil. Le rapport de bogue au format Zip contient le rapport de bogue principal et d'autres fichiers journaux utiles pour le débogage.

Uniquement pris en charge pour 'adb version'> 1.0.36

Retour
InputStreamSource a InputStreamSource du fichier zip contenant le bugreportz, retourne null en cas d'échec.

getBuildAlias

public abstract String getBuildAlias ()

Récupérez l'alias de la compilation que le périphérique est en cours d'exécution.

L'alias de build est généralement une chaîne plus lisible que l'ID de build (généralement un nombre pour les builds Nexus). Par exemple, la version finale d'Android 4.2 a l'alias de build JDQ39 et l'ID de build 573038

Retour
String l'alias de construction ou revenir à l'ID de compilation s'il n'a pas pu être récupéré

Jette
DeviceNotAvailableException

getBuildFlavor

public abstract String getBuildFlavor ()

Récupérez la version de build de l'appareil.

Retour
String la saveur de construction ou null si elle n'a pas pu être récupérée

Jette
DeviceNotAvailableException

getBuildId

public abstract String getBuildId ()

Récupérez la compilation que l'appareil exécute actuellement.

Retour
String l'ID de construction ou IBuildInfo#UNKNOWN_BUILD_ID s'il n'a pas pu être récupéré

Jette
DeviceNotAvailableException

getBuildSigningKeys

public abstract String getBuildSigningKeys ()

Renvoie le type de clé utilisé pour signer l'image de l'appareil

En règle générale, les appareils Android peuvent être signés avec des clés de test (comme dans AOSP) ou des clés de libération (contrôlées par des fabricants d'appareils individuels)

Retour
String La clé de signature si elle est trouvée, nulle dans le cas contraire.

Jette
DeviceNotAvailableException

getChildren

public abstract String[] getChildren (String deviceFilePath)

Alternative à l'utilisation de IFileEntry qui ne fonctionnera parfois pas à cause des autorisations.

Paramètres
deviceFilePath String : est le chemin sur l'appareil où effectuer la recherche

Retour
String[] Tableau de chaîne contenant tout le fichier dans un chemin sur le périphérique.

Jette
DeviceNotAvailableException

getDeviceClass

public abstract String getDeviceClass ()

Obtenez la classe de périphérique.

Retour
String la classe d'appareils String .

getDeviceDate

public abstract long getDeviceDate ()

Renvoie la date de l'appareil en millisecondes depuis l'époque.

Retour
long la date de l'appareil au format d'époque.

Jette
DeviceNotAvailableException

getDeviceDescriptor

public abstract DeviceDescriptor getDeviceDescriptor ()

Renvoyez un DeviceDescriptor partir des informations de périphérique pour obtenir des informations dessus sans passer l'objet périphérique réel.

Retour
DeviceDescriptor

getDeviceState

public abstract TestDeviceState getDeviceState ()

Obtenez l'état de l'appareil.

Retour
TestDeviceState

getDeviceTimeOffset

public abstract long getDeviceTimeOffset (Date date)

Aide pour obtenir le décalage horaire entre l'appareil et une ERROR(/Date) donnée ERROR(/Date) . Utilisez l'heure d'époque en interne.

Paramètres
date Date

Retour
long la différence en millisecondes

Jette
DeviceNotAvailableException

getEmulatorOutput

public abstract InputStreamSource getEmulatorOutput ()

Obtenez le flux de l'émulateur stdout et stderr

Retour
InputStreamSource sortie d'émulateur

getExternalStoreFreeSpace

public abstract long getExternalStoreFreeSpace ()

Méthode d'assistance pour déterminer la quantité d'espace libre sur le stockage externe de l'appareil.

Retour
long la quantité d'espace libre en Ko

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

getFastbootProductType

public abstract String getFastbootProductType ()

Méthode pratique pour obtenir le type de produit de cet appareil lorsqu'il est en mode de démarrage rapide.

Cette méthode ne doit être utilisée que si le périphérique doit être en démarrage rapide. C'est une variante un peu plus sûre que la getProductType() générique getProductType() dans ce cas, car ITestDevice saura récupérer le périphérique en démarrage rapide si le périphérique est dans un état incorrect ou ne répond pas.

Retour
String le nom du type de produit String ou null s'il ne peut pas être déterminé

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

getFastbootProductVariant

public abstract String getFastbootProductVariant ()

Méthode pratique pour obtenir le type de produit de cet appareil lorsqu'il est en mode de démarrage rapide.

Cette méthode ne doit être utilisée que si le périphérique doit être en démarrage rapide. C'est une variante un peu plus sûre que la getProductType() générique getProductType() dans ce cas, car ITestDevice saura récupérer le périphérique en démarrage rapide si le périphérique est dans un état incorrect ou ne répond pas.

Retour
String le nom du type de produit String ou null s'il ne peut pas être déterminé

Jette
DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

getFileEntry

public abstract IFileEntry getFileEntry (String path)

Récupérez une référence à un fichier distant sur l'appareil.

Paramètres
path String : le chemin du fichier à récupérer. Peut être un chemin absolu ou un chemin relatif à «/». (c'est-à-dire que la syntaxe "/ system" et "system" est prise en charge)

Retour
IFileEntry IFileEntry ou null si le fichier au path donné est introuvable

Jette
DeviceNotAvailableException

getIDevice

public abstract IDevice getIDevice ()

Renvoie une référence à l'IDevice IDevice associé.

Un nouvel IDevice peut être alloué par DDMS à chaque fois que l'appareil se déconnecte et se reconnecte à adb. Ainsi, les appelants ne doivent pas conserver une référence à l' IDevice , car cette référence peut devenir obsolète.

Retour
IDevice l' IDevice

getLastExpectedRebootTimeMillis

public abstract long getLastExpectedRebootTimeMillis ()

Renvoie la dernière fois que les API Tradefed ont déclenché un redémarrage en millisecondes depuis EPOCH comme renvoyé par System.currentTimeMillis() .

Retour
long

getLogcat

public abstract InputStreamSource getLogcat ()

Récupère un flux instantané des données logcat.

Fonctionne en deux modes:

  • Si le logcat est actuellement capturé en arrière-plan, retournera à TestDeviceOptions#getMaxLogcatDataSize() octets du contenu actuel de la capture de logcat en arrière-plan
  • Sinon, retournera un vidage statique des données logcat si le périphérique répond actuellement

    Retour
    InputStreamSource

  • getLogcat

    public abstract InputStreamSource getLogcat (int maxBytes)

    Récupère un flux instantané des derniers maxBytes des données logcat capturées.

    Utile pour les cas où vous souhaitez capturer des instantanés fréquents des données logcat capturées sans encourir la pénalité potentiellement importante d'espace disque getLogcat() à l'obtention de la totalité de l'instantané getLogcat() .

    Paramètres
    maxBytes int : la quantité maximale de données à renvoyer. Doit être un montant qui peut tenir confortablement dans la mémoire

    Retour
    InputStreamSource

    getLogcatDump

    public abstract InputStreamSource getLogcatDump ()

    Obtenez un vidage du logcat actuel pour le périphérique. Contrairement à getLogcat() , cette méthode retournera toujours un vidage statique du logcat.

    A l'inconvénient que rien ne sera retourné si l'appareil n'est pas joignable.

    Retour
    InputStreamSource a InputStreamSource des données logcat. Un flux vide est renvoyé si la capture des données logcat échoue.

    getLogcatSince

    public abstract InputStreamSource getLogcatSince (long date)

    Récupère un flux instantané des données logcat capturées à partir de la date fournie. L'heure sur l'appareil doit être utilisée avec getDeviceDate() .

    Paramètres
    date long : en millisecondes depuis le format d'époque du moment où démarrer l'instantané jusqu'à ce qu'il soit présent. (peut être obtenu en utilisant 'date +% s')

    Retour
    InputStreamSource

    getMountPoint

    public abstract String getMountPoint (String mountName)

    Renvoie un point de montage.

    Interroge directement le périphérique si les informations mises en cache dans IDevice ne sont pas disponibles.

    TODO: déplacez ce comportement vers IDevice#getMountPoint(String)

    Paramètres
    mountName String : le nom du point de montage

    Retour
    String le point de montage ou null

    getMountPointInfo

    public abstract ITestDevice.MountPointInfo getMountPointInfo (String mountpoint)

    Renvoie un MountPointInfo correspondant au chemin du point de montage spécifié, ou null si ce chemin n'a rien de monté ou n'apparaît pas dans / proc / mounts en tant que point de montage.

    Paramètres
    mountpoint String

    Retour
    ITestDevice.MountPointInfo Une ERROR(/List) de MountPointInfo contenant les informations dans "/ proc / mounts"

    Jette
    DeviceNotAvailableException

    Voir également:

    getMountPointInfo

    public abstract  getMountPointInfo ()

    Renvoie une version analysée des informations dans / proc / mounts sur le périphérique

    Retour
    Une ERROR(/List) de MountPointInfo contenant les informations dans "/ proc / mounts"

    Jette
    DeviceNotAvailableException

    getPartitionFreeSpace

    public abstract long getPartitionFreeSpace (String partition)

    Méthode d'assistance pour déterminer la quantité d'espace libre sur la partition de périphérique.

    Paramètres
    partition String

    Retour
    long la quantité d'espace libre en Ko

    Jette
    DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

    getProcessByName

    public abstract ProcessInfo getProcessByName (String processName)

    La méthode d'assistance exécute la commande "ps" et renvoie USER, PID et NAME du nom de processus donné.

    Paramètres
    processName String

    Retour
    ProcessInfo ProcessInfo du processName donné

    Jette
    DeviceNotAvailableException

    getProcessPid

    public abstract String getProcessPid (String process)

    Renvoie le pid du service ou null en cas de problème.

    Paramètres
    process String

    Retour
    String

    Jette
    DeviceNotAvailableException

    getProcesses

    public abstract  getProcesses ()

    La méthode d'assistance exécute la commande "ps" et renvoie la liste USER, PID et NAME de tous les processus.

    Retour
    Liste des objets ProcessInfo

    Jette
    DeviceNotAvailableException

    getProductType

    public abstract String getProductType ()

    Méthode pratique pour obtenir le type de produit de cet appareil.

    Cette méthode fonctionnera si l'appareil est en mode adb ou fastboot.

    Retour
    String le nom du type de produit String . Ne sera pas nul

    Jette
    DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée, ou si le type de produit ne peut pas être déterminé

    getProductVariant

    public abstract String getProductVariant ()

    Méthode pratique pour obtenir la variante de produit de cet appareil.

    Cette méthode fonctionnera si l'appareil est en mode adb ou fastboot.

    Retour
    String le nom de la variante de produit String ou null s'il ne peut pas être déterminé

    Jette
    DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut pas être récupérée.

    getProperty

    public abstract String getProperty (String name)

    Récupérez la valeur de propriété donnée de l'appareil.

    Paramètres
    name String : le nom de la propriété

    Retour
    String la valeur de la propriété ou null si elle n'existe pas

    Jette
    DeviceNotAvailableException

    getRecoveryMode

    public abstract ITestDevice.RecoveryMode getRecoveryMode ()

    Obtenez le mode de récupération actuel utilisé pour l'appareil.

    Retour
    ITestDevice.RecoveryMode le mode de récupération actuel utilisé pour l'appareil.

    getSerialNumber

    public abstract String getSerialNumber ()

    Méthode pratique pour obtenir le numéro de série de cet appareil.

    Retour
    String le numéro de série de la String

    getTombstones

    public abstract  getTombstones ()

    Récupérez et retournez la liste des pierres tombales des appareils. Nécessite la racine.

    est le meilleur effort, donc si une pierre tombale ne parvient pas à être extraite pour une raison quelconque, elle sera absente de la liste. Seule une DeviceNotAvailableException mettra fin à la méthode prématurément.

    Retour
    Une liste de fichiers tombstone, vide si aucune pierre tombale.

    Jette
    DeviceNotAvailableException

    getTotalMemory

    public abstract long getTotalMemory ()

    Renvoie la taille totale de la mémoire physique en octets ou -1 en cas d'erreur interne

    Retour
    long

    getUseFastbootErase

    public abstract boolean getUseFastbootErase ()

    Déterminez s'il faut utiliser l'effacement ou le format de démarrage rapide pour effacer une partition sur l'appareil.

    Retour
    boolean true si l'effacement fastboot sera utilisé ou false si le format fastboot sera utilisé.

    isAdbRoot

    public abstract boolean isAdbRoot ()

    Retour
    boolean true si le périphérique a actuellement adb root, false sinon.

    Jette
    DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut être récupérée.

    isAdbTcp

    public abstract boolean isAdbTcp ()

    Retour
    boolean true si le périphérique est connecté à adb-over-tcp, false cas contraire.

    isDeviceEncrypted

    public abstract boolean isDeviceEncrypted ()

    Renvoie si l'appareil est chiffré.

    Retour
    boolean true si l'appareil est chiffré.

    Jette
    DeviceNotAvailableException si la connexion avec l'appareil est perdue et ne peut être récupérée.

    isDirectory

    public abstract boolean isDirectory (String deviceFilePath)

    Renvoie True si le chemin sur le périphérique est un répertoire, false dans le cas contraire.

    Paramètres
    deviceFilePath String

    Retour
    boolean

    Jette
    DeviceNotAvailableException

    isEncryptionSupported

    public abstract boolean isEncryptionSupported ()

    Renvoie si le cryptage est pris en charge sur l'appareil.

    Retour
    boolean true si l'appareil prend en charge le chiffrement.

    Jette
    DeviceNotAvailableException

    isExecutable

    public abstract boolean isExecutable (String fullPath)

    Renvoie True si le chemin du fichier sur le périphérique est un fichier exécutable, False dans le cas contraire.

    Paramètres
    fullPath String

    Retour
    boolean

    Jette
    DeviceNotAvailableException

    isHeadless

    public abstract boolean isHeadless ()

    Renvoie true si l'appareil est sans tête (pas d'écran), false dans le cas contraire.

    Retour
    boolean

    Jette
    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.