AndroidDebugBridge
public
class
AndroidDebugBridge
extends Object
| java.lang.Object | |
| ↳ | com.android.tradefed.device.server.AndroidDebugBridge |
połączenie z narzędziem Android Debug Bridge (adb) po stronie hosta;
Jest to centralny punkt komunikacji z dowolnymi urządzeniami, emulatorami lub aplikacjami działającymi na tych urządzeniach.
init(boolean) musi zostać wywołana przed wykonaniem jakichkolwiek działań.
Podsumowanie
Zagnieżdżone klasy | |
|---|---|
interface |
AndroidDebugBridge.IClientChangeListener
Klasy, które implementują ten interfejs, udostępniają metody obsługujące zmiany |
interface |
AndroidDebugBridge.IDebugBridgeChangeListener
Klasy, które implementują ten interfejs, udostępniają metodę obsługującą zmiany |
interface |
AndroidDebugBridge.IDeviceChangeListener
Klasy, które implementują ten interfejs, udostępniają metody obsługujące |
Stałe | |
|---|---|
int |
DEFAULT_START_ADB_TIMEOUT_MILLIS
Domyślny limit czasu używany podczas uruchamiania serwera ADB |
Fieldsem | |
|---|---|
public
static
final
AdbVersion |
MIN_ADB_VERSION
Minimalna i maksymalna obsługiwana wersja adb. |
Metody publiczne | |
|---|---|
static
void
|
addClientChangeListener(AndroidDebugBridge.IClientChangeListener listener)
Dodaje odbiorcę do kolekcji odbiorców, którzy będą otrzymywać powiadomienia o zmianie właściwości |
static
void
|
addDebugBridgeChangeListener(AndroidDebugBridge.IDebugBridgeChangeListener listener)
Dodaje odbiorcę do kolekcji odbiorców, którzy będą otrzymywać powiadomienia o połączeniu nowego urządzenia |
static
void
|
addDeviceChangeListener(AndroidDebugBridge.IDeviceChangeListener listener)
Dodaje odbiorcę do kolekcji odbiorców, którzy będą otrzymywać powiadomienia o połączeniu lub rozłączeniu |
static
void
|
clientChanged(ClientImpl client, int changeMask)
Powiadom słuchacza o zmodyfikowanym |
static
AndroidDebugBridge
|
createBridge(long timeout, TimeUnit unit)
Tworzy |
static
AndroidDebugBridge
|
createBridge(String osLocation, boolean forceNewBridge)
Ta metoda została wycofana.
Jeśli ADB nie odpowiada, ta metoda może się zawiesić. Użyj w zamian zasady |
static
AndroidDebugBridge
|
createBridge()
Ta metoda została wycofana.
Jeśli ADB nie odpowiada, ta metoda może się zawiesić. Użyj w zamian zasady |
static
AndroidDebugBridge
|
createBridge(String osLocation, boolean forceNewBridge, long timeout, TimeUnit unit)
Tworzy nowy most debugowania z lokalizacji narzędzia wiersza poleceń. |
static
void
|
deviceChanged(IDevice device, int changeMask)
Powiadom słuchacza o zmodyfikowanym |
static
void
|
deviceConnected(IDevice device)
Powiadom słuchacza o nowym |
static
void
|
deviceDisconnected(IDevice device)
Powiadom odbiorcę o odłączeniu |
static
void
|
disableFakeAdbServerMode()
|
static
void
|
disconnectBridge()
Ta metoda została wycofana.
Jeśli ADB nie odpowiada, ta metoda może się zawiesić. Użyj w zamian zasady |
static
boolean
|
disconnectBridge(long timeout, TimeUnit unit)
Odłącza bieżący most debugowania i usuwa obiekt. |
static
void
|
enableFakeAdbServerMode(int port)
|
static
ListenableFuture<AdbVersion>
|
getAdbVersion(File adb)
|
static
AndroidDebugBridge
|
getBridge()
Zwraca bieżący most debugowania. |
static
boolean
|
getClientSupport()
Zwraca informację, czy biblioteka ddmlib jest skonfigurowana do obsługi monitorowania i interakcji z |
int
|
getConnectionAttemptCount()
Zwraca liczbę prób połączenia obiektu |
static
int
|
getDebugBridgeChangeListenerCount()
|
static
int
|
getDeviceChangeListenerCount()
|
IDevice[]
|
getDevices()
Zwraca urządzenia. |
ListenableFuture<
|
getRawDeviceList()
Zwraca zestaw urządzeń zgłoszonych przez wiersz poleceń adb. |
int
|
getRestartAttemptCount()
Zwraca liczbę prób ponownego uruchomienia demona adb przez obiekt |
static
InetSocketAddress
|
getSocketAddress()
Ta metoda została wycofana.
Ta metoda zwraca adres serwera zwrotnego, który może nie pasować do adresu używanego przez serwer ADB. Na przykład JVM może być w trybie IPv4, a serwer ADB może być hostowany pod adresem zwrotnym IPv6. Preferuj |
static
ListenableFuture<String>
|
getVirtualDeviceId(ListeningExecutorService service, File adb, IDevice device)
|
boolean
|
hasInitialDeviceList()
Zwraca informację, czy po utworzeniu mostu pobrał on z adb początkową listę. |
static
void
|
init(AdbInitOptions options)
Podobne do |
static
void
|
init(boolean clientSupport)
Inicjuje bibliotekę |
static
void
|
init(boolean clientSupport, boolean useLibusb,
Podobna do |
static
void
|
initIfNeeded(boolean clientSupport)
Inicjowanie biblioteki tylko w razie potrzeby; wycofane w przypadku zastosowań nietestowych. |
boolean
|
isConnected()
Zwraca informację, czy obiekt |
static
boolean
|
isUserManagedAdbMode()
|
static
SocketChannel
|
openConnection()
Próbuje połączyć się z lokalnym serwerem Android Debug Bridge. |
static
void
|
removeClientChangeListener(AndroidDebugBridge.IClientChangeListener listener)
Usuwa odbiorcę z kolekcji odbiorców, którzy będą powiadamiani o zmianach właściwości |
static
void
|
removeDebugBridgeChangeListener(AndroidDebugBridge.IDebugBridgeChangeListener listener)
Usuwa odbiorcę z kolekcji odbiorców, którzy będą otrzymywać powiadomienia o rozpoczęciu nowego |
static
void
|
removeDeviceChangeListener(AndroidDebugBridge.IDeviceChangeListener listener)
Usuwa odbiorcę z kolekcji odbiorców, którzy będą otrzymywać powiadomienia o połączeniu lub odłączeniu |
boolean
|
restart(long timeout, TimeUnit unit)
Ponownie uruchamia adb, ale nie usługi powiązane. |
boolean
|
restart()
Ta metoda została wycofana.
Jeśli ADB nie odpowiada, ta metoda może się zawiesić. Użyj w zamian zasady |
boolean
|
startAdb(long timeout, TimeUnit unit)
Uruchamia serwer po stronie hosta adb. |
static
void
|
terminate()
Kończy działanie biblioteki DDM. |
Stałe
DEFAULT_START_ADB_TIMEOUT_MILLIS
public static final int DEFAULT_START_ADB_TIMEOUT_MILLIS
Domyślny limit czasu używany podczas uruchamiania serwera ADB
Wartość stała: 20000 (0x00004e20)
Fieldsem
MIN_ADB_VERSION
public static final AdbVersion MIN_ADB_VERSION
Minimalna i maksymalna obsługiwana wersja adb. Odpowiada to zmiennej ADB_SERVER_VERSION w pliku //device/tools/adb/adb.h
Metody publiczne
addClientChangeListener
public static void addClientChangeListener (AndroidDebugBridge.IClientChangeListener listener)
Dodaje odbiorcę do kolekcji odbiorców, którzy będą otrzymywać powiadomienia o zmianie właściwości ClientImpl. Powiadomienia te będą wysyłane w postaci jednego z komunikatów zdefiniowanych w interfejsie IClientChangeListener.
| Parametry | |
|---|---|
listener |
AndroidDebugBridge.IClientChangeListener: odbiornik, który ma otrzymać powiadomienie. |
addDebugBridgeChangeListener
public static void addDebugBridgeChangeListener (AndroidDebugBridge.IDebugBridgeChangeListener listener)
Dodaje odbiorcę do kolekcji odbiorców, którzy będą otrzymywać powiadomienia o połączeniu nowego urządzenia AndroidDebugBridge, wysyłając do niego jedną z wiadomości zdefiniowanych w interfejsie IDebugBridgeChangeListener.
| Parametry | |
|---|---|
listener |
AndroidDebugBridge.IDebugBridgeChangeListener: odbiornik, który ma otrzymać powiadomienie. |
addDeviceChangeListener
public static void addDeviceChangeListener (AndroidDebugBridge.IDeviceChangeListener listener)
Dodaje odbiorcę do kolekcji odbiorców, którzy będą otrzymywać powiadomienia o połączeniu lub rozłączeniu IDevice, a także o zmianach jego właściwości lub listy ClientImpl. W tym celu wysyła do niego jedną z wiadomości zdefiniowanych w interfejsie IDeviceChangeListener.
| Parametry | |
|---|---|
listener |
AndroidDebugBridge.IDeviceChangeListener: odbiornik, który ma otrzymać powiadomienie. |
clientChanged
public static void clientChanged (ClientImpl client, int changeMask)
Powiadom słuchacza o zmodyfikowanym ClientImpl.
Powiadamianie odbiorców odbywa się w zsynchronizowanym bloku. Pamiętaj, że słuchacze mogą korzystać z różnych metod IDevice oraz getDevices(), które używają wewnętrznych blokad.
| Parametry | |
|---|---|
client |
ClientImpl: zmodyfikowany Client. |
changeMask |
int: maska wskazująca, co się zmieniło w Client |
createBridge
public static AndroidDebugBridge createBridge (long timeout, TimeUnit unit)
Tworzy AndroidDebugBridge, który nie jest połączony z żadnym konkretnym plikiem wykonywalnym.
Most będzie oczekiwać, że adb będzie działać. Nie będzie można uruchamiać, zatrzymywać ani ponownie uruchamiać ADB.
Jeśli most został już utworzony, jest zwracany bezpośrednio bez zmian (podobnie jak w przypadku wywołania funkcji getBridge()).
| Parametry | |
|---|---|
timeout |
long |
unit |
TimeUnit |
| Zwroty | |
|---|---|
AndroidDebugBridge |
połączony mostek lub wartość null, jeśli podczas tworzenia mostka lub łączenia się z nim wystąpiły błędy. |
createBridge
public static AndroidDebugBridge createBridge (String osLocation, boolean forceNewBridge)
Ta metoda została wycofana.
Jeśli ADB nie odpowiada, ta metoda może się zawiesić. Zamiast niej użyj zasady createBridge(String, boolean, long, TimeUnit).
Tworzy nowy most debugowania z lokalizacji narzędzia wiersza poleceń.
Wszystkie istniejące serwery zostaną odłączone, chyba że lokalizacja jest taka sama, a wartość parametru
forceNewBridge to fałsz.
| Parametry | |
|---|---|
osLocation |
String: lokalizacja narzędzia wiersza poleceń „adb” |
forceNewBridge |
boolean: wymusza utworzenie nowego mostu, nawet jeśli istnieje już most w tej samej lokalizacji. |
| Zwroty | |
|---|---|
AndroidDebugBridge |
połączony mostek lub wartość null, jeśli podczas tworzenia mostka lub łączenia się z nim wystąpiły błędy. |
createBridge
public static AndroidDebugBridge createBridge ()
Ta metoda została wycofana.
Jeśli ADB nie odpowiada, ta metoda może się zawiesić. Zamiast niej użyj zasady createBridge(long, TimeUnit).
Tworzy AndroidDebugBridge, który nie jest połączony z żadnym konkretnym plikiem wykonywalnym.
Most będzie oczekiwać, że adb będzie działać. Nie będzie można uruchamiać, zatrzymywać ani ponownie uruchamiać ADB.
Jeśli most został już utworzony, jest zwracany bezpośrednio bez zmian (podobnie jak w przypadku wywołania funkcji getBridge()).
| Zwroty | |
|---|---|
AndroidDebugBridge |
połączony mostek lub wartość null, jeśli podczas tworzenia mostka lub łączenia się z nim wystąpiły błędy. |
createBridge
public static AndroidDebugBridge createBridge (String osLocation, boolean forceNewBridge, long timeout, TimeUnit unit)
Tworzy nowy most debugowania z lokalizacji narzędzia wiersza poleceń.
Wszystkie istniejące serwery zostaną odłączone, chyba że lokalizacja jest taka sama, a wartość parametru
forceNewBridge to fałsz.
| Parametry | |
|---|---|
osLocation |
String: lokalizacja narzędzia wiersza poleceń „adb” |
forceNewBridge |
boolean: wymusza utworzenie nowego mostu, nawet jeśli istnieje już most w tej samej lokalizacji. |
timeout |
long: maksymalny czas oczekiwania |
unit |
TimeUnit: jednostka czasu argumentu timeout |
| Zwroty | |
|---|---|
AndroidDebugBridge |
połączony mostek lub wartość null, jeśli podczas tworzenia mostka lub łączenia się z nim wystąpiły błędy. |
deviceChanged
public static void deviceChanged (IDevice device, int changeMask)
Powiadom słuchacza o zmodyfikowanym IDevice.
Powiadamianie odbiorców odbywa się w zsynchronizowanym bloku. Pamiętaj, że słuchacze mogą korzystać z różnych metod IDevice oraz getDevices(), które używają wewnętrznych blokad.
| Parametry | |
|---|---|
device |
IDevice: zmodyfikowany IDevice. |
changeMask |
int |
deviceConnected
public static void deviceConnected (IDevice device)
Powiadom słuchacza o nowym IDevice.
Powiadamianie odbiorców odbywa się w zsynchronizowanym bloku. Pamiętaj, że słuchacze mogą korzystać z różnych metod IDevice oraz getDevices(), które używają wewnętrznych blokad.
| Parametry | |
|---|---|
device |
IDevice: nowy IDevice. |
deviceDisconnected
public static void deviceDisconnected (IDevice device)
Powiadom odbiorcę o odłączeniu IDevice.
Powiadamianie odbiorców odbywa się w zsynchronizowanym bloku. Pamiętaj, że słuchacze mogą korzystać z różnych metod IDevice oraz getDevices(), które używają wewnętrznych blokad.
| Parametry | |
|---|---|
device |
IDevice: odłączone IDevice. |
disableFakeAdbServerMode
public static void disableFakeAdbServerMode ()
disconnectBridge
public static void disconnectBridge ()
Ta metoda została wycofana.
Jeśli ADB nie odpowiada, ta metoda może się zawiesić. Zamiast niej użyj zasady disconnectBridge(long, TimeUnit).
Odłącza bieżący most debugowania i usuwa obiekt. Należy utworzyć nowy obiekt za pomocą createBridge(String, boolean).
Spowoduje to również zatrzymanie bieżącego serwera hosta adb.
disconnectBridge
public static boolean disconnectBridge (long timeout,
TimeUnit unit)Odłącza bieżący most debugowania i usuwa obiekt. Należy utworzyć nowy obiekt za pomocą createBridge(String, boolean).
Spowoduje to również zatrzymanie bieżącego serwera hosta adb.
| Parametry | |
|---|---|
timeout |
long |
unit |
TimeUnit |
| Zwroty | |
|---|---|
boolean |
true, jeśli metoda zakończy się powodzeniem w określonym czasie oczekiwania. |
enableFakeAdbServerMode
public static void enableFakeAdbServerMode (int port)
| Parametry | |
|---|---|
port |
int |
getAdbVersion
public static ListenableFuture<AdbVersion> getAdbVersion (File adb)
| Parametry | |
|---|---|
adb |
File |
| Zwroty | |
|---|---|
ListenableFuture<AdbVersion> |
|
getBridge
public static AndroidDebugBridge getBridge ()
Zwraca bieżący most debugowania. Może mieć wartość null, jeśli nie utworzono żadnych kont.
| Zwroty | |
|---|---|
AndroidDebugBridge |
|
getClientSupport
public static boolean getClientSupport ()
Zwraca informację, czy biblioteka ddmlib jest skonfigurowana do obsługi monitorowania i interakcji z ClientImpluruchomionymi na IDevice.
| Zwroty | |
|---|---|
boolean |
|
getConnectionAttemptCount
public int getConnectionAttemptCount ()
Zwraca liczbę prób połączenia obiektu AndroidDebugBridge z demonem adb.
| Zwroty | |
|---|---|
int |
|
getDebugBridgeChangeListenerCount
public static int getDebugBridgeChangeListenerCount ()
| Zwroty | |
|---|---|
int |
|
getDeviceChangeListenerCount
public static int getDeviceChangeListenerCount ()
| Zwroty | |
|---|---|
int |
|
getRawDeviceList
public ListenableFuture<> getRawDeviceList ()
Zwraca zestaw urządzeń zgłoszonych przez wiersz poleceń adb. Jest to przeznaczone głównie dla Asystenta połączeń lub innych narzędzi diagnostycznych, które muszą weryfikować stan listy getDevices() za pomocą innego kanału. Kod, który musi tylko uzyskać dostęp do listy urządzeń, powinien wywoływać getDevices().
| Zwroty | |
|---|---|
ListenableFuture< |
|
getRestartAttemptCount
public int getRestartAttemptCount ()
Zwraca liczbę prób ponownego uruchomienia demona adb przez obiekt AndroidDebugBridge.
| Zwroty | |
|---|---|
int |
|
getSocketAddress
public static InetSocketAddress getSocketAddress ()
Ta metoda została wycofana.
Ta metoda zwraca adres serwera zwrotnego, który może nie być zgodny z adresem używanym przez serwer ADB. Na przykład JVM może być w trybie IPv4, a serwer ADB może być hostowany pod adresem zwrotnym IPv6. Podczas otwierania połączenia z serwerem ADB preferuj openConnection().
Zwraca adres gniazda serwera ADB na hoście.
Ta metoda próbuje zwrócić adres gniazda, który działa, otwierając kanał gniazda do serwera ADB. Próba zostanie podjęta w przypadku obu adresów zwrotnych IPv4 i IPv6. Jeśli nie uda się nawiązać połączenia, ta metoda zwróci adres zwrotny preferowany przez JVM. Ta logika rezerwowa jest wymagana, aby zapobiec przerwaniu działania interfejsu API.
Jeśli tryb fałszywego serwera ADB jest włączony, ta metoda automatycznie przełączy się na starszą implementację bez próby połączenia z ADB.
| Zwroty | |
|---|---|
InetSocketAddress |
|
getVirtualDeviceId
public static ListenableFuture<String> getVirtualDeviceId (ListeningExecutorService service,
File adb,
IDevice device)| Parametry | |
|---|---|
service |
ListeningExecutorService |
adb |
File |
device |
IDevice |
| Zwroty | |
|---|---|
ListenableFuture<String> |
|
hasInitialDeviceList
public boolean hasInitialDeviceList ()
Zwraca informację, czy po utworzeniu mostu pobrał on z adb początkową listę.
Wywołanie funkcji getDevices() bezpośrednio po createBridge(String, boolean) zwykle spowoduje zwrócenie pustej listy. Wynika to z wewnętrznego mechanizmu komunikacji asynchronicznej z adb, który nie gwarantuje, że lista IDevice zostanie utworzona przed wywołaniem getDevices().
Zalecanym sposobem uzyskania listy obiektów IDevice jest utworzenie obiektu IDeviceChangeListener.
| Zwroty | |
|---|---|
boolean |
|
init
public static void init (AdbInitOptions options)
Podobne do init(boolean), ale z możliwością przekazywania niestandardowego zestawu zmiennych środowiskowych.
| Parametry | |
|---|---|
options |
AdbInitOptions |
init
public static void init (boolean clientSupport)
Inicjuje bibliotekę ddm.
Musisz wywołać tę funkcję przed każdym wywołaniem funkcji createBridge(String, boolean).
Ustawienia ddmlib powinny być też zainicjowane wartościami domyślnymi, które zostały zmienione.
Po zamknięciu aplikacji należy wywołać funkcję terminate().
| Parametry | |
|---|---|
clientSupport |
boolean: wskazuje, czy biblioteka powinna włączyć monitorowanie aplikacji działających na urządzeniach i interakcje z nimi. |
Zobacz też:
init
public static void init (boolean clientSupport,
boolean useLibusb,
env) Podobnie jak init(boolean), z możliwością włączenia libusb i przekazania niestandardowego zestawu zmiennych środowiskowych.
| Parametry | |
|---|---|
clientSupport |
boolean |
useLibusb |
boolean |
env |
|
initIfNeeded
public static void initIfNeeded (boolean clientSupport)
Biblioteka jest inicjowana tylko w razie potrzeby. W przypadku zastosowań nietestowych jest to funkcja wycofana.
| Parametry | |
|---|---|
clientSupport |
boolean: wskazuje, czy biblioteka powinna włączyć monitorowanie aplikacji działających na urządzeniach i interakcje z nimi. |
Zobacz też:
isConnected
public boolean isConnected ()
Zwraca informację, czy obiekt AndroidDebugBridge jest nadal połączony z demonem adb.
| Zwroty | |
|---|---|
boolean |
|
isUserManagedAdbMode
public static boolean isUserManagedAdbMode ()
| Zwroty | |
|---|---|
boolean |
Jeśli działa w trybie ADB zarządzanym przez użytkownika, w którym ddmlib nie będzie zarządzać serwerem ADB i nie powinien tego robić. |
openConnection
public static SocketChannel openConnection ()
Próbuje połączyć się z lokalnym serwerem Android Debug Bridge.
| Zwroty | |
|---|---|
SocketChannel |
połączone gniazdko, jeśli się uda; |
| Zgłasza | |
|---|---|
|
w przypadku wystąpienia błędów podczas otwierania połączenia. |
removeClientChangeListener
public static void removeClientChangeListener (AndroidDebugBridge.IClientChangeListener listener)
Usuwa odbiorcę z kolekcji odbiorców, którzy będą powiadamiani o zmianach właściwości ClientImpl.
| Parametry | |
|---|---|
listener |
AndroidDebugBridge.IClientChangeListener: odbiornik, który nie powinien już otrzymywać powiadomień. |
removeDebugBridgeChangeListener
public static void removeDebugBridgeChangeListener (AndroidDebugBridge.IDebugBridgeChangeListener listener)
Usuwa odbiorcę z kolekcji odbiorców, którzy będą otrzymywać powiadomienia o rozpoczęciu nowego AndroidDebugBridge.
| Parametry | |
|---|---|
listener |
AndroidDebugBridge.IDebugBridgeChangeListener: odbiornik, który nie powinien już otrzymywać powiadomień. |
removeDeviceChangeListener
public static void removeDeviceChangeListener (AndroidDebugBridge.IDeviceChangeListener listener)
Usuwa odbiorcę z kolekcji odbiorców, którzy będą otrzymywać powiadomienia o połączeniu lub odłączeniu urządzenia IDevice oraz o zmianach jego właściwości lub listy ClientImpl.
| Parametry | |
|---|---|
listener |
AndroidDebugBridge.IDeviceChangeListener: odbiornik, który nie powinien już otrzymywać powiadomień. |
ponowne uruchomienie
public boolean restart (long timeout,
TimeUnit unit)Ponownie uruchamia adb, ale nie usługi powiązane.
| Parametry | |
|---|---|
timeout |
long |
unit |
TimeUnit |
| Zwroty | |
|---|---|
boolean |
Wartość true, jeśli operacja zakończyła się powodzeniem. |
ponowne uruchomienie
public boolean restart ()
Ta metoda została wycofana.
Ta metoda może się zawiesić, jeśli ADB nie odpowiada. Zamiast niej użyj zasady restart(long, TimeUnit).
Ponownie uruchamia adb, ale nie usługi powiązane.
| Zwroty | |
|---|---|
boolean |
Wartość true, jeśli operacja zakończyła się powodzeniem. |
startAdb
public boolean startAdb (long timeout,
TimeUnit unit)Uruchamia serwer po stronie hosta adb. Nie należy używać tej metody, gdy używasz serwera ADB zarządzanego przez użytkownika, ponieważ cyklem życia serwera powinien zarządzać użytkownik, a nie ddmlib.
| Parametry | |
|---|---|
timeout |
long |
unit |
TimeUnit |
| Zwroty | |
|---|---|
boolean |
wartość true, jeśli operacja się powiodła |
zakończyć
public static void terminate ()
Kończy działanie biblioteki DDM. Należy ją wywołać po zakończeniu działania aplikacji.