AndroidDebugBridge

public class AndroidDebugBridge
extends Object

java.lang.Object
   ↳ com.android.tradefed.device.server.AndroidDebugBridge


Ana makine tarafındaki Android Debug Bridge'e (adb) bağlantı

Bu, cihazlar, emülatörler veya bunlar üzerinde çalışan uygulamalarla iletişim kurmak için kullanılan merkezi noktadır.

Herhangi bir işlem yapılmadan önce init() çağrılmalıdır.

Özet

İç içe yerleştirilmiş sınıflar

interface AndroidDebugBridge.IDebugBridgeChangeListener

Bu arayüzü uygulayan sınıflar, AndroidDebugBridge değişiklikleriyle (yeniden başlatmalar dahil) ilgilenen bir yöntem sağlar. 

interface AndroidDebugBridge.IDeviceChangeListener

Bu arayüzü uygulayan sınıflar, IDevice ekleme, silme ve değişikliklerle ilgili yöntemler sağlar. 

Sabitler

int DEFAULT_START_ADB_TIMEOUT_MILLIS

ADB sunucusu başlatılırken kullanılan varsayılan zaman aşımı

Alanlar

public static final AdbVersion MIN_ADB_VERSION

Desteklenen minimum ve maksimum adb sürümü.

Herkese açık yöntemler

static void addDebugBridgeChangeListener(AndroidDebugBridge.IDebugBridgeChangeListener listener)

Dinleyiciyi, IDebugBridgeChangeListener arayüzünde tanımlanan mesajlardan birini göndererek yeni bir AndroidDebugBridge bağlandığında bildirilecek dinleyiciler koleksiyonuna ekler.

static void addDeviceChangeListener(AndroidDebugBridge.IDeviceChangeListener listener)

Dinleyiciyi, bir IDevice bağlandığında, bağlantısı kesildiğinde veya özellikleri ya da ERROR(/ClientImpl) listesi değiştiğinde IDeviceChangeListener arayüzünde tanımlanan mesajlardan birini göndererek bilgilendirilecek dinleyiciler koleksiyonuna ekler.

static AndroidDebugBridge createBridge(String osLocation, boolean forceNewBridge, long timeout, TimeUnit unit)

Komut satırı aracının konumundan yeni bir hata ayıklama köprüsü oluşturur.

static AndroidDebugBridge createBridge(long timeout, TimeUnit unit)

Belirli bir yürütülebilir dosyaya bağlı olmayan bir AndroidDebugBridge oluşturur.

static AndroidDebugBridge createBridge(String osLocation, boolean forceNewBridge)

Bu yöntem kullanımdan kaldırılmıştır. ADB yanıt vermiyorsa bu yöntem askıda kalabilir. Bunun yerine createBridge(String,boolean,long,TimeUnit) kullanın.

static AndroidDebugBridge createBridge()

Bu yöntem kullanımdan kaldırılmıştır. ADB yanıt vermiyorsa bu yöntem askıda kalabilir. Bunun yerine createBridge(long,TimeUnit) kullanın.

static void deviceChanged(IDevice device, int changeMask)

Dinleyiciyi değiştirilmiş bir IDevice hakkında bilgilendirin.

static void deviceConnected(IDevice device)

Dinleyiciye yeni bir IDevice bildirimi gönderin.

static void deviceDisconnected(IDevice device)

Dinleyiciyi bağlantısı kesilmiş bir IDevice hakkında bilgilendirin.

static void disableFakeAdbServerMode()
static void disconnectBridge()

Bu yöntem kullanımdan kaldırılmıştır. ADB yanıt vermiyorsa bu yöntem askıda kalabilir. Bunun yerine disconnectBridge(long,TimeUnit) kullanın.

static boolean disconnectBridge(long timeout, TimeUnit unit)

Mevcut hata ayıklama köprüsünün bağlantısını keser ve nesneyi yok eder.

static void enableFakeAdbServerMode(int port)
static ListenableFuture<AdbVersion> getAdbVersion(File adb)
static AndroidDebugBridge getBridge()

Geçerli hata ayıklama köprüsünü döndürür.

int getConnectionAttemptCount()

AndroidDebugBridge nesnesinin adb arka plan programına bağlanmayı denediği sayısı döndürür.

static int getDebugBridgeChangeListenerCount()
static int getDeviceChangeListenerCount()
IDevice[] getDevices()

Cihazları iade eder.

ListenableFuture<List<AdbDevice>> getRawDeviceList()

adb komut satırı tarafından bildirilen cihaz kümesini döndürür.

int getRestartAttemptCount()

AndroidDebugBridge nesnesinin adb arka plan programını yeniden başlatmayı deneme sayısını döndürür.

static InetSocketAddress getSocketAddress()

Bu yöntem kullanımdan kaldırılmıştır. Bu yöntem, ADB sunucusu tarafından kullanılanla eşleşmeyebilecek bir geri döngü sunucu adresi döndürür. Örneğin, JVM, IPv4 modunda olabilirken ADB sunucusu IPv6 geri döngü adresinde barındırılıyor olabilir. ADB sunucusuna bağlantı açarken openConnection()'ı tercih edin.

static ListenableFuture<String> getVirtualDeviceId(ListeningExecutorService service, File adb, IDevice device)
boolean hasInitialDeviceList()

Köprünün, oluşturulduktan sonra ilk listeyi adb'den alıp almadığını döndürür.

static void init(AdbInitOptions options)

init() özelliğine benzer. Özel bir ortam grubu iletme olanağı sunar.

static void init(boolean useLibusb, Map<String, String> env)

init() ile benzerdir. libusb'yi etkinleştirme ve özel bir env. grubu iletme özelliği vardır.

static void init()

ddm kitaplığını başlatır.

static void initIfNeeded()

Kitaplığı yalnızca gerektiğinde başlatır. Test dışı kullanımlar için desteği sonlandırılmıştır.

boolean isConnected()

AndroidDebugBridge nesnesinin adb arka plan programına bağlı olup olmadığını döndürür.

static boolean isUserManagedAdbMode()
static SocketChannel openConnection()

Yerel Android hata ayıklama köprüsü sunucusuna bağlanmaya çalışır.

static void removeDebugBridgeChangeListener(AndroidDebugBridge.IDebugBridgeChangeListener listener)

Yeni bir AndroidDebugBridge başlatıldığında bilgilendirilecek dinleyiciler koleksiyonundan dinleyiciyi kaldırır.

static void removeDeviceChangeListener(AndroidDebugBridge.IDeviceChangeListener listener)

IDevice bağlandığında, bağlantısı kesildiğinde veya özellikleri ya da ERROR(/ClientImpl) listesi değiştiğinde bilgilendirilecek dinleyiciler koleksiyonundan dinleyiciyi kaldırır.

boolean restart(long timeout, TimeUnit unit)

adb'yi yeniden başlatır ancak etrafındaki hizmetleri yeniden başlatmaz.

boolean restart()

Bu yöntem kullanımdan kaldırılmıştır. ADB yanıt vermiyorsa bu yöntem askıda kalabilir. Bunun yerine restart(long,TimeUnit) kullanın.

boolean startAdb(long timeout, TimeUnit unit)

adb ana makine tarafı sunucusunu başlatır.

static void terminate()

ddm kitaplığını sonlandırır.

Sabitler

DEFAULT_START_ADB_TIMEOUT_MILLIS

public static final int DEFAULT_START_ADB_TIMEOUT_MILLIS

ADB sunucusu başlatılırken kullanılan varsayılan zaman aşımı

Sabit Değer: 20000 (0x00004e20)

Alanlar

MIN_ADB_VERSION

public static final AdbVersion MIN_ADB_VERSION

Desteklenen minimum ve maksimum adb sürümü. Bu, //device/tools/adb/adb.h dosyasında bulunan ADB_SERVER_VERSION'a karşılık gelir.

Herkese açık yöntemler

addDebugBridgeChangeListener

public static void addDebugBridgeChangeListener (AndroidDebugBridge.IDebugBridgeChangeListener listener)

Dinleyiciyi, IDebugBridgeChangeListener arayüzünde tanımlanan mesajlardan birini göndererek yeni bir AndroidDebugBridge bağlandığında bildirilecek dinleyiciler koleksiyonuna ekler.

Parametreler
listener AndroidDebugBridge.IDebugBridgeChangeListener: Bildirim gönderilecek dinleyici.

addDeviceChangeListener

public static void addDeviceChangeListener (AndroidDebugBridge.IDeviceChangeListener listener)

Dinleyiciyi, bir IDevice bağlandığında, bağlantısı kesildiğinde veya özellikleri ya da ERROR(/ClientImpl) listesi değiştiğinde IDeviceChangeListener arayüzünde tanımlanan mesajlardan birini göndererek bilgilendirilecek dinleyiciler koleksiyonuna ekler.

Parametreler
listener AndroidDebugBridge.IDeviceChangeListener: Bildirim gönderilecek dinleyici.

createBridge

public static AndroidDebugBridge createBridge (String osLocation, 
                boolean forceNewBridge, 
                long timeout, 
                TimeUnit unit)

Komut satırı aracının konumundan yeni bir hata ayıklama köprüsü oluşturur.

Konum aynı olmadığı ve forceNewBridge false olarak ayarlanmadığı sürece mevcut tüm sunucuların bağlantısı kesilir.

Parametreler
osLocation String: "adb" komut satırı aracının konumu

forceNewBridge boolean: Aynı konuma sahip bir köprü zaten mevcut olsa bile yeni bir köprünün oluşturulmasını zorlar.

timeout long: Maksimum bekleme süresi

unit TimeUnit: timeout bağımsız değişkeninin zaman birimi

İadeler
AndroidDebugBridge bağlı bir köprü veya köprü oluşturulurken ya da köprüye bağlanırken hata oluştuysa null

createBridge

public static AndroidDebugBridge createBridge (long timeout, 
                TimeUnit unit)

Belirli bir yürütülebilir dosyaya bağlı olmayan bir AndroidDebugBridge oluşturur.

Bu köprü, adb'nin çalışmasını bekler. adb'yi başlatamaz, durduramaz veya yeniden başlatamaz.

Bir köprü başlatılmışsa değişiklik yapılmadan doğrudan döndürülür (getBridge() çağrılmasına benzer).

Parametreler
timeout long

unit TimeUnit

İadeler
AndroidDebugBridge bağlı bir köprü veya köprü oluşturulurken ya da köprüye bağlanırken hata oluştuysa null

createBridge

public static AndroidDebugBridge createBridge (String osLocation, 
                boolean forceNewBridge)

Bu yöntem kullanımdan kaldırılmıştır.
ADB yanıt vermiyorsa bu yöntem askıda kalabilir. Bunun yerine createBridge(String,boolean,long,TimeUnit) politikasını kullanın.

Komut satırı aracının konumundan yeni bir hata ayıklama köprüsü oluşturur.

Konum aynı olmadığı ve forceNewBridge false olarak ayarlanmadığı sürece mevcut tüm sunucuların bağlantısı kesilir.

Parametreler
osLocation String: "adb" komut satırı aracının konumu

forceNewBridge boolean: Aynı konuma sahip bir köprü zaten mevcut olsa bile yeni bir köprünün oluşturulmasını zorlar.

İadeler
AndroidDebugBridge bağlı bir köprü veya köprü oluşturulurken ya da köprüye bağlanırken hata oluştuysa null

createBridge

public static AndroidDebugBridge createBridge ()

Bu yöntem kullanımdan kaldırılmıştır.
ADB yanıt vermiyorsa bu yöntem askıda kalabilir. Bunun yerine createBridge(long,TimeUnit) politikasını kullanın.

Belirli bir yürütülebilir dosyaya bağlı olmayan bir AndroidDebugBridge oluşturur.

Bu köprü, adb'nin çalışmasını bekler. adb'yi başlatamaz, durduramaz veya yeniden başlatamaz.

Bir köprü başlatılmışsa değişiklik yapılmadan doğrudan döndürülür (getBridge() çağrılmasına benzer).

İadeler
AndroidDebugBridge bağlı bir köprü veya köprü oluşturulurken ya da köprüye bağlanırken hata oluştuysa null

deviceChanged

public static void deviceChanged (IDevice device, 
                int changeMask)

Dinleyiciyi değiştirilmiş bir IDevice hakkında bilgilendirin.

Dinleyicilerin bildirimi senkronize bir blokta yapılır. Dinleyicilerin, dahili kilitler kullanan getDevices()'nin yanı sıra çeşitli IDevice yöntemlerine erişebileceğini göz önünde bulundurmanız önemlidir.

Parametreler
device IDevice: değiştirilen IDevice.

changeMask int

deviceConnected

public static void deviceConnected (IDevice device)

Dinleyiciye yeni bir IDevice bildirimi gönderin.

Dinleyicilerin bildirimi senkronize bir blokta yapılır. Dinleyicilerin, dahili kilitler kullanan getDevices()'nin yanı sıra çeşitli IDevice yöntemlerine erişebileceğini göz önünde bulundurmanız önemlidir.

Parametreler
device IDevice: yeni IDevice.

deviceDisconnected

public static void deviceDisconnected (IDevice device)

Dinleyiciyi bağlantısı kesilmiş bir IDevice hakkında bilgilendirin.

Dinleyicilerin bildirimi senkronize bir blokta yapılır. Dinleyicilerin, dahili kilitler kullanan getDevices()'nin yanı sıra çeşitli IDevice yöntemlerine erişebileceğini göz önünde bulundurmanız önemlidir.

Parametreler
device IDevice: bağlantısı kesilmiş IDevice.

disableFakeAdbServerMode

public static void disableFakeAdbServerMode ()

disconnectBridge

public static void disconnectBridge ()

Bu yöntem kullanımdan kaldırılmıştır.
ADB yanıt vermiyorsa bu yöntem askıda kalabilir. Bunun yerine disconnectBridge(long,TimeUnit) politikasını kullanın.

Mevcut hata ayıklama köprüsünün bağlantısını keser ve nesneyi yok eder. createBridge(String,boolean) ile yeni bir nesne oluşturulması gerekir.

Bu işlem, mevcut adb ana makine sunucusunu da durdurur.

disconnectBridge

public static boolean disconnectBridge (long timeout, 
                TimeUnit unit)

Mevcut hata ayıklama köprüsünün bağlantısını keser ve nesneyi yok eder. createBridge(String,boolean) ile yeni bir nesne oluşturulması gerekir.

Bu işlem, mevcut adb ana makine sunucusunu da durdurur.

Parametreler
timeout long

unit TimeUnit

İadeler
boolean true yöntemi, belirtilen zaman aşımı süresi içinde başarılı olursa.

enableFakeAdbServerMode

public static void enableFakeAdbServerMode (int port)

Parametreler
port int

getAdbVersion

public static ListenableFuture<AdbVersion> getAdbVersion (File adb)

Parametreler
adb File

İadeler
ListenableFuture<AdbVersion>

getBridge

public static AndroidDebugBridge getBridge ()

Geçerli hata ayıklama köprüsünü döndürür. Hiç oluşturulmamışsa null olabilir.

İadeler
AndroidDebugBridge

getConnectionAttemptCount

public int getConnectionAttemptCount ()

AndroidDebugBridge nesnesinin adb arka plan programına bağlanmayı denediği sayısı döndürür.

İadeler
int

getDebugBridgeChangeListenerCount

public static int getDebugBridgeChangeListenerCount ()

İadeler
int

getDeviceChangeListenerCount

public static int getDeviceChangeListenerCount ()

İadeler
int

getDevices

public IDevice[] getDevices ()

Cihazları iade eder.

İadeler
IDevice[]

Ayrıca bkz.:

getRawDeviceList

public ListenableFuture<List<AdbDevice>> getRawDeviceList ()

adb komut satırı tarafından bildirilen cihaz kümesini döndürür. Bu özellik, esas olarak getDevices() listesinin durumunu başka bir kanal üzerinden doğrulaması gereken Bağlantı Asistanı veya diğer teşhis araçları için tasarlanmıştır. Yalnızca cihaz listesine erişmesi gereken kodlar bunun yerine getDevices() yöntemini çağırmalıdır.

İadeler
ListenableFuture<List<AdbDevice>>

getRestartAttemptCount

public int getRestartAttemptCount ()

AndroidDebugBridge nesnesinin adb arka plan programını yeniden başlatmayı deneme sayısını döndürür.

İadeler
int

getSocketAddress

public static InetSocketAddress getSocketAddress ()

Bu yöntem kullanımdan kaldırılmıştır.
Bu yöntem, ADB sunucusu tarafından kullanılanla eşleşmeyebilecek bir geri döngü sunucu adresi döndürür. Örneğin, JVM, IPv4 modunda olabilirken ADB sunucusu IPv6 geri döngü adresinde barındırılıyor olabilir. ADB sunucusuna bağlantı açarken openConnection()'ı tercih edin.

Ana makinedeki ADB sunucusunun soket adresini döndürür.

Bu yöntem, ADB sunucusuna bir soket kanalı açarak çalıştığı bilinen bir soket adresi döndürmeye çalışır. Hem IPv4 hem de IPv6 geri döngü adresi denenir. İkisinin de bağlanamadığı durumlarda bu yöntem, JVM tarafından tercih edilen geri döngü adresini döndürmeye geri döner. Bu yedek mantık, API'nin bozulmasını önlemek için gereklidir.

Sahte ADB sunucu modu etkinse bu yöntem, ADB'ye bağlanmaya çalışmadan otomatik olarak eski uygulamaya geri döner.

İadeler
InetSocketAddress

getVirtualDeviceId

public static ListenableFuture<String> getVirtualDeviceId (ListeningExecutorService service, 
                File adb, 
                IDevice device)

Parametreler
service ListeningExecutorService

adb File

device IDevice

İadeler
ListenableFuture<String>

hasInitialDeviceList

public boolean hasInitialDeviceList ()

Köprünün, oluşturulduktan sonra ilk listeyi adb'den alıp almadığını döndürür.

createBridge(String,boolean)'den hemen sonra getDevices()'yı çağırmak genellikle boş bir liste ile sonuçlanır. Bunun nedeni, adb ile dahili olarak kullanılan ve getDevices() çağrılmadan önce IDevice listesinin oluşturulmasını garanti etmeyen eşzamansız iletişim mekanizmasıdır.

IDevice nesnelerinin listesini almanın önerilen yolu, IDeviceChangeListener nesnesi oluşturmaktır.

İadeler
boolean

init

public static void init (AdbInitOptions options)

init() özelliğine benzer. Ortam değişkenlerinin özel bir grubunu iletme olanağı sunar.

Parametreler
options AdbInitOptions

init

public static void init (boolean useLibusb, 
                Map<String, String> env)

init() ile benzerdir. libusb'yi etkinleştirme ve özel bir env. grubu iletme özelliği vardır. değişkenler.

Parametreler
useLibusb boolean

env Map

init

public static void init ()

ddm kitaplığını başlatır.

Bu işlev, createBridge(String,boolean) işlevine yapılan herhangi bir çağrıdan önce bir kez çağrılmalıdır.

ddmlib tercihlerinin de varsayılan değerlerden değiştirilen varsayılan değerlerle başlatılması gerekir.

Uygulama kapatıldığında terminate() çağrılmalıdır.

initIfNeeded

public static void initIfNeeded ()

Kitaplığı yalnızca gerektiğinde başlatır. Test dışı kullanımlar için desteği sonlandırılmıştır.

Ayrıca bkz.:

isConnected

public boolean isConnected ()

AndroidDebugBridge nesnesinin adb arka plan programına bağlı olup olmadığını döndürür.

İadeler
boolean

isUserManagedAdbMode

public static boolean isUserManagedAdbMode ()

İadeler
boolean ddmlib'in ADB sunucusunu yönetmediği ve yönetmemesi gereken, kullanıcı tarafından yönetilen ADB modunda çalışıyorsa.

openConnection

public static SocketChannel openConnection ()

Yerel Android hata ayıklama köprüsü sunucusuna bağlanmaya çalışır.

İadeler
SocketChannel Başarılı olursa bağlı bir soket

Verdiği hatalar
IOException bağlantı açılırken hata oluşursa

removeDebugBridgeChangeListener

public static void removeDebugBridgeChangeListener (AndroidDebugBridge.IDebugBridgeChangeListener listener)

Yeni bir AndroidDebugBridge başlatıldığında bilgilendirilecek dinleyiciler koleksiyonundan dinleyiciyi kaldırır.

Parametreler
listener AndroidDebugBridge.IDebugBridgeChangeListener: Artık bildirim gönderilmemesi gereken dinleyici.

removeDeviceChangeListener

public static void removeDeviceChangeListener (AndroidDebugBridge.IDeviceChangeListener listener)

IDevice bağlandığında, bağlantısı kesildiğinde veya özellikleri ya da ERROR(/ClientImpl) listesi değiştiğinde bilgilendirilecek dinleyiciler koleksiyonundan dinleyiciyi kaldırır.

Parametreler
listener AndroidDebugBridge.IDeviceChangeListener: Artık bildirim gönderilmemesi gereken dinleyici.

restart

public boolean restart (long timeout, 
                TimeUnit unit)

adb'yi yeniden başlatır ancak etrafındaki hizmetleri yeniden başlatmaz.

Parametreler
timeout long

unit TimeUnit

İadeler
boolean başarılıysa doğru.

restart

public boolean restart ()

Bu yöntem kullanımdan kaldırılmıştır.
ADB yanıt vermiyorsa bu yöntem askıda kalabilir. Bunun yerine restart(long,TimeUnit) politikasını kullanın.

adb'yi yeniden başlatır ancak etrafındaki hizmetleri yeniden başlatmaz.

İadeler
boolean başarılıysa doğru.

startAdb

public boolean startAdb (long timeout, 
                TimeUnit unit)

adb ana makine tarafı sunucusunu başlatır. Sunucu yaşam döngüsü ddmlib tarafından değil, kullanıcı tarafından yönetilmesi gerektiğinden, kullanıcı tarafından yönetilen ADB sunucusu kullanılırken bu yöntem kullanılmamalıdır.

Parametreler
timeout long

unit TimeUnit

İadeler
boolean Başarılıysa doğru

feshetmek (legal context) : kapatmak (for more generic context)

public static void terminate ()

ddm kitaplığını sonlandırır. Bu, uygulama sonlandırıldığında çağrılmalıdır.