AndroidDebugBridge

public class AndroidDebugBridge
extends Object

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


การเชื่อมต่อกับ Android Debug Bridge (adb) ฝั่งโฮสต์

ซึ่งเป็นจุดศูนย์กลางในการสื่อสารกับอุปกรณ์ โปรแกรมจำลอง หรือแอปพลิเคชัน ที่ทำงานบนอุปกรณ์เหล่านั้น

ต้องเรียกใช้ init(boolean) ก่อนที่จะดำเนินการใดๆ

สรุป

คลาสที่ซ้อนกัน

interface AndroidDebugBridge.IClientChangeListener

คลาสที่ใช้การเชื่อมต่อนี้จะมีเมธอดที่จัดการกับการเปลี่ยนแปลง ClientImpl  

interface AndroidDebugBridge.IDebugBridgeChangeListener

คลาสที่ใช้การเชื่อมต่อนี้จะมีเมธอดที่จัดการกับการเปลี่ยนแปลง AndroidDebugBridge (รวมถึงการรีสตาร์ท) 

interface AndroidDebugBridge.IDeviceChangeListener

คลาสที่ใช้การติดตั้งใช้งานอินเทอร์เฟซนี้จะมีเมธอดที่จัดการกับการเพิ่ม ลบ และเปลี่ยนแปลง IDevice 

ค่าคงที่

int DEFAULT_START_ADB_TIMEOUT_MILLIS

การหมดเวลาเริ่มต้นที่ใช้เมื่อเริ่มเซิร์ฟเวอร์ ADB

ฟิลด์

public static final AdbVersion MIN_ADB_VERSION

เวอร์ชันต่ำสุดและสูงสุดของ adb ที่รองรับ

เมธอดสาธารณะ

static void addClientChangeListener(AndroidDebugBridge.IClientChangeListener listener)

เพิ่ม Listener ลงในคอลเล็กชันของ Listener ที่จะได้รับการแจ้งเตือนเมื่อพร็อพเพอร์ตี้ ClientImpl มีการเปลี่ยนแปลง โดยการส่งข้อความใดข้อความหนึ่งที่กำหนดไว้ในอินเทอร์เฟซ IClientChangeListener

static void addDebugBridgeChangeListener(AndroidDebugBridge.IDebugBridgeChangeListener listener)

เพิ่ม Listener ลงในคอลเล็กชันของ Listener ที่จะได้รับการแจ้งเตือนเมื่อมีการเชื่อมต่อ AndroidDebugBridge ใหม่ โดยการส่งข้อความใดข้อความหนึ่งที่กำหนดไว้ในอินเทอร์เฟซ IDebugBridgeChangeListener

static void addDeviceChangeListener(AndroidDebugBridge.IDeviceChangeListener listener)

เพิ่ม Listener ลงในคอลเล็กชันของ Listener ที่จะได้รับการแจ้งเตือนเมื่อ IDevice เชื่อมต่อ ยกเลิกการเชื่อมต่อ หรือเมื่อมีการเปลี่ยนแปลงพร็อพเพอร์ตี้หรือรายการ ClientImpl โดย การส่งข้อความใดข้อความหนึ่งที่กำหนดไว้ในอินเทอร์เฟซ IDeviceChangeListener

static void clientChanged(ClientImpl client, int changeMask)

แจ้ง Listener เกี่ยวกับ ClientImpl ที่มีการแก้ไข

static AndroidDebugBridge createBridge(long timeout, TimeUnit unit)

สร้าง AndroidDebugBridge ที่ไม่ได้ลิงก์กับไฟล์ปฏิบัติการใดๆ

static AndroidDebugBridge createBridge(String osLocation, boolean forceNewBridge)

เลิกใช้เมธอดนี้แล้ว เมธอดนี้อาจค้างหาก ADB ไม่ตอบสนอง โปรดใช้ createBridge(String, boolean, long, TimeUnit) แทน

static AndroidDebugBridge createBridge()

เลิกใช้เมธอดนี้แล้ว เมธอดนี้อาจค้างหาก ADB ไม่ตอบสนอง โปรดใช้ createBridge(long, TimeUnit) แทน

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

สร้าง Debug Bridge ใหม่จากตำแหน่งของเครื่องมือบรรทัดคำสั่ง

static void deviceChanged(IDevice device, int changeMask)

แจ้ง Listener เกี่ยวกับ IDevice ที่มีการแก้ไข

static void deviceConnected(IDevice device)

แจ้ง Listener เกี่ยวกับ IDevice ใหม่

static void deviceDisconnected(IDevice device)

แจ้ง Listener เกี่ยวกับ IDevice ที่ยกเลิกการเชื่อมต่อ

static void disableFakeAdbServerMode()
static void disconnectBridge()

เลิกใช้เมธอดนี้แล้ว เมธอดนี้อาจค้างหาก ADB ไม่ตอบสนอง โปรดใช้ disconnectBridge(long, TimeUnit) แทน

static boolean disconnectBridge(long timeout, TimeUnit unit)

ยกเลิกการเชื่อมต่อ Debug Bridge ปัจจุบันและทำลายออบเจ็กต์

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

แสดงผล Debug Bridge ปัจจุบัน

static boolean getClientSupport()

แสดงว่า ddmlib ได้รับการตั้งค่าให้รองรับการตรวจสอบและการโต้ตอบกับ ClientImpl ที่ทำงานใน IDevice หรือไม่

int getConnectionAttemptCount()

แสดงผลจำนวนครั้งที่ออบเจ็กต์ AndroidDebugBridge พยายามเชื่อมต่อกับ adb Daemon

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

แสดงผลอุปกรณ์

ListenableFuture<> getRawDeviceList()

แสดงผลชุดอุปกรณ์ที่รายงานโดยบรรทัดคำสั่ง adb

int getRestartAttemptCount()

แสดงผลจำนวนครั้งที่ออบเจ็กต์ AndroidDebugBridge พยายามรีสตาร์ท adb Daemon

static InetSocketAddress getSocketAddress()

เลิกใช้เมธอดนี้แล้ว เมธอดนี้จะแสดงผลเป็นที่อยู่เซิร์ฟเวอร์แบบ Loopback ซึ่งอาจไม่ตรงกับที่อยู่ที่เซิร์ฟเวอร์ ADB ใช้งานอยู่ กล่าวคือ JVM อาจทำงานในโหมด IPv4 ขณะที่เซิร์ฟเวอร์ ADB ฝากอยู่บนที่อยู่ Loopback แบบ IPv6 โปรดใช้ openConnection() แทนเมื่อเปิดการเชื่อมต่อ กับเซิร์ฟเวอร์ ADB

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

แสดงผลว่าบริดจ์ได้รับรายการเริ่มต้นจาก adb หลังจากสร้างแล้วหรือไม่

static void init(AdbInitOptions options)

คล้ายกับ init(boolean) โดยสามารถส่งชุด env ที่กำหนดเองได้

static void init(boolean clientSupport)

เริ่มต้นไลบรารี ddm

static void init(boolean clientSupport, boolean useLibusb, env)

คล้ายกับ init(boolean) โดยสามารถเปิดใช้ libusb และส่งชุด env ที่กำหนดเองได้

static void initIfNeeded(boolean clientSupport)

เริ่มต้นไลบรารีเฉพาะในกรณีที่จำเป็นเท่านั้น เลิกใช้งานสำหรับการใช้ที่ไม่ใช่การทดสอบแล้ว

boolean isConnected()

แสดงผลว่าออบเจ็กต์ AndroidDebugBridge ยังคงเชื่อมต่อกับ adb Daemon หรือไม่

static boolean isUserManagedAdbMode()
static SocketChannel openConnection()

พยายามเชื่อมต่อกับเซิร์ฟเวอร์ Android Debug Bridge ในเครื่อง

static void removeClientChangeListener(AndroidDebugBridge.IClientChangeListener listener)

นำ Listener ออกจากคอลเล็กชันของ Listener ที่จะได้รับการแจ้งเตือนเมื่อพร็อพเพอร์ตี้ ClientImpl เปลี่ยนแปลง

static void removeDebugBridgeChangeListener(AndroidDebugBridge.IDebugBridgeChangeListener listener)

นำ Listener ออกจากคอลเล็กชันของ Listener ที่จะได้รับการแจ้งเตือนเมื่อมีการเริ่ม AndroidDebugBridge ใหม่

static void removeDeviceChangeListener(AndroidDebugBridge.IDeviceChangeListener listener)

นำ Listener ออกจากคอลเล็กชันของ Listener ที่จะได้รับการแจ้งเตือนเมื่อ IDevice มีการเชื่อมต่อ ยกเลิกการเชื่อมต่อ หรือเมื่อมีการเปลี่ยนแปลงพร็อพเพอร์ตี้หรือรายการ ClientImpl

boolean restart(long timeout, TimeUnit unit)

รีสตาร์ท adb แต่ไม่รีสตาร์ทบริการที่เกี่ยวข้อง

boolean restart()

เลิกใช้เมธอดนี้แล้ว เมธอดนี้อาจค้างหาก ADB ไม่ตอบสนอง โปรดใช้ restart(long, TimeUnit) แทน

boolean startAdb(long timeout, TimeUnit unit)

เริ่มเซิร์ฟเวอร์ adb ฝั่งโฮสต์

static void terminate()

สิ้นสุดการทำงานของไลบรารี ddm

ค่าคงที่

DEFAULT_START_ADB_TIMEOUT_MILLIS

public static final int DEFAULT_START_ADB_TIMEOUT_MILLIS

การหมดเวลาเริ่มต้นที่ใช้เมื่อเริ่มเซิร์ฟเวอร์ ADB

ค่าคงที่ 20000 (0x00004e20)

ฟิลด์

MIN_ADB_VERSION

public static final AdbVersion MIN_ADB_VERSION

เวอร์ชันต่ำสุดและสูงสุดของ adb ที่รองรับ ซึ่งสอดคล้องกับ ADB_SERVER_VERSION ที่พบใน //device/tools/adb/adb.h

เมธอดสาธารณะ

addClientChangeListener

public static void addClientChangeListener (AndroidDebugBridge.IClientChangeListener listener)

เพิ่ม Listener ลงในคอลเล็กชันของ Listener ที่จะได้รับการแจ้งเตือนเมื่อพร็อพเพอร์ตี้ ClientImpl มีการเปลี่ยนแปลง โดยการส่งข้อความใดข้อความหนึ่งที่กำหนดไว้ในอินเทอร์เฟซ IClientChangeListener

พารามิเตอร์
listener AndroidDebugBridge.IClientChangeListener: Listener ที่ควรได้รับการแจ้งเตือน

addDebugBridgeChangeListener

public static void addDebugBridgeChangeListener (AndroidDebugBridge.IDebugBridgeChangeListener listener)

เพิ่ม Listener ลงในคอลเล็กชันของ Listener ที่จะได้รับการแจ้งเตือนเมื่อมีการเชื่อมต่อ AndroidDebugBridge ใหม่ โดยการส่งข้อความใดข้อความหนึ่งที่กำหนดไว้ในอินเทอร์เฟซ IDebugBridgeChangeListener

พารามิเตอร์
listener AndroidDebugBridge.IDebugBridgeChangeListener: Listener ที่ควรได้รับการแจ้งเตือน

addDeviceChangeListener

public static void addDeviceChangeListener (AndroidDebugBridge.IDeviceChangeListener listener)

เพิ่ม Listener ลงในคอลเล็กชันของ Listener ที่จะได้รับการแจ้งเตือนเมื่อ IDevice เชื่อมต่อ ยกเลิกการเชื่อมต่อ หรือเมื่อมีการเปลี่ยนแปลงพร็อพเพอร์ตี้หรือรายการ ClientImpl โดย การส่งข้อความใดข้อความหนึ่งที่กำหนดไว้ในอินเทอร์เฟซ IDeviceChangeListener

พารามิเตอร์
listener AndroidDebugBridge.IDeviceChangeListener: Listener ที่ควรได้รับการแจ้งเตือน

clientChanged

public static void clientChanged (ClientImpl client, 
                int changeMask)

แจ้ง Listener เกี่ยวกับ ClientImpl ที่มีการแก้ไข

การแจ้งเตือน Listener จะดำเนินการในบล็อกที่ซิงค์ คุณควรคาดหวังว่า Listener อาจเข้าถึงเมธอดต่างๆ ของ IDevice รวมถึง getDevices() ที่ใช้ล็อกภายใน

พารามิเตอร์
client ClientImpl: Client ที่แก้ไขแล้ว

changeMask int: มาสก์ที่ระบุสิ่งที่เปลี่ยนแปลงใน Client

createBridge

public static AndroidDebugBridge createBridge (long timeout, 
                TimeUnit unit)

สร้าง AndroidDebugBridge ที่ไม่ได้ลิงก์กับไฟล์ปฏิบัติการใดๆ

บริดจ์นี้จะคาดหวังให้ adb ทำงานอยู่ และบริดจ์จะเริ่ม/หยุด/รีสตาร์ท adb ไม่ได้

หากมีการเริ่มต้นบริดจ์ไว้แล้ว ระบบจะส่งคืนบริดจ์นั้นโดยตรงโดยไม่มีการเปลี่ยนแปลงใดๆ (ลักษณะเดียวกับการเรียกฟังก์ชัน getBridge())

พารามิเตอร์
timeout long

unit TimeUnit

การแสดงผล
AndroidDebugBridge บริดจ์ที่เชื่อมต่อ หรือ Null หากเกิดข้อผิดพลาดขณะสร้างหรือเชื่อมต่อกับบริดจ์

createBridge

public static AndroidDebugBridge createBridge (String osLocation, 
                boolean forceNewBridge)

เลิกใช้เมธอดนี้แล้ว
เมธอดนี้อาจค้างหาก ADB ไม่ตอบสนอง โปรดใช้ createBridge(String, boolean, long, TimeUnit) แทน

สร้าง Debug Bridge ใหม่จากตำแหน่งของเครื่องมือบรรทัดคำสั่ง

ระบบจะยกเลิกการเชื่อมต่อเซิร์ฟเวอร์ที่มีอยู่ทั้งหมด เว้นแต่ว่าตำแหน่งจะเหมือนกันและตั้งค่า forceNewBridge เป็นเท็จ

พารามิเตอร์
osLocation String: ตำแหน่งของเครื่องมือบรรทัดคำสั่ง "adb"

forceNewBridge boolean: บังคับสร้างบริดจ์ใหม่แม้ว่าจะมีบริดจ์ที่มีตำแหน่งเดียวกันอยู่แล้ว ก็ตาม

การแสดงผล
AndroidDebugBridge บริดจ์ที่เชื่อมต่อ หรือ Null หากเกิดข้อผิดพลาดขณะสร้างหรือเชื่อมต่อกับบริดจ์

createBridge

public static AndroidDebugBridge createBridge ()

เลิกใช้เมธอดนี้แล้ว
เมธอดนี้อาจค้างหาก ADB ไม่ตอบสนอง โปรดใช้ createBridge(long, TimeUnit) แทน

สร้าง AndroidDebugBridge ที่ไม่ได้ลิงก์กับไฟล์ที่เรียกใช้งานได้ใดๆ

บริดจ์นี้จะคาดหวังให้ adb ทำงานอยู่ และบริดจ์จะเริ่ม/หยุด/รีสตาร์ท adb ไม่ได้

หากมีการเริ่มต้นบริดจ์ไว้แล้ว ระบบจะส่งคืนบริดจ์นั้นโดยตรงโดยไม่มีการเปลี่ยนแปลงใดๆ (ลักษณะเดียวกับการเรียกด้วยคำสั่ง getBridge())

การแสดงผล
AndroidDebugBridge บริดจ์ที่เชื่อมต่อ หรือ Null หากเกิดข้อผิดพลาดขณะสร้างหรือเชื่อมต่อกับบริดจ์

createBridge

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

สร้าง Debug Bridge ใหม่จากตำแหน่งของเครื่องมือบรรทัดคำสั่ง

ระบบจะยกเลิกการเชื่อมต่อเซิร์ฟเวอร์ที่มีอยู่ทั้งหมด เว้นแต่ว่าตำแหน่งจะเหมือนกันและตั้งค่า forceNewBridge เป็นเท็จ

พารามิเตอร์
osLocation String: ตำแหน่งของเครื่องมือบรรทัดคำสั่ง "adb"

forceNewBridge boolean: บังคับสร้างบริดจ์ใหม่แม้ว่าจะมีบริดจ์ที่มีตำแหน่งเดียวกันอยู่แล้ว ก็ตาม

timeout long: เวลารอสูงสุด

unit TimeUnit: หน่วยเวลาของอาร์กิวเมนต์ timeout

การแสดงผล
AndroidDebugBridge บริดจ์ที่เชื่อมต่อ หรือ Null หากเกิดข้อผิดพลาดขณะสร้างหรือเชื่อมต่อกับบริดจ์

deviceChanged

public static void deviceChanged (IDevice device, 
                int changeMask)

แจ้ง Listener เกี่ยวกับ IDevice ที่มีการแก้ไข

การแจ้งเตือน Listener จะดำเนินการในบล็อกที่ซิงค์ คุณควรคาดหวังว่า Listener อาจเข้าถึงเมธอดต่างๆ ของ IDevice รวมถึง getDevices() ที่ใช้ล็อกภายใน

พารามิเตอร์
device IDevice: IDevice ที่แก้ไขแล้ว

changeMask int

deviceConnected

public static void deviceConnected (IDevice device)

แจ้ง Listener เกี่ยวกับ IDevice ใหม่

การแจ้งเตือน Listener จะดำเนินการในบล็อกที่ซิงค์ คุณควรคาดหวังว่า Listener อาจเข้าถึงเมธอดต่างๆ ของ IDevice รวมถึง getDevices() ที่ใช้ล็อกภายใน

พารามิเตอร์
device IDevice: IDevice ใหม่

deviceDisconnected

public static void deviceDisconnected (IDevice device)

แจ้ง Listener เกี่ยวกับ IDevice ที่ยกเลิกการเชื่อมต่อ

การแจ้งเตือน Listener จะดำเนินการในบล็อกที่ซิงค์ คุณควรคาดหวังว่า Listener อาจเข้าถึงเมธอดต่างๆ ของ IDevice รวมถึง getDevices() ที่ใช้ล็อกภายใน

พารามิเตอร์
device IDevice: IDevice ที่ไม่ได้เชื่อมต่อ

disableFakeAdbServerMode

public static void disableFakeAdbServerMode ()

disconnectBridge

public static void disconnectBridge ()

เลิกใช้เมธอดนี้แล้ว
เมธอดนี้อาจค้างหาก ADB ไม่ตอบสนอง โปรดใช้ disconnectBridge(long, TimeUnit) แทน

ยกเลิกการเชื่อมต่อ Debug Bridge ปัจจุบันและทำลายออบเจ็กต์ คุณจะต้องสร้างออบเจ็กต์ใหม่ด้วย createBridge(String, boolean)

การดำเนินการนี้จะหยุดเซิร์ฟเวอร์โฮสต์ adb ปัจจุบันด้วย

disconnectBridge

public static boolean disconnectBridge (long timeout, 
                TimeUnit unit)

ยกเลิกการเชื่อมต่อ Debug Bridge ปัจจุบันและทำลายออบเจ็กต์ คุณจะต้องสร้างออบเจ็กต์ใหม่ด้วย createBridge(String, boolean)

การดำเนินการนี้จะหยุดเซิร์ฟเวอร์โฮสต์ adb ปัจจุบันด้วย

พารามิเตอร์
timeout long

unit TimeUnit

การแสดงผล
boolean true หากเมธอดสำเร็จภายในระยะหมดเวลาที่ระบุ

enableFakeAdbServerMode

public static void enableFakeAdbServerMode (int port)

พารามิเตอร์
port int

getAdbVersion

public static ListenableFuture<AdbVersion> getAdbVersion (File adb)

พารามิเตอร์
adb File

การแสดงผล
ListenableFuture<AdbVersion>

getBridge

public static AndroidDebugBridge getBridge ()

แสดงผล Debug Bridge ปัจจุบัน อาจเป็น null หากไม่ได้สร้างไว้

การแสดงผล
AndroidDebugBridge

getClientSupport

public static boolean getClientSupport ()

แสดงว่าได้ตั้งค่า ddmlib เพื่อรองรับการตรวจสอบและการโต้ตอบกับ ClientImpl ที่ทำงานใน IDevice หรือไม่

การแสดงผล
boolean

getConnectionAttemptCount

public int getConnectionAttemptCount ()

แสดงผลจำนวนครั้งที่ออบเจ็กต์ AndroidDebugBridge พยายามเชื่อมต่อกับ adb Daemon

การแสดงผล
int

getDebugBridgeChangeListenerCount

public static int getDebugBridgeChangeListenerCount ()

การแสดงผล
int

getDeviceChangeListenerCount

public static int getDeviceChangeListenerCount ()

การแสดงผล
int

getDevices

public IDevice[] getDevices ()

แสดงผลอุปกรณ์

การแสดงผล
IDevice[]

ดูเพิ่มเติม:

getRawDeviceList

public ListenableFuture<> getRawDeviceList ()

แสดงผลชุดอุปกรณ์ที่รายงานโดยบรรทัดคำสั่ง adb โดยมีไว้สำหรับผู้ช่วยการเชื่อมต่อหรือเครื่องมือวินิจฉัยอื่นๆ ที่ต้องตรวจสอบสถานะของรายการ getDevices() ผ่านช่องทางอื่นเป็นหลัก โค้ดที่เพียงต้องการเข้าถึงรายการอุปกรณ์ ควรเรียกใช้ getDevices() แทน

การแสดงผล
ListenableFuture<>

getRestartAttemptCount

public int getRestartAttemptCount ()

แสดงผลจำนวนครั้งที่ออบเจ็กต์ AndroidDebugBridge พยายามรีสตาร์ท adb Daemon

การแสดงผล
int

getSocketAddress

public static InetSocketAddress getSocketAddress ()

เลิกใช้เมธอดนี้แล้ว
เมธอดนี้จะแสดงที่อยู่เซิร์ฟเวอร์ Loopback ซึ่งอาจไม่ตรงกับที่เซิร์ฟเวอร์ ADB ใช้ กล่าวคือ JVM อาจอยู่ในโหมด IPv4 ในขณะที่เซิร์ฟเวอร์ ADB ฝากอยู่ในที่อยู่ Loopback ของ IPv6 โปรดใช้ openConnection() แทนเมื่อเปิดการเชื่อมต่อ กับเซิร์ฟเวอร์ ADB

แสดงที่อยู่ซ็อกเก็ตของเซิร์ฟเวอร์ ADB ในโฮสต์

เมธอดนี้จะพยายามแสดงผลที่อยู่ซ็อกเก็ตที่ทราบว่าใช้งานได้โดยการเปิดช่องซ็อกเก็ตไปยังเซิร์ฟเวอร์ ADB ระบบจะพยายามใช้ทั้งที่อยู่ Loopback IPv4 และ IPv6 ในกรณีที่ทั้ง 2 อย่างเชื่อมต่อไม่ได้ เมธอดนี้จะกลับไปใช้ที่อยู่ Loopback ที่ JVM ต้องการ ตรรกะสำรองนี้จำเป็นในการป้องกันไม่ให้ API หยุดทำงาน

หากเปิดใช้โหมดเซิร์ฟเวอร์ ADB ปลอม เมธอดนี้จะกลับไปใช้การติดตั้งใช้งานเดิมโดยอัตโนมัติโดยไม่ต้องพยายามเชื่อมต่อกับ ADB

การแสดงผล
InetSocketAddress

getVirtualDeviceId

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

พารามิเตอร์
service ListeningExecutorService

adb File

device IDevice

การแสดงผล
ListenableFuture<String>

hasInitialDeviceList

public boolean hasInitialDeviceList ()

แสดงผลว่าบริดจ์ได้รับรายการเริ่มต้นจาก adb หลังจากสร้างแล้วหรือไม่

โดยทั่วไปการเรียกใช้ getDevices() ทันทีหลังจาก createBridge(String, boolean) จะทำให้ได้รายการที่ว่างเปล่า เนื่องจากกลไกการสื่อสารแบบอะซิงโครนัสภายในกับ adb ซึ่งไม่รับประกันว่าระบบจะสร้างรายการ IDevice ก่อนการเรียกใช้ getDevices()

วิธีที่แนะนำในการรับรายการออบเจ็กต์ IDevice คือการสร้างออบเจ็กต์ IDeviceChangeListener

การแสดงผล
boolean

init

public static void init (AdbInitOptions options)

คล้ายกับ init(boolean) โดยมีความสามารถในการส่งชุดตัวแปร env ที่กำหนดเอง

พารามิเตอร์
options AdbInitOptions

init

public static void init (boolean clientSupport)

เริ่มต้นไลบรารี ddm

ต้องเรียกใช้ฟังก์ชันนี้ 1 ครั้งก่อนเรียกใช้ฟังก์ชัน createBridge(String, boolean)

นอกจากนี้ ควรเริ่มต้นค่ากำหนดของ ddmlib ด้วยค่าเริ่มต้นใดๆ ที่เปลี่ยนแปลงจากค่าเริ่มต้นด้วย

เมื่อแอปพลิเคชันออก ควรมีการเรียกใช้ฟังก์ชัน terminate()

พารามิเตอร์
clientSupport boolean: ระบุว่าไลบรารีควรเปิดใช้การตรวจสอบและการโต้ตอบกับแอปพลิเคชันที่ทำงานในอุปกรณ์หรือไม่

ดูเพิ่มเติม:

init

public static void init (boolean clientSupport, 
                boolean useLibusb, 
                 env)

คล้ายกับ init(boolean) โดยมีความสามารถในการเปิดใช้ libusb และส่งชุดตัวแปร env ที่กำหนดเอง

พารามิเตอร์
clientSupport boolean

useLibusb boolean

env

initIfNeeded

public static void initIfNeeded (boolean clientSupport)

เริ่มต้นไลบรารีเฉพาะในกรณีที่จำเป็นเท่านั้น เลิกใช้งานสำหรับการใช้ที่ไม่ใช่การทดสอบแล้ว

พารามิเตอร์
clientSupport boolean: ระบุว่าไลบรารีควรเปิดใช้การตรวจสอบและการโต้ตอบกับแอปพลิเคชันที่ทำงานในอุปกรณ์หรือไม่

ดูเพิ่มเติม:

isConnected

public boolean isConnected ()

แสดงผลว่าออบเจ็กต์ AndroidDebugBridge ยังคงเชื่อมต่อกับ Daemon ของ adb หรือไม่

การแสดงผล
boolean

isUserManagedAdbMode

public static boolean isUserManagedAdbMode ()

การแสดงผล
boolean ว่ามีการทำงานในโหมด ADB ที่จัดการโดยผู้ใช้หรือไม่ ซึ่งเป็นโหมดที่ ddmlib จะไม่จัดการและไม่ควรจัดการเซิร์ฟเวอร์ ADB เอง

openConnection

public static SocketChannel openConnection ()

พยายามเชื่อมต่อกับเซิร์ฟเวอร์ Android Debug Bridge ในเครื่อง

การแสดงผล
SocketChannel ซ็อกเก็ตที่เชื่อมต่อหากสำเร็จ

Throws
หากเกิดข้อผิดพลาดเมื่อเปิดการเชื่อมต่อ

removeClientChangeListener

public static void removeClientChangeListener (AndroidDebugBridge.IClientChangeListener listener)

นำ Listener ออกจากคอลเล็กชันของ Listener ที่จะได้รับการแจ้งเตือนเมื่อพร็อพเพอร์ตี้ ClientImpl เปลี่ยนแปลง

พารามิเตอร์
listener AndroidDebugBridge.IClientChangeListener: Listener ที่ไม่ควรได้รับการแจ้งเตือนอีกต่อไป

removeDebugBridgeChangeListener

public static void removeDebugBridgeChangeListener (AndroidDebugBridge.IDebugBridgeChangeListener listener)

นำ Listener ออกจากคอลเล็กชันของ Listener ที่จะได้รับการแจ้งเตือนเมื่อมีการเริ่ม AndroidDebugBridge ใหม่

พารามิเตอร์
listener AndroidDebugBridge.IDebugBridgeChangeListener: Listener ที่ไม่ควรได้รับการแจ้งเตือนอีกต่อไป

removeDeviceChangeListener

public static void removeDeviceChangeListener (AndroidDebugBridge.IDeviceChangeListener listener)

นำ Listener ออกจากกลุ่ม Listener ที่จะได้รับการแจ้งเตือนเมื่อมีการเชื่อมต่อ IDevice ยกเลิกการเชื่อมต่อ หรือเมื่อมีการเปลี่ยนแปลงพร็อพเพอร์ตี้หรือรายการ ClientImpl

พารามิเตอร์
listener AndroidDebugBridge.IDeviceChangeListener: Listener ที่ไม่ควรได้รับการแจ้งเตือนอีกต่อไป

Restart

public boolean restart (long timeout, 
                TimeUnit unit)

รีสตาร์ท adb แต่ไม่รีสตาร์ทบริการที่เกี่ยวข้อง

พารามิเตอร์
timeout long

unit TimeUnit

การแสดงผล
boolean True หากสำเร็จ

Restart

public boolean restart ()

เลิกใช้เมธอดนี้แล้ว
เมธอดนี้อาจค้างหาก ADB ไม่ตอบสนอง โปรดใช้ restart(long, TimeUnit) แทน

รีสตาร์ท adb แต่ไม่รีสตาร์ทบริการที่เกี่ยวข้อง

การแสดงผล
boolean True หากสำเร็จ

startAdb

public boolean startAdb (long timeout, 
                TimeUnit unit)

เริ่มเซิร์ฟเวอร์ adb ฝั่งโฮสต์ ไม่ควรใช้เมธอดนี้เมื่อใช้เซิร์ฟเวอร์ ADB ที่จัดการโดยผู้ใช้ เนื่องจากผู้ใช้ควรเป็นผู้จัดการวงจรของเซิร์ฟเวอร์ ไม่ใช่ ddmlib

พารามิเตอร์
timeout long

unit TimeUnit

การแสดงผล
boolean True หากสำเร็จ

Terminate

public static void terminate ()

สิ้นสุดการทำงานของไลบรารี ddm ต้องเรียกใช้เมื่อแอปพลิเคชันสิ้นสุดการทำงาน