AndroidDebugBridge

public class AndroidDebugBridge
extends Object

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


חיבור לממשק הגישור של Android‏ (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 שנתמכת.

‫methods ציבוריים

static void addClientChangeListener(AndroidDebugBridge.IClientChangeListener listener)

הפעולה מוסיפה את ה-listener לאוסף ה-listeners שיקבלו הודעה על שינוי בנכס ClientImpl, על ידי שליחת אחת מההודעות שמוגדרות בממשק IClientChangeListener.

static void addDebugBridgeChangeListener(AndroidDebugBridge.IDebugBridgeChangeListener listener)

הפונקציה מוסיפה את המאזין לאוסף המאזינים שיקבלו הודעה כשמתחבר AndroidDebugBridge חדש, על ידי שליחת אחת מההודעות שמוגדרות בממשק IDebugBridgeChangeListener.

static void addDeviceChangeListener(AndroidDebugBridge.IDeviceChangeListener listener)

הפונקציה מוסיפה את המאזין לאוסף המאזינים שיקבלו הודעה כש-IDevice מחובר, מנותק או כשהמאפיינים שלו או רשימת ClientImpl שלו משתנים, על ידי שליחת אחת מההודעות שמוגדרות בממשק IDeviceChangeListener.

static void clientChanged(ClientImpl client, int changeMask)

הודעה למאזין על שינוי ב-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)

יוצר גשר חדש לניפוי באגים מהמיקום של כלי שורת הפקודה.

static void deviceChanged(IDevice device, int changeMask)

הודעה למאזין על שינוי ב-IDevice.

static void deviceConnected(IDevice device)

תעדכן את המאזין לגבי IDevice חדש.

static void deviceDisconnected(IDevice device)

הודעה למאזין על ניתוק IDevice.

static void disableFakeAdbServerMode()
static void disconnectBridge()

השיטה הזו הוצאה משימוש. יכול להיות שהשיטה הזו תיתקע אם ADB לא מגיב. במקומה צריך להשתמש במדיניות disconnectBridge(long, TimeUnit).

static boolean disconnectBridge(long timeout, TimeUnit unit)

מנתק את גשר הניפוי הנוכחי ומשמיד את האובייקט.

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

מחזירה את גשר הניפוי באגים הנוכחי.

static boolean getClientSupport()

הפונקציה מחזירה ערך בוליאני שקובע אם ddmlib מוגדר לתמיכה במעקב אחרי ClientImpls שפועלים ב-IDevices ובאינטראקציה איתם.

int getConnectionAttemptCount()

הפונקציה מחזירה את מספר הפעמים שאובייקט AndroidDebugBridge ניסה להתחבר לדמון של adb.

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

החזרת המכשירים.

ListenableFuture<> getRawDeviceList()

הפונקציה מחזירה את קבוצת המכשירים שדווחו על ידי שורת הפקודה adb.

int getRestartAttemptCount()

הפונקציה מחזירה את מספר הפעמים שאובייקט AndroidDebugBridge ניסה להפעיל מחדש את שד ה-adb.

static InetSocketAddress getSocketAddress()

השיטה הזו הוצאה משימוש. השיטה הזו מחזירה כתובת שרת של לולאה חוזרת, שיכול להיות שהיא לא תהיה זהה לכתובת שבה משתמש שרת ה-ADB. כלומר, יכול להיות ש-JVM יהיה במצב IPv4, בזמן ששרת ה-ADB מתארח בכתובת לולאה חוזרת של IPv6. עדיף להשתמש ב-openConnection() כשפותחים חיבור לשרת ADB.

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

הפונקציה מחזירה ערך בוליאני שמציין אם הגשר קיבל את הרשימה הראשונית מ-adb אחרי שהוא נוצר.

static void init(AdbInitOptions options)

בדומה ל-init(boolean), עם אפשרות להעביר קבוצה מותאמת אישית של משתני סביבה.

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.

static boolean isUserManagedAdbMode()
static SocketChannel openConnection()

מנסה להתחבר לשרת המקומי של Android Debug Bridge.

static void removeClientChangeListener(AndroidDebugBridge.IClientChangeListener listener)

מסירה את מאזין האירועים מאוסף מאזיני האירועים שיקבלו הודעה כשמאפיין ClientImpl משתנה.

static void removeDebugBridgeChangeListener(AndroidDebugBridge.IDebugBridgeChangeListener listener)

מסירה את המאזין מהאוסף של המאזינים שיקבלו הודעה כשמתחיל AndroidDebugBridge חדש.

static void removeDeviceChangeListener(AndroidDebugBridge.IDeviceChangeListener 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

‫methods ציבוריים

addClientChangeListener

public static void addClientChangeListener (AndroidDebugBridge.IClientChangeListener listener)

הפעולה מוסיפה את ה-listener לאוסף ה-listeners שיקבלו הודעה על שינוי בנכס ClientImpl, על ידי שליחת אחת מההודעות שמוגדרות בממשק IClientChangeListener.

פרמטרים
listener AndroidDebugBridge.IClientChangeListener: המאזין שצריך לקבל התראה.

addDebugBridgeChangeListener

public static void addDebugBridgeChangeListener (AndroidDebugBridge.IDebugBridgeChangeListener listener)

הפונקציה מוסיפה את המאזין לאוסף המאזינים שיקבלו הודעה כשמתחבר AndroidDebugBridge חדש, על ידי שליחת אחת מההודעות שמוגדרות בממשק IDebugBridgeChangeListener.

פרמטרים
listener AndroidDebugBridge.IDebugBridgeChangeListener: המאזין שאליו צריך לשלוח את ההתראה.

addDeviceChangeListener

public static void addDeviceChangeListener (AndroidDebugBridge.IDeviceChangeListener listener)

הפונקציה מוסיפה את המאזין לאוסף המאזינים שיקבלו הודעה כש-IDevice מחובר, מנותק או כשהמאפיינים שלו או רשימת ClientImpl שלו השתנו, על ידי שליחת אחת מההודעות שמוגדרות בממשק IDeviceChangeListener.

פרמטרים
listener AndroidDebugBridge.IDeviceChangeListener: המאזין שאליו צריך לשלוח את ההתראה.

clientChanged

public static void clientChanged (ClientImpl client, 
                int changeMask)

הודעה למאזין על שינוי ב-ClientImpl.

ההודעה על המאזינים מתבצעת בבלוק מסונכרן. חשוב לצפות שהמאזינים יוכלו לגשת לשיטות שונות של 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).

יוצר גשר חדש לניפוי באגים מהמיקום של כלי שורת הפקודה.

כל שרת קיים ינותק, אלא אם המיקום זהה והערך של forceNewBridge הוא false.

פרמטרים
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)

יוצר גשר חדש לניפוי באגים מהמיקום של כלי שורת הפקודה.

כל שרת קיים ינותק, אלא אם המיקום זהה והערך של forceNewBridge הוא false.

פרמטרים
osLocation String: המיקום של כלי שורת הפקודה adb

forceNewBridge boolean: יצירה בכוח של גשר חדש, גם אם כבר קיים גשר עם אותו מיקום.

timeout long: זמן ההמתנה המקסימלי

unit TimeUnit: יחידת הזמן של הארגומנט timeout

החזרות
AndroidDebugBridge גשר מחובר, או null אם היו שגיאות במהלך היצירה או החיבור לגשר

deviceChanged

public static void deviceChanged (IDevice device, 
                int changeMask)

הודעה למאזין על שינוי ב-IDevice.

ההודעה על המאזינים מתבצעת בבלוק מסונכרן. חשוב לצפות שהמאזינים יוכלו לגשת לשיטות שונות של IDevice וגם ל-getDevices() שמשתמשים בנעילות פנימיות.

פרמטרים
device IDevice: ה-IDevice ששונה.

changeMask int

deviceConnected

public static void deviceConnected (IDevice device)

תעדכן את המאזין לגבי IDevice חדש.

ההודעה על המאזינים מתבצעת בבלוק מסונכרן. חשוב לצפות שהמאזינים יוכלו לגשת לשיטות שונות של IDevice וגם ל-getDevices() שמשתמשת בנעילות פנימיות.

פרמטרים
device IDevice: ה-IDevice החדש.

deviceDisconnected

public static void deviceDisconnected (IDevice device)

הודעה למאזין על ניתוק IDevice.

ההודעה על המאזינים מתבצעת בבלוק מסונכרן. חשוב לצפות שהמאזינים יוכלו לגשת לשיטות שונות של IDevice וגם ל-getDevices() שמשתמשת בנעילות פנימיות.

פרמטרים
device IDevice: IDevice המנותק.

disableFakeAdbServerMode

public static void disableFakeAdbServerMode ()

disconnectBridge

public static void disconnectBridge ()

השיטה הזו הוצאה משימוש.
יכול להיות שהשיטה הזו תיתקע אם ADB לא מגיב. במקום זאת, אתם צריכים להשתמש ב-disconnectBridge(long, TimeUnit).

מנתק את גשר הניפוי הנוכחי ומשמיד את האובייקט. צריך ליצור אובייקט חדש באמצעות createBridge(String, boolean).

הפעולה הזו גם תעצור את שרת המארח הנוכחי של adb.

disconnectBridge

public static boolean disconnectBridge (long timeout, 
                TimeUnit unit)

מנתק את גשר הניפוי הנוכחי ומשמיד את האובייקט. צריך ליצור אובייקט חדש באמצעות 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 ()

מחזירה את גשר הניפוי באגים הנוכחי. יכול להיות null אם לא נוצרו קבצים.

החזרות
AndroidDebugBridge

getClientSupport

public static boolean getClientSupport ()

הפונקציה מחזירה ערך בוליאני שקובע אם ddmlib מוגדר לתמיכה במעקב אחרי ClientImpls שפועלים ב-IDevices ובאינטראקציה איתם.

החזרות
boolean

getConnectionAttemptCount

public int getConnectionAttemptCount ()

הפונקציה מחזירה את מספר הפעמים שאובייקט AndroidDebugBridge ניסה להתחבר לדמון של adb.

החזרות
int

getDebugBridgeChangeListenerCount

public static int getDebugBridgeChangeListenerCount ()

החזרות
int

getDeviceChangeListenerCount

public static int getDeviceChangeListenerCount ()

החזרות
int

getDevices

public IDevice[] getDevices ()

החזרת המכשירים.

החזרות
IDevice[]

מידע נוסף:

getRawDeviceList

public ListenableFuture<> getRawDeviceList ()

הפונקציה מחזירה את קבוצת המכשירים שדווחו על ידי שורת הפקודה adb. הפעולה הזו מיועדת בעיקר ל-Connection Assistant או לכלי אבחון אחרים שצריכים לאמת את המצב של רשימת getDevices() דרך ערוץ אחר. קוד שצריך רק לגשת לרשימת המכשירים צריך לקרוא ל-getDevices() במקום זאת.

החזרות
ListenableFuture<>

getRestartAttemptCount

public int getRestartAttemptCount ()

הפונקציה מחזירה את מספר הפעמים שאובייקט AndroidDebugBridge ניסה להפעיל מחדש את שד ה-adb.

החזרות
int

getSocketAddress

public static InetSocketAddress getSocketAddress ()

השיטה הזו הוצאה משימוש.
השיטה הזו מחזירה כתובת שרת של לולאה חוזרת, שיכול להיות שהיא לא תואמת לכתובת שבה נעשה שימוש על ידי שרת ה-ADB. כלומר, יכול להיות שה-JVM יהיה במצב IPv4, בזמן ששרת ה-ADB מתארח בכתובת הלולאה החוזרת של IPv6. עדיף להשתמש ב-openConnection() כשפותחים חיבור לשרת ADB.

הפונקציה מחזירה את כתובת הסוקט של שרת ה-ADB במארח.

השיטה הזו תנסה להחזיר כתובת socket שידוע שהיא פועלת, על ידי פתיחת ערוץ socket לשרת ADB. המערכת תנסה להשתמש בכתובת לולאה חוזרת של IPv4 ושל IPv6. במקרה שבו אף אחד מהם לא הצליח להתחבר, השיטה הזו תחזור לכתובת הלולאה החוזרת המועדפת על ידי 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), עם אפשרות להעביר קבוצה מותאמת אישית של משתני סביבה.

פרמטרים
options AdbInitOptions

init

public static void init (boolean clientSupport)

מאתחלת את הספרייה ddm.

צריך להפעיל את הפונקציה הזו פעם אחת לפני כל קריאה ל-createBridge(String, boolean).

צריך גם לאתחל את ההעדפות של ddmlib עם כל ערכי ברירת המחדל שהשתנו מערכי ברירת המחדל.

כשיוצאים מהאפליקציה, צריך להפעיל את הפונקציה terminate().

פרמטרים
clientSupport boolean: מציין אם הספרייה צריכה להפעיל את המעקב ואת האינטראקציה עם האפליקציות שפועלות במכשירים.

init

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

בדומה ל-init(boolean), עם אפשרות להפעיל את libusb ולהעביר קבוצה מותאמת אישית של משתני סביבה.

פרמטרים
clientSupport boolean

useLibusb boolean

env

initIfNeeded

public static void initIfNeeded (boolean clientSupport)

הספרייה מאותחלת רק אם צריך. הוצאה משימוש לשימושים שאינם בדיקות.

פרמטרים
clientSupport boolean: מציין אם הספרייה צריכה להפעיל את המעקב ואת האינטראקציה עם האפליקציות שפועלות במכשירים.

מידע נוסף:

isConnected

public boolean isConnected ()

הפונקציה מחזירה אם אובייקט AndroidDebugBridge עדיין מחובר לדמון adb.

החזרות
boolean

isUserManagedAdbMode

public static boolean isUserManagedAdbMode ()

החזרות
boolean אם פועלים במצב ADB מנוהל על ידי המשתמש, שבו ddmlib לא ינהל את שרת ה-ADB ולא אמור לנהל אותו.

openConnection

public static SocketChannel openConnection ()

מנסה להתחבר לשרת המקומי של Android Debug Bridge.

החזרות
SocketChannel שקע מחובר אם הפעולה הצליחה

זריקות
אם מתרחשות שגיאות כשפותחים את החיבור

removeClientChangeListener

public static void removeClientChangeListener (AndroidDebugBridge.IClientChangeListener listener)

מסירה את מאזין האירועים מאוסף מאזיני האירועים שיקבלו הודעה כשמאפיין ClientImpl משתנה.

פרמטרים
listener AndroidDebugBridge.IClientChangeListener: המאזין שלא צריך יותר לקבל התראות.

removeDebugBridgeChangeListener

public static void removeDebugBridgeChangeListener (AndroidDebugBridge.IDebugBridgeChangeListener listener)

מסירה את המאזין מהאוסף של המאזינים שיקבלו הודעה כשמתחיל AndroidDebugBridge חדש.

פרמטרים
listener AndroidDebugBridge.IDebugBridgeChangeListener: המאזין שלא צריך יותר לקבל התראות.

removeDeviceChangeListener

public static void removeDeviceChangeListener (AndroidDebugBridge.IDeviceChangeListener listener)

הפונקציה מסירה את המאזין מהאוסף של המאזינים שיקבלו הודעה כש-IDevice מחובר, מנותק או כשהמאפיינים שלו או רשימת ClientImpl שלו משתנים.

פרמטרים
listener AndroidDebugBridge.IDeviceChangeListener: המאזין שלא צריך יותר לקבל התראות.

הפעלה מחדש

public boolean restart (long timeout, 
                TimeUnit unit)

מפעיל מחדש את adb, אבל לא את השירותים שסביבו.

פרמטרים
timeout long

unit TimeUnit

החזרות
boolean ‫true אם הפעולה הצליחה.

הפעלה מחדש

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 אם הפעולה בוצעה בהצלחה

לסגור

public static void terminate ()

הפונקציה מסיימת את השימוש בספריית ddm. צריך להפעיל את הפונקציה הזו כשמפסיקים את האפליקציה.