AndroidDebugBridge
public
class
AndroidDebugBridge
extends Object
| java.lang.Object | |
| ↳ | com.android.tradefed.device.server.AndroidDebugBridge |
Une connexion à Android Debug Bridge (adb) côté hôte
Il s'agit du point central pour communiquer avec les appareils, les émulateurs ou les applications qui y sont exécutées.
init(boolean) doit être appelé avant toute autre action.
Résumé
Classes imbriquées | |
|---|---|
interface |
AndroidDebugBridge.IClientChangeListener
Les classes qui implémentent cette interface fournissent des méthodes qui traitent les modifications |
interface |
AndroidDebugBridge.IDebugBridgeChangeListener
Les classes qui implémentent cette interface fournissent une méthode qui gère les modifications |
interface |
AndroidDebugBridge.IDeviceChangeListener
Les classes qui implémentent cette interface fournissent des méthodes qui traitent l'ajout, la suppression et les modifications de |
Constantes | |
|---|---|
int |
DEFAULT_START_ADB_TIMEOUT_MILLIS
Délai d'expiration par défaut utilisé lors du démarrage du serveur ADB |
Champs | |
|---|---|
public
static
final
AdbVersion |
MIN_ADB_VERSION
Version minimale et maximale d'adb acceptée. |
Méthodes publiques | |
|---|---|
static
void
|
addClientChangeListener(AndroidDebugBridge.IClientChangeListener listener)
Ajoute l'écouteur à la collection d'écouteurs qui seront avertis lorsqu'une propriété |
static
void
|
addDebugBridgeChangeListener(AndroidDebugBridge.IDebugBridgeChangeListener listener)
Ajoute l'écouteur à la collection d'écouteurs qui seront avertis lorsqu'un nouveau |
static
void
|
addDeviceChangeListener(AndroidDebugBridge.IDeviceChangeListener listener)
Ajoute l'écouteur à la collection d'écouteurs qui seront avertis lorsqu'un |
static
void
|
clientChanged(ClientImpl client, int changeMask)
Avertissez l'écouteur d'un |
static
AndroidDebugBridge
|
createBridge(long timeout, TimeUnit unit)
Crée un |
static
AndroidDebugBridge
|
createBridge(String osLocation, boolean forceNewBridge)
Cette méthode est obsolète.
Cette méthode peut se bloquer si ADB ne répond pas. Utilisez plutôt |
static
AndroidDebugBridge
|
createBridge()
Cette méthode est obsolète.
Cette méthode peut se bloquer si ADB ne répond pas. Utilisez plutôt |
static
AndroidDebugBridge
|
createBridge(String osLocation, boolean forceNewBridge, long timeout, TimeUnit unit)
Crée un pont de débogage à partir de l'emplacement de l'outil de ligne de commande. |
static
void
|
deviceChanged(IDevice device, int changeMask)
Avertissez l'écouteur d'un |
static
void
|
deviceConnected(IDevice device)
Notifier l'auditeur d'un nouveau |
static
void
|
deviceDisconnected(IDevice device)
Avertissez l'écouteur d'un |
static
void
|
disableFakeAdbServerMode()
|
static
void
|
disconnectBridge()
Cette méthode est obsolète.
Cette méthode peut se bloquer si ADB ne répond pas. Utilisez plutôt |
static
boolean
|
disconnectBridge(long timeout, TimeUnit unit)
Déconnecte le pont de débogage actuel et détruit l'objet. |
static
void
|
enableFakeAdbServerMode(int port)
|
static
ListenableFuture<AdbVersion>
|
getAdbVersion(File adb)
|
static
AndroidDebugBridge
|
getBridge()
Renvoie le pont de débogage actuel. |
static
boolean
|
getClientSupport()
Indique si ddmlib est configuré pour surveiller et interagir avec les |
int
|
getConnectionAttemptCount()
Renvoie le nombre de fois où l'objet |
static
int
|
getDebugBridgeChangeListenerCount()
|
static
int
|
getDeviceChangeListenerCount()
|
IDevice[]
|
getDevices()
Retourne les appareils. |
ListenableFuture<
|
getRawDeviceList()
Renvoie l'ensemble des appareils signalés par la ligne de commande adb. |
int
|
getRestartAttemptCount()
Renvoie le nombre de fois où l'objet |
static
InetSocketAddress
|
getSocketAddress()
Cette méthode est obsolète.
Cette méthode renvoie une adresse de serveur de bouclage qui peut ne pas correspondre à celle utilisée par le serveur ADB. Par exemple, la JVM peut être en mode IPv4 alors que le serveur ADB est hébergé sur l'adresse de bouclage IPv6. Préférez |
static
ListenableFuture<String>
|
getVirtualDeviceId(ListeningExecutorService service, File adb, IDevice device)
|
boolean
|
hasInitialDeviceList()
Indique si le pont a acquis la liste initiale à partir d'adb après sa création. |
static
void
|
init(AdbInitOptions options)
Semblable à |
static
void
|
init(boolean clientSupport)
Initialise la bibliothèque |
static
void
|
init(boolean clientSupport, boolean useLibusb,
Semblable à |
static
void
|
initIfNeeded(boolean clientSupport)
La bibliothèque n'est initialisée que si nécessaire. Elle est obsolète pour les utilisations non liées aux tests. |
boolean
|
isConnected()
Indique si l'objet |
static
boolean
|
isUserManagedAdbMode()
|
static
SocketChannel
|
openConnection()
Tente de se connecter au serveur Android Debug Bridge local. |
static
void
|
removeClientChangeListener(AndroidDebugBridge.IClientChangeListener listener)
Supprime l'écouteur de la collection d'écouteurs qui seront avertis lorsqu'une propriété |
static
void
|
removeDebugBridgeChangeListener(AndroidDebugBridge.IDebugBridgeChangeListener listener)
Supprime l'écouteur de la collection d'écouteurs qui seront avertis lorsqu'un nouveau |
static
void
|
removeDeviceChangeListener(AndroidDebugBridge.IDeviceChangeListener listener)
Supprime l'écouteur de la collection d'écouteurs qui seront avertis lorsqu'un |
boolean
|
restart(long timeout, TimeUnit unit)
Redémarre adb, mais pas les services associés. |
boolean
|
restart()
Cette méthode est obsolète.
Cette méthode peut se bloquer si ADB ne répond pas. Utilisez plutôt |
boolean
|
startAdb(long timeout, TimeUnit unit)
Démarre le serveur côté hôte adb. |
static
void
|
terminate()
Arrête la bibliothèque DDM. |
Constantes
DEFAULT_START_ADB_TIMEOUT_MILLIS
public static final int DEFAULT_START_ADB_TIMEOUT_MILLIS
Délai d'expiration par défaut utilisé lors du démarrage du serveur ADB
Valeur constante : 20000 (0x00004e20)
Champs
MIN_ADB_VERSION
public static final AdbVersion MIN_ADB_VERSION
Version minimale et maximale d'adb acceptée. Cela correspond à ADB_SERVER_VERSION trouvé dans //device/tools/adb/adb.h
Méthodes publiques
addClientChangeListener
public static void addClientChangeListener (AndroidDebugBridge.IClientChangeListener listener)
Ajoute l'écouteur à la collection d'écouteurs qui seront avertis lorsqu'une propriété ClientImpl a changé, en lui envoyant l'un des messages définis dans l'interface IClientChangeListener.
| Paramètres | |
|---|---|
listener |
AndroidDebugBridge.IClientChangeListener : écouteur à notifier. |
addDebugBridgeChangeListener
public static void addDebugBridgeChangeListener (AndroidDebugBridge.IDebugBridgeChangeListener listener)
Ajoute l'écouteur à la collection d'écouteurs qui seront avertis lorsqu'un nouveau AndroidDebugBridge est connecté, en lui envoyant l'un des messages définis dans l'interface IDebugBridgeChangeListener.
| Paramètres | |
|---|---|
listener |
AndroidDebugBridge.IDebugBridgeChangeListener : écouteur à notifier. |
addDeviceChangeListener
public static void addDeviceChangeListener (AndroidDebugBridge.IDeviceChangeListener listener)
Ajoute l'écouteur à la collection d'écouteurs qui seront avertis lorsqu'un IDevice est connecté ou déconnecté, ou lorsque ses propriétés ou sa liste ClientImpl ont changé, en lui envoyant l'un des messages définis dans l'interface IDeviceChangeListener.
| Paramètres | |
|---|---|
listener |
AndroidDebugBridge.IDeviceChangeListener : écouteur à notifier. |
clientChanged
public static void clientChanged (ClientImpl client, int changeMask)
Avertissez l'écouteur d'un ClientImpl modifié.
La notification des écouteurs est effectuée dans un bloc synchronisé. Il est important de s'attendre à ce que les écouteurs puissent accéder à différentes méthodes de IDevice ainsi qu'à getDevices() qui utilisent des verrous internes.
| Paramètres | |
|---|---|
client |
ClientImpl : Client modifié. |
changeMask |
int : masque indiquant ce qui a changé dans Client |
createBridge
public static AndroidDebugBridge createBridge (long timeout, TimeUnit unit)
Crée un AndroidDebugBridge qui n'est lié à aucun exécutable particulier.
Ce pont s'attend à ce qu'adb soit en cours d'exécution. Il ne pourra pas démarrer, arrêter ni redémarrer adb.
Si un pont a déjà été démarré, il est renvoyé directement sans aucune modification (comme si vous appeliez getBridge()).
| Paramètres | |
|---|---|
timeout |
long |
unit |
TimeUnit |
| Renvoie | |
|---|---|
AndroidDebugBridge |
un pont connecté, ou null si des erreurs se sont produites lors de la création ou de la connexion au pont. |
createBridge
public static AndroidDebugBridge createBridge (String osLocation, boolean forceNewBridge)
Cette méthode est obsolète.
Cette méthode peut se bloquer si ADB ne répond pas. Utilisez createBridge(String, boolean, long, TimeUnit) à la place.
Crée un pont de débogage à partir de l'emplacement de l'outil de ligne de commande.
Tout serveur existant sera déconnecté, sauf si l'emplacement est le même et que
forceNewBridge est défini sur "false".
| Paramètres | |
|---|---|
osLocation |
String : emplacement de l'outil de ligne de commande "adb". |
forceNewBridge |
boolean : force la création d'un pont, même si un pont avec le même emplacement existe déjà. |
| Renvoie | |
|---|---|
AndroidDebugBridge |
un pont connecté, ou null si des erreurs se sont produites lors de la création ou de la connexion au pont. |
createBridge
public static AndroidDebugBridge createBridge ()
Cette méthode est obsolète.
Cette méthode peut se bloquer si ADB ne répond pas. Utilisez createBridge(long, TimeUnit) à la place.
Crée un AndroidDebugBridge qui n'est lié à aucun exécutable particulier.
Ce pont s'attend à ce qu'adb soit en cours d'exécution. Il ne pourra pas démarrer, arrêter ni redémarrer adb.
Si un pont a déjà été démarré, il est renvoyé directement sans aucune modification (comme si vous appeliez getBridge()).
| Renvoie | |
|---|---|
AndroidDebugBridge |
un pont connecté, ou null si des erreurs se sont produites lors de la création ou de la connexion au pont. |
createBridge
public static AndroidDebugBridge createBridge (String osLocation, boolean forceNewBridge, long timeout, TimeUnit unit)
Crée un pont de débogage à partir de l'emplacement de l'outil de ligne de commande.
Tout serveur existant sera déconnecté, sauf si l'emplacement est le même et que
forceNewBridge est défini sur "false".
| Paramètres | |
|---|---|
osLocation |
String : emplacement de l'outil de ligne de commande "adb". |
forceNewBridge |
boolean : force la création d'un pont, même si un pont avec le même emplacement existe déjà. |
timeout |
long : temps d'attente maximal |
unit |
TimeUnit : unité de temps de l'argument timeout |
| Renvoie | |
|---|---|
AndroidDebugBridge |
un pont connecté, ou null si des erreurs se sont produites lors de la création ou de la connexion au pont. |
deviceChanged
public static void deviceChanged (IDevice device, int changeMask)
Avertissez l'écouteur d'un IDevice modifié.
La notification des écouteurs est effectuée dans un bloc synchronisé. Il est important de s'attendre à ce que les écouteurs puissent accéder à différentes méthodes de IDevice ainsi qu'à getDevices() qui utilisent des verrous internes.
| Paramètres | |
|---|---|
device |
IDevice : IDevice modifié. |
changeMask |
int |
deviceConnected
public static void deviceConnected (IDevice device)
Notifier l'auditeur d'un nouveau IDevice.
La notification des écouteurs est effectuée dans un bloc synchronisé. Il est important de s'attendre à ce que les écouteurs puissent accéder à différentes méthodes de IDevice ainsi qu'à getDevices() qui utilisent des verrous internes.
| Paramètres | |
|---|---|
device |
IDevice : le nouveau IDevice. |
deviceDisconnected
public static void deviceDisconnected (IDevice device)
Avertissez l'écouteur d'un IDevice déconnecté.
La notification des écouteurs est effectuée dans un bloc synchronisé. Il est important de s'attendre à ce que les écouteurs puissent accéder à différentes méthodes de IDevice ainsi qu'à getDevices() qui utilisent des verrous internes.
| Paramètres | |
|---|---|
device |
IDevice : IDevice déconnecté. |
disableFakeAdbServerMode
public static void disableFakeAdbServerMode ()
disconnectBridge
public static void disconnectBridge ()
Cette méthode est obsolète.
Cette méthode peut se bloquer si ADB ne répond pas. Utilisez disconnectBridge(long, TimeUnit) à la place.
Déconnecte le pont de débogage actuel et détruit l'objet. Un nouvel objet devra être créé avec createBridge(String, boolean).
Cela arrête également le serveur hôte adb actuel.
disconnectBridge
public static boolean disconnectBridge (long timeout,
TimeUnit unit)Déconnecte le pont de débogage actuel et détruit l'objet. Un nouvel objet devra être créé avec createBridge(String, boolean).
Cela arrête également le serveur hôte adb actuel.
| Paramètres | |
|---|---|
timeout |
long |
unit |
TimeUnit |
| Renvoie | |
|---|---|
boolean |
true si la méthode réussit dans le délai spécifié. |
enableFakeAdbServerMode
public static void enableFakeAdbServerMode (int port)
| Paramètres | |
|---|---|
port |
int |
getAdbVersion
public static ListenableFuture<AdbVersion> getAdbVersion (File adb)
| Paramètres | |
|---|---|
adb |
File |
| Renvoie | |
|---|---|
ListenableFuture<AdbVersion> |
|
getBridge
public static AndroidDebugBridge getBridge ()
Renvoie le pont de débogage actuel. Peut être null si aucun n'a été créé.
| Renvoie | |
|---|---|
AndroidDebugBridge |
|
getClientSupport
public static boolean getClientSupport ()
Indique si ddmlib est configuré pour surveiller les ClientImpl exécutés sur les IDevice et interagir avec eux.
| Renvoie | |
|---|---|
boolean |
|
getConnectionAttemptCount
public int getConnectionAttemptCount ()
Renvoie le nombre de fois où l'objet AndroidDebugBridge a tenté de se connecter au démon adb.
| Renvoie | |
|---|---|
int |
|
getDebugBridgeChangeListenerCount
public static int getDebugBridgeChangeListenerCount ()
| Renvoie | |
|---|---|
int |
|
getDeviceChangeListenerCount
public static int getDeviceChangeListenerCount ()
| Renvoie | |
|---|---|
int |
|
getRawDeviceList
public ListenableFuture<> getRawDeviceList ()
Renvoie l'ensemble des appareils signalés par la ligne de commande adb. Cette méthode est principalement destinée à l'assistant de connexion ou à d'autres outils de diagnostic qui doivent valider l'état de la liste getDevices() via un autre canal. Le code qui n'a besoin que d'accéder à la liste des appareils doit appeler getDevices() à la place.
| Renvoie | |
|---|---|
ListenableFuture< |
|
getRestartAttemptCount
public int getRestartAttemptCount ()
Renvoie le nombre de fois où l'objet AndroidDebugBridge a tenté de redémarrer le daemon adb.
| Renvoie | |
|---|---|
int |
|
getSocketAddress
public static InetSocketAddress getSocketAddress ()
Cette méthode est obsolète.
Cette méthode renvoie une adresse de serveur de bouclage qui ne correspond pas forcément à celle utilisée par le serveur ADB. Par exemple, la JVM peut être en mode IPv4 alors que le serveur ADB est hébergé sur l'adresse de bouclage IPv6. Préférez openConnection() lors de l'ouverture d'une connexion au serveur ADB.
Renvoie l'adresse du socket du serveur ADB sur l'hôte.
Cette méthode tentera de renvoyer une adresse de socket qui fonctionne en ouvrant un canal de socket vers le serveur ADB. Les adresses de bouclage IPv4 et IPv6 seront utilisées. Si aucun des deux ne peut se connecter, cette méthode renvoie l'adresse de bouclage préférée par la JVM. Cette logique de secours est nécessaire pour éviter toute défaillance de l'API.
Si le mode faux serveur ADB est activé, cette méthode reviendra automatiquement à l'ancienne implémentation sans tenter de se connecter à ADB.
| Renvoie | |
|---|---|
InetSocketAddress |
|
getVirtualDeviceId
public static ListenableFuture<String> getVirtualDeviceId (ListeningExecutorService service,
File adb,
IDevice device)| Paramètres | |
|---|---|
service |
ListeningExecutorService |
adb |
File |
device |
IDevice |
| Renvoie | |
|---|---|
ListenableFuture<String> |
|
hasInitialDeviceList
public boolean hasInitialDeviceList ()
Indique si le pont a acquis la liste initiale à partir d'adb après sa création.
L'appel de getDevices() juste après createBridge(String, boolean) génère généralement une liste vide. Cela est dû au mécanisme de communication asynchrone interne avec adb, qui ne garantit pas que la liste IDevice a été créée avant l'appel à getDevices().
La méthode recommandée pour obtenir la liste des objets IDevice consiste à créer un objet IDeviceChangeListener.
| Renvoie | |
|---|---|
boolean |
|
init
public static void init (AdbInitOptions options)
Semblable à init(boolean), avec la possibilité de transmettre un ensemble personnalisé de variables d'environnement.
| Paramètres | |
|---|---|
options |
AdbInitOptions |
init
public static void init (boolean clientSupport)
Initialise la bibliothèque ddm.
Cette méthode doit être appelée une seule fois avant tout appel à createBridge(String, boolean).
Les préférences de ddmlib doivent également être initialisées avec les valeurs par défaut qui ont été modifiées.
Lorsque l'application quitte, terminate() doit être appelé.
| Paramètres | |
|---|---|
clientSupport |
boolean : indique si la bibliothèque doit activer la surveillance et l'interaction avec les applications s'exécutant sur les appareils. |
Voir aussi :
init
public static void init (boolean clientSupport,
boolean useLibusb,
env) Semblable à init(boolean), avec la possibilité d'activer libusb et de transmettre un ensemble personnalisé de variables d'environnement.
| Paramètres | |
|---|---|
clientSupport |
boolean |
useLibusb |
boolean |
env |
|
initIfNeeded
public static void initIfNeeded (boolean clientSupport)
La bibliothèque n'est initialisée que si nécessaire. Elle est obsolète pour les utilisations non liées aux tests.
| Paramètres | |
|---|---|
clientSupport |
boolean : indique si la bibliothèque doit activer la surveillance et l'interaction avec les applications s'exécutant sur les appareils. |
Voir aussi :
isConnected
public boolean isConnected ()
Indique si l'objet AndroidDebugBridge est toujours connecté au démon adb.
| Renvoie | |
|---|---|
boolean |
|
isUserManagedAdbMode
public static boolean isUserManagedAdbMode ()
| Renvoie | |
|---|---|
boolean |
Si vous utilisez le mode ADB géré par l'utilisateur, ddmlib ne gérera pas le serveur ADB et ne devrait pas le faire. |
openConnection
public static SocketChannel openConnection ()
Tente de se connecter au serveur Android Debug Bridge local.
| Renvoie | |
|---|---|
SocketChannel |
une socket connectée en cas de succès. |
| Génère | |
|---|---|
|
en cas d'erreur lors de l'ouverture de la connexion. |
removeClientChangeListener
public static void removeClientChangeListener (AndroidDebugBridge.IClientChangeListener listener)
Supprime l'écouteur de la collection d'écouteurs qui seront avertis lorsqu'une propriété ClientImpl change.
| Paramètres | |
|---|---|
listener |
AndroidDebugBridge.IClientChangeListener : écouteur qui ne doit plus recevoir de notifications. |
removeDebugBridgeChangeListener
public static void removeDebugBridgeChangeListener (AndroidDebugBridge.IDebugBridgeChangeListener listener)
Supprime l'écouteur de la collection d'écouteurs qui seront avertis lorsqu'un nouveau AndroidDebugBridge est démarré.
| Paramètres | |
|---|---|
listener |
AndroidDebugBridge.IDebugBridgeChangeListener : écouteur qui ne doit plus recevoir de notifications. |
removeDeviceChangeListener
public static void removeDeviceChangeListener (AndroidDebugBridge.IDeviceChangeListener listener)
Supprime l'écouteur de la collection d'écouteurs qui seront avertis lorsqu'un IDevice est connecté ou déconnecté, ou lorsque ses propriétés ou sa liste ClientImpl ont changé.
| Paramètres | |
|---|---|
listener |
AndroidDebugBridge.IDeviceChangeListener : écouteur qui ne doit plus recevoir de notifications. |
redémarrer
public boolean restart (long timeout,
TimeUnit unit)Redémarre adb, mais pas les services associés.
| Paramètres | |
|---|---|
timeout |
long |
unit |
TimeUnit |
| Renvoie | |
|---|---|
boolean |
"True" en cas de réussite. |
redémarrer
public boolean restart ()
Cette méthode est obsolète.
Cette méthode peut se bloquer si ADB ne répond pas. Utilisez restart(long, TimeUnit) à la place.
Redémarre adb, mais pas les services associés.
| Renvoie | |
|---|---|
boolean |
"True" en cas de réussite. |
startAdb
public boolean startAdb (long timeout,
TimeUnit unit)Démarre le serveur côté hôte adb. Cette méthode ne doit pas être utilisée lorsque vous utilisez un serveur ADB géré par l'utilisateur, car le cycle de vie du serveur doit être géré par l'utilisateur, et non par ddmlib.
| Paramètres | |
|---|---|
timeout |
long |
unit |
TimeUnit |
| Renvoie | |
|---|---|
boolean |
"true" en cas de réussite |
finis
public static void terminate ()
Arrête la bibliothèque DDM. Cette méthode doit être appelée à la fin de l'application.