DeviceManager

public class DeviceManager
extends Object implements IDeviceManager

java.lang.Object
   ↳ com.android.tradefed.device.DeviceManager


סיכום

כיתות במבנה היררכי

class DeviceManager.FastbootDevice

ייצוג של מכשיר במצב אתחול מהיר (Fastboot mode). 

ערכים קבועים

String UNKNOWN_DISPLAY_STRING

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

שדות

protected DeviceMonitorMultiplexer mDvcMon

protected boolean mFastbootEnabled

Constructors ציבוריים

DeviceManager()

צריך לאחזר את DeviceManager מ-GlobalConfiguration

‫methods ציבוריים

void addAvailableDevice(IDevice stubDevice)
void addAvailableNativeDevice(IDevice stubDevice)
void addDeviceMonitor(IDeviceMonitor mon)

הוספה של IDeviceMonitor

void addFastbootDevice(DeviceManager.FastbootDevice fastbootDevice)
void addFastbootListener(IDeviceManager.IFastbootListener listener)

הודעה למנהל על כך שרכיב listener מעוניין בשינויים במצב fastboot.

void addMonitoringTcpFastbootDevice(String serial, String fastbootSerial)

מוסיפים מכשיר ל-fastboot monitor.

ITestDevice allocateDevice(IDeviceSelection options, boolean isTemporary)

לבקש מכשיר לבדיקה שעומד בקריטריונים מסוימים.

ITestDevice allocateDevice(IDeviceSelection options)

לבקש מכשיר לבדיקה שעומד בקריטריונים מסוימים.

ITestDevice allocateDevice()

בקשה למכשיר פיזי לצורך בדיקה

ITestDevice connectToTcpDevice(String ipAndPort)

התחברות למכשיר באמצעות adb-over-tcp

בשיטה הזו מוקצה מכשיר חדש, שבסופו של דבר צריך לשחרר אותו באמצעות disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice)

המוצר המוחזר ITestDevice יהיה מחובר לאינטרנט, אבל יכול להיות שלא יגיב.

boolean disconnectFromTcpDevice(ITestDevice tcpDevice)

ניתוק ממכשיר שמחובר באמצעות adb-over-tcp.

void displayDevicesInfo(PrintWriter stream, boolean includeStub)

תפיק תיאור ידידותי למשתמש שמכיל רשימה של מכשירים מוכרים, המצב שלהם והערכים של אפשרויות IDeviceSelection שנמצאות בשימוש נפוץ.

CommandResult executeCmdOnAvailableDevice(String serial, String command, long timeout, TimeUnit timeUnit)

שיטת עזר להפעלת פקודת מעטפת במכשיר זמין.

String executeGlobalAdbCommand(String... cmdArgs)

מריצים פקודת adb שלא מיועדת למכשיר מסוים, למשל:

ITestDevice forceAllocateDevice(String serial)

להקצות מכשיר בצורה גסה, גם אם הוא לא זמין כרגע.

void freeDevice(ITestDevice device, FreeDeviceState deviceState)

החזרת מכשיר למאגר

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

String getAdbPath()

הפונקציה מחזירה את הנתיב לקובץ הבינארי של adb שבו יש להשתמש.

String getAdbVersion()

מקבלים את גרסת ה-adb שנמצאת כרגע בשימוש במנהל המכשירים.

DeviceDescriptor getDeviceDescriptor(String serial)

מחזירה את DeviceDescriptor עם המספר הסידורי הנתון.

String getFastbootPath()

הפונקציה מחזירה את הנתיב לקובץ הבינארי של fastboot שבו רוצים להשתמש.

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors, IManagedTestDeviceFactory deviceFactory)

מאותחלים את מנהל המכשירים.

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors)

מאותחלים את מנהל המכשירים.

void init()

מאותחלים את מנהל המכשירים.

boolean isEmulator(String serial)

קביעה אם מספר סידורי נתון מייצג אמולטור

boolean isFileSystemMountCheckEnabled()

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

boolean isNullDevice(String serial)

קביעה אם מספר סידורי נתון מייצג מכשיר null

void killEmulator(ITestDevice device)

מכבים את האמולטור הנתון.

void launchEmulator(ITestDevice device, long bootTimeout, IRunUtil runUtil, emulatorArgs)

שיטת עזר להפעלת האמולטור.

listAllDevices(boolean shortDescriptor)

מחזירה רשימה של DeviceDescriptors לכל המכשירים הידועים

listAllDevices()

מחזירה רשימה של DeviceDescriptors לכל המכשירים הידועים

ITestDevice reconnectDeviceToTcp(ITestDevice usbDevice)

שיטת עזר שמעבירה את מכשיר ה-USB הנתון למצב adb-over-tcp, ואז מתחברת אליו באמצעות connectToTcpDevice(String).

void removeDeviceMonitor(IDeviceMonitor mon)

הסרת IDeviceMonitor שנוסף בעבר.

void removeFastbootListener(IDeviceManager.IFastbootListener listener)

הפונקציה מודיעה למנהל שהמאזין כבר לא מעוניין בשינויים במצב של fastboot.

void removeMonitoringTcpFastbootDevice(String serial)

void restartAdbBridge()

מפעילים מחדש (אם בוצעה קריאה ל-stopAdbBridge()) את גשר adb והשירותים תלויים בחיבורי adb.

void stopAdbBridge()

עוצרים את adb bridge ואת השירותים שתלויים בחיבורי adb.

void terminate()

מפסיק את שירותי המעקב אחרי המכשיר ומסיים את השימוש בספריית ddm.

void terminateDeviceMonitor()

מפסיקים את השימוש בכלי 'מעקב אחרי מכשירים'.

void terminateDeviceRecovery()

הפעולה מפסיקה את השרשור של שחזור המכשיר.

void terminateHard(String reason)

כמו terminateHard().

void terminateHard()

בדומה ל-terminate(), אבל מנסה גם לסגור בכוח את adb.

boolean waitForFirstDeviceAdded(long timeout)

ממתינים עד שמכשיר פיזי ראשון מתחבר.

ערכים קבועים

UNKNOWN_DISPLAY_STRING

public static final String UNKNOWN_DISPLAY_STRING

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

ערך קבוע: ‎"unknown"‎

שדות

mDvcMon

protected DeviceMonitorMultiplexer mDvcMon

mFastbootEnabled

protected boolean mFastbootEnabled

Constructors ציבוריים

DeviceManager

public DeviceManager ()

צריך לאחזר את DeviceManager מ-GlobalConfiguration

‫methods ציבוריים

addAvailableDevice

public void addAvailableDevice (IDevice stubDevice)

פרמטרים
stubDevice IDevice

addAvailableNativeDevice

public void addAvailableNativeDevice (IDevice stubDevice)

פרמטרים
stubDevice IDevice

addDeviceMonitor

public void addDeviceMonitor (IDeviceMonitor mon)

הוספה של IDeviceMonitor

פרמטרים
mon IDeviceMonitor

addFastbootDevice

public void addFastbootDevice (DeviceManager.FastbootDevice fastbootDevice)

פרמטרים
fastbootDevice DeviceManager.FastbootDevice

addFastbootListener

public void addFastbootListener (IDeviceManager.IFastbootListener listener)

הודעה למנהל על כך שרכיב listener מעוניין בשינויים במצב fastboot.

בשלב הזה, IDeviceManager ינטר רק מכשירים במצב fastboot אם יש מאזין פעיל אחד או יותר.

לא לשכוח: זה פתרון עקיף – צריך למצוא פתרון טוב יותר

addMonitoringTcpFastbootDevice

public void addMonitoringTcpFastbootDevice (String serial, 
                String fastbootSerial)

מוסיפים מכשיר ל-fastboot monitor. הכלי fastboot monitor ישתמש ב-fastboot_serial כדי לתקשר עם המכשיר.

פרמטרים
serial String: המספר הסידורי של המכשיר.

fastbootSerial String: המספר הסידורי של המכשיר במצב fastboot.

allocateDevice

public ITestDevice allocateDevice (IDeviceSelection options, 
                boolean isTemporary)

לבקש מכשיר לבדיקה שעומד בקריטריונים מסוימים.

פרמטרים
options IDeviceSelection: IDeviceSelection שהמכשיר צריך לעמוד בה.

isTemporary boolean: האם ליצור NullDevice זמני.

החזרות
ITestDevice ITestDevice לבדיקה, או null אם אין אפשרות כזו

allocateDevice

public ITestDevice allocateDevice (IDeviceSelection options)

לבקש מכשיר לבדיקה שעומד בקריטריונים מסוימים.

פרמטרים
options IDeviceSelection: IDeviceSelection שהמכשיר צריך לעמוד בה.

החזרות
ITestDevice ITestDevice לבדיקה, או null אם אין אפשרות כזו

allocateDevice

public ITestDevice allocateDevice ()

בקשה למכשיר פיזי לצורך בדיקה

החזרות
ITestDevice ITestDevice לבדיקה, או null אם אין אפשרות כזו

connectToTcpDevice

public ITestDevice connectToTcpDevice (String ipAndPort)

התחברות למכשיר באמצעות adb-over-tcp

בשיטה הזו מוקצה מכשיר חדש, שבסופו של דבר צריך לשחרר אותו באמצעות disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice)

המוצר המוחזר ITestDevice יהיה מחובר לאינטרנט, אבל יכול להיות שלא יגיב.

שימו לב: ביצוע פעולה כמו הפעלה מחדש במכשיר שמחובר ל-TCP ינתק את חיבור ה-TCP למכשיר, ויגרום להצגת השגיאה DeviceNotAvailableException

פרמטרים
ipAndPort String: כתובת ה-IP והיציאה המקוריות של המכשיר שאליו רוצים להתחבר

החזרות
ITestDevice ITestDevice או null אם לא ניתן ליצור חיבור TCP

disconnectFromTcpDevice

public boolean disconnectFromTcpDevice (ITestDevice tcpDevice)

ניתוק ממכשיר שמחובר באמצעות adb-over-tcp.

הפקודה מחזירה את המכשיר למצב USB ומשחררת אותו.

פרמטרים
tcpDevice ITestDevice: המכשיר נמצא כרגע במצב tcp, והוקצה קודם באמצעות connectToTcpDevice(String)

החזרות
boolean true אם המעבר למצב USB הצליח

displayDevicesInfo

public void displayDevicesInfo (PrintWriter stream, 
                boolean includeStub)

תפיק תיאור ידידותי למשתמש שמכיל רשימה של מכשירים מוכרים, המצב שלהם והערכים שלהם לאפשרויות IDeviceSelection שמשמשות בדרך כלל.

פרמטרים
stream PrintWriter: ERROR(/PrintWriter) שאליו רוצים להוציא את התיאור

includeStub boolean: האם להציג גם מכשירי stub.

executeCmdOnAvailableDevice

public CommandResult executeCmdOnAvailableDevice (String serial, 
                String command, 
                long timeout, 
                TimeUnit timeUnit)

שיטת עזר להפעלת פקודת מעטפת במכשיר זמין.

פרמטרים
serial String: המספר הסידורי של המכשיר.

command String: פקודת ה-Shell.

timeout long: משך הזמן שנדרש להשלמת הפקודה.

timeUnit TimeUnit: היחידה של הזמן הקצוב לתפוגה.

החזרות
CommandResult CommandResult.

executeGlobalAdbCommand

public String executeGlobalAdbCommand (String... cmdArgs)

מריצים פקודת adb שלא מיועדת למכשיר מסוים, למשל: ‫'adb connect'

החזרות
String פלט רגיל אם הפקודה הצליחה, אחרת null.

forceAllocateDevice

public ITestDevice forceAllocateDevice (String serial)

להקצות מכשיר בצורה גסה, גם אם הוא לא זמין כרגע.

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

פרמטרים
serial String: המספר הסידורי של המכשיר להקצאה

החזרות
ITestDevice ITestDevice או null אם לא ניתן להקצות אותו

freeDevice

public void freeDevice (ITestDevice device, 
                FreeDeviceState deviceState)

החזרת מכשיר למאגר

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

פרמטרים
device ITestDevice: ITestDevice עד חינם

deviceState FreeDeviceState: FreeDeviceState. המאפיין הזה משמש כדי לקבוע אם המכשיר יוחזר למאגר המכשירים הזמינים.

getAdbPath

public String getAdbPath ()

הפונקציה מחזירה את הנתיב לקובץ הבינארי של adb שבו יש להשתמש.

החזרות
String

getAdbVersion

public String getAdbVersion ()

מקבלים את גרסת ה-adb שנמצאת כרגע בשימוש במנהל המכשירים.

החזרות
String

getDeviceDescriptor

public DeviceDescriptor getDeviceDescriptor (String serial)

מחזירה את DeviceDescriptor עם המספר הסידורי הנתון.

פרמטרים
serial String: המספר הסידורי של המכשיר שרוצים לקבל

החזרות
DeviceDescriptor DeviceDescriptor של המכשיר שנבחר, או null אם המספר הסידורי לא תואם למכשיר מוכר.

getFastbootPath

public String getFastbootPath ()

הפונקציה מחזירה את הנתיב לקובץ הבינארי של fastboot שבו רוצים להשתמש.

החזרות
String

init

public void init (IDeviceSelection globalDeviceFilter, 
                 globalDeviceMonitors, 
                IManagedTestDeviceFactory deviceFactory)

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

פרמטרים
globalDeviceFilter IDeviceSelection

globalDeviceMonitors

deviceFactory IManagedTestDeviceFactory

init

public void init (IDeviceSelection globalDeviceFilter, 
                 globalDeviceMonitors)

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

פרמטרים
globalDeviceFilter IDeviceSelection: מסנן המכשירים

globalDeviceMonitors

init

public void init ()

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

isEmulator

public boolean isEmulator (String serial)

קביעה אם מספר סידורי נתון מייצג אמולטור

פרמטרים
serial String

החזרות
boolean

isFileSystemMountCheckEnabled

public boolean isFileSystemMountCheckEnabled ()

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

החזרות
boolean

isNullDevice

public boolean isNullDevice (String serial)

קביעה אם מספר סידורי נתון מייצג מכשיר null

פרמטרים
serial String

החזרות
boolean

killEmulator

public void killEmulator (ITestDevice device)

מכבים את האמולטור הנתון.

החסימה נמשכת עד שהאמולטור נעלם מ-adb. לא תהיה לכך השפעה אם האמולטור כבר לא זמין.

פרמטרים
device ITestDevice: ITestDevice שמייצג את האמולטור שרוצים לסגור

זריקות
DeviceNotAvailableException

launchEmulator

public void launchEmulator (ITestDevice device, 
                long bootTimeout, 
                IRunUtil runUtil, 
                 emulatorArgs)

שיטת עזר להפעלת האמולטור.

האמולטור יופעל בהתאם להגדרות שצוינו על ידי המתקשר

פרמטרים
device ITestDevice: placeholder ‏ITestDevice שמייצג מכשיר אמולטור שהוקצה

bootTimeout long: משך הזמן באלפיות השנייה להמתנה עד שהאמולטור יופעל

emulatorArgs : ארגומנטים בשורת הפקודה להפעלת האמולטור

זריקות
DeviceNotAvailableException

listAllDevices

public  listAllDevices (boolean shortDescriptor)

מחזירה רשימה של DeviceDescriptors לכל המכשירים הידועים

פרמטרים
shortDescriptor boolean: האם להגביל את התיאורים למידע מינימלי

החזרות
רשימה של DeviceDescriptor לכל המכשירים המוכרים

listAllDevices

public  listAllDevices ()

מחזירה רשימה של DeviceDescriptors לכל המכשירים הידועים

החזרות
רשימה של DeviceDescriptor לכל המכשירים המוכרים

reconnectDeviceToTcp

public ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)

שיטת עזר שמעבירה את מכשיר ה-USB הנתון למצב adb-over-tcp, ואז מתחברת אליו באמצעות connectToTcpDevice(String).

פרמטרים
usbDevice ITestDevice: המכשיר שנמצא כרגע במצב USB

החזרות
ITestDevice הערך ITestDevice שהוקצה לאחרונה במצב tcp או null אם לא ניתן היה ליצור חיבור tcp

זריקות
DeviceNotAvailableException

removeDeviceMonitor

public void removeDeviceMonitor (IDeviceMonitor mon)

הסרת IDeviceMonitor שנוסף בעבר. אין לה השפעה אם לא נוסף צג.

פרמטרים
mon IDeviceMonitor

removeFastbootListener

public void removeFastbootListener (IDeviceManager.IFastbootListener listener)

הפונקציה מודיעה למנהל שהמאזין כבר לא מעוניין בשינויים במצב של fastboot.

removeMonitoringTcpFastbootDevice

public void removeMonitoringTcpFastbootDevice (String serial)

פרמטרים
serial String

restartAdbBridge

public void restartAdbBridge ()

מפעילים מחדש (אם בוצעה קריאה ל-stopAdbBridge()) את גשר adb והשירותים תלויים בחיבורי adb.

stopAdbBridge

public void stopAdbBridge ()

עוצרים את adb bridge ואת השירותים שתלויים בחיבורי adb.

לסגור

public void terminate ()

מפסיק את שירותי המעקב אחרי המכשיר ומסיים את השימוש בספריית ddm.

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

terminateDeviceMonitor

public void terminateDeviceMonitor ()

מפסיקים את השימוש בכלי 'מעקב אחרי מכשירים'.

terminateDeviceRecovery

public void terminateDeviceRecovery ()

הפסקת השרשור של שחזור המכשיר.

terminateHard

public void terminateHard (String reason)

כמו terminateHard().

פרמטרים
reason String: סיבה אופציונלית שניתנה לסיום.

terminateHard

public void terminateHard ()

בדומה ל-terminate(), אבל מנסה גם לסגור בכוח את adb.

waitForFirstDeviceAdded

public boolean waitForFirstDeviceAdded (long timeout)

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

פרמטרים
timeout long: משך ההמתנה באלפיות השנייה לפני החזרת הערך false.

החזרות
boolean