DeviceManager

public class DeviceManager
extends Object implements IDeviceManager

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


Zusammenfassung

Verschachtelte Klassen

class DeviceManager.FastbootDevice

Darstellung eines Geräts im Schnellstartmodus (Fastboot mode). 

Konstanten

String UNKNOWN_DISPLAY_STRING

Anzeigestrings für unbekannte Properties

Felder

protected DeviceMonitorMultiplexer mDvcMon

protected boolean mFastbootEnabled

Öffentliche Konstruktoren

DeviceManager()

Der DeviceManager sollte aus dem GlobalConfiguration abgerufen werden.

Öffentliche Methoden

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

Fügt eine IDeviceMonitor hinzu

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

Informiert den Manager darüber, dass ein Listener an Änderungen des Fastboot-Status interessiert ist.

void addMonitoringTcpFastbootDevice(String serial, String fastbootSerial)

Gerät zur Fastboot-Überwachung hinzufügen

ITestDevice allocateDevice(IDeviceSelection options, boolean isTemporary)

Sie können ein Gerät zum Testen anfordern, das bestimmte Kriterien erfüllt.

ITestDevice allocateDevice(IDeviceSelection options)

Sie können ein Gerät zum Testen anfordern, das bestimmte Kriterien erfüllt.

ITestDevice allocateDevice()

Physisches Gerät für Tests anfordern

ITestDevice connectToTcpDevice(String ipAndPort)

Mit einem Gerät über „adb-over-tcp“ verbinden

Mit dieser Methode wird ein neues Gerät zugewiesen, das schließlich über disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice) freigegeben werden sollte.

Das zurückgegebene ITestDevice ist online, reagiert aber möglicherweise nicht.

boolean disconnectFromTcpDevice(ITestDevice tcpDevice)

Trennen Sie die Verbindung zu einem Gerät, das über „adb over tcp“ verbunden ist.

void displayDevicesInfo(PrintWriter stream, boolean includeStub)

Gib eine benutzerfreundliche Beschreibung mit einer Liste der bekannten Geräte, ihres Status und der Werte für häufig verwendete IDeviceSelection-Optionen aus.

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

Eine Hilfsmethode zum Ausführen von Shell-Befehlen auf einem verfügbaren Gerät.

String executeGlobalAdbCommand(String... cmdArgs)

Führen Sie einen ADB-Befehl aus, der nicht auf ein bestimmtes Gerät ausgerichtet ist, z. B.

ITestDevice forceAllocateDevice(String serial)

Weisen Sie ein Gerät auf unhöfliche Weise zu, auch wenn es derzeit nicht verfügbar ist.

void freeDevice(ITestDevice device, FreeDeviceState deviceState)

Gerät in den Pool zurückgeben

Versuche, ein Gerät zurückzugeben, das zuvor nicht zugewiesen wurde, werden ignoriert.

String getAdbPath()

Gibt den Pfad zum zu verwendenden ADB-Binärprogramm zurück.

String getAdbVersion()

Rufen Sie die ADB-Version ab, die derzeit vom Geräte-Manager verwendet wird.

DeviceDescriptor getDeviceDescriptor(String serial)

Gibt den DeviceDescriptor mit der angegebenen Seriennummer zurück.

String getFastbootPath()

Gibt den Pfad zur zu verwendenden Fastboot-Binärdatei zurück.

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors, IManagedTestDeviceFactory deviceFactory)

Geräte-Manager initialisieren

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors)

Geräte-Manager initialisieren

void init()

Geräte-Manager initialisieren

boolean isEmulator(String serial)

Ermitteln, ob die angegebene Seriennummer einen Emulator darstellt

boolean isFileSystemMountCheckEnabled()

Gibt zurück, ob geprüft werden soll, ob das Dateisystem in NativeDeviceStateMonitor korrekt bereitgestellt wurde.

boolean isNullDevice(String serial)

Ermitteln, ob die angegebene Seriennummer ein Nullmodemgerät darstellt

void killEmulator(ITestDevice device)

Fährt den angegebenen Emulator herunter.

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

Helper-Methode zum Starten des Emulators.

listAllDevices(boolean shortDescriptor)

Gibt eine Liste von DeviceDescriptors für alle bekannten Geräte zurück.

listAllDevices()

Gibt eine Liste von DeviceDescriptors für alle bekannten Geräte zurück.

ITestDevice reconnectDeviceToTcp(ITestDevice usbDevice)

Eine Hilfsmethode, die das angegebene USB-Gerät in den ADB-over-TCP-Modus schaltet und dann über connectToTcpDevice(String) eine Verbindung dazu herstellt.

void removeDeviceMonitor(IDeviceMonitor mon)

Entfernt eine zuvor hinzugefügte IDeviceMonitor.

void removeFastbootListener(IDeviceManager.IFastbootListener listener)

Informiert den Manager darüber, dass ein Listener nicht mehr an Änderungen des Fastboot-Status interessiert ist.

void removeMonitoringTcpFastbootDevice(String serial)

void restartAdbBridge()

Starten Sie die ADB-Bridge und die Dienste neu, wenn stopAdbBridge() aufgerufen wurde. Die Dienste sind von ADB-Verbindungen abhängig.

void stopAdbBridge()

adb-Bridge und Dienste, die von adb-Verbindungen abhängen, werden beendet.

void terminate()

Beendet die Dienste zur Geräteüberwachung und beendet die DDM-Bibliothek.

void terminateDeviceMonitor()

Beenden Sie die Geräteüberwachung.

void terminateDeviceRecovery()

Beendet den Thread zur Geräte-Wiederherstellung.

void terminateHard(String reason)

Ähnlich wie terminateHard().

void terminateHard()

Wie terminate(), versucht aber auch, ADB gewaltsam zu beenden.

boolean waitForFirstDeviceAdded(long timeout)

Warten Sie, bis das erste physische Gerät verbunden ist.

Konstanten

UNKNOWN_DISPLAY_STRING

public static final String UNKNOWN_DISPLAY_STRING

Anzeigestrings für unbekannte Properties

Konstanter Wert: „unknown“

Felder

mDvcMon

protected DeviceMonitorMultiplexer mDvcMon

mFastbootEnabled

protected boolean mFastbootEnabled

Öffentliche Konstruktoren

DeviceManager

public DeviceManager ()

Der DeviceManager sollte aus dem GlobalConfiguration abgerufen werden.

Öffentliche Methoden

addAvailableDevice

public void addAvailableDevice (IDevice stubDevice)

Parameter
stubDevice IDevice

addAvailableNativeDevice

public void addAvailableNativeDevice (IDevice stubDevice)

Parameter
stubDevice IDevice

addDeviceMonitor

public void addDeviceMonitor (IDeviceMonitor mon)

Fügt eine IDeviceMonitor hinzu

Parameter
mon IDeviceMonitor

addFastbootDevice

public void addFastbootDevice (DeviceManager.FastbootDevice fastbootDevice)

Parameter
fastbootDevice DeviceManager.FastbootDevice

addFastbootListener

public void addFastbootListener (IDeviceManager.IFastbootListener listener)

Informiert den Manager darüber, dass ein Listener an Änderungen des Fastboot-Status interessiert ist.

Derzeit überwacht IDeviceManager Geräte im Fastboot-Modus nur, wenn mindestens ein aktiver Listener vorhanden ist.

TODO: Das ist ein bisschen ein Hack – finde eine bessere Lösung.

addMonitoringTcpFastbootDevice

public void addMonitoringTcpFastbootDevice (String serial, 
                String fastbootSerial)

Gerät zur Fastboot-Überwachung hinzufügen Der Fastboot-Monitor verwendet „fastboot_serial“ für die Kommunikation mit dem Gerät.

Parameter
serial String: die Seriennummer des Geräts.

fastbootSerial String: Die Seriennummer des Geräts im Fastboot-Modus.

allocateDevice

public ITestDevice allocateDevice (IDeviceSelection options, 
                boolean isTemporary)

Sie können ein Gerät zum Testen anfordern, das bestimmte Kriterien erfüllt.

Parameter
options IDeviceSelection: Die IDeviceSelection, die das Gerät erfüllen muss.

isTemporary boolean: Gibt an, ob ein temporäres NullDevice erstellt werden soll.

Returns
ITestDevice ITestDevice für Tests oder null, wenn keine verfügbar ist

allocateDevice

public ITestDevice allocateDevice (IDeviceSelection options)

Sie können ein Gerät zum Testen anfordern, das bestimmte Kriterien erfüllt.

Parameter
options IDeviceSelection: Die IDeviceSelection, die das Gerät erfüllen muss.

Returns
ITestDevice ITestDevice für Tests oder null, wenn keine verfügbar ist

allocateDevice

public ITestDevice allocateDevice ()

Physisches Gerät für Tests anfordern

Returns
ITestDevice ITestDevice für Tests oder null, wenn keine verfügbar ist

connectToTcpDevice

public ITestDevice connectToTcpDevice (String ipAndPort)

Mit einem Gerät über „adb-over-tcp“ verbinden

Mit dieser Methode wird ein neues Gerät zugewiesen, das schließlich über disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice) freigegeben werden sollte.

Das zurückgegebene ITestDevice ist online, reagiert aber möglicherweise nicht.

Wenn Sie auf einem Gerät mit TCP-Verbindung eine Aktion wie einen Neustart ausführen, wird die TCP-Verbindung zum Gerät unterbrochen und es kommt zu einem DeviceNotAvailableException.

Parameter
ipAndPort String: die ursprüngliche IP-Adresse und der Port des Geräts, zu dem eine Verbindung hergestellt werden soll

Returns
ITestDevice ITestDevice oder null, wenn keine TCP-Verbindung hergestellt werden konnte

disconnectFromTcpDevice

public boolean disconnectFromTcpDevice (ITestDevice tcpDevice)

Trennen Sie die Verbindung zu einem Gerät, das über „adb over tcp“ verbunden ist.

Schaltet das Gerät wieder in den USB-Modus und gibt es frei.

Parameter
tcpDevice ITestDevice: Das Gerät, das sich derzeit im TCP-Modus befindet und zuvor über connectToTcpDevice(String) zugewiesen wurde.

Returns
boolean true, wenn der Wechsel in den USB-Modus erfolgreich war

displayDevicesInfo

public void displayDevicesInfo (PrintWriter stream, 
                boolean includeStub)

Gib eine benutzerfreundliche Beschreibung mit einer Liste der bekannten Geräte, ihres Status und der Werte für häufig verwendete IDeviceSelection-Optionen aus.

Parameter
stream PrintWriter: Das ERROR(/PrintWriter), in das die Beschreibung ausgegeben werden soll

includeStub boolean: Gibt an, ob auch Stub-Geräte angezeigt werden sollen.

executeCmdOnAvailableDevice

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

Eine Hilfsmethode zum Ausführen von Shell-Befehlen auf einem verfügbaren Gerät.

Parameter
serial String: Die Gerätenummer.

command String: Der Shell-Befehl.

timeout long: Die Zeit, die für die Ausführung des Befehls benötigt wird.

timeUnit TimeUnit: Die Einheit für das Zeitlimit.

Returns
CommandResult A CommandResult.

executeGlobalAdbCommand

public String executeGlobalAdbCommand (String... cmdArgs)

Führen Sie einen ADB-Befehl aus, der nicht auf ein bestimmtes Gerät ausgerichtet ist, z. B. „adb connect“

Returns
String Standardausgabe, wenn der Befehl erfolgreich ausgeführt wurde, andernfalls „null“.

forceAllocateDevice

public ITestDevice forceAllocateDevice (String serial)

Weisen Sie ein Gerät auf unhöfliche Weise zu, auch wenn es derzeit nicht verfügbar ist.

Hat keine Auswirkungen, wenn das Gerät bereits zugewiesen ist.

Parameter
serial String: Die zuzuweisende Geräteseriennummer

Returns
ITestDevice die ITestDevice oder null, wenn sie nicht zugewiesen werden konnte

freeDevice

public void freeDevice (ITestDevice device, 
                FreeDeviceState deviceState)

Gerät in den Pool zurückgeben

Versuche, ein Gerät zurückzugeben, das zuvor nicht zugewiesen wurde, werden ignoriert.

Parameter
device ITestDevice: die ITestDevice, die freigegeben werden soll

deviceState FreeDeviceState: die FreeDeviceState. Wird verwendet, um zu steuern, ob das Gerät in den Pool verfügbarer Geräte zurückgegeben wird.

getAdbPath

public String getAdbPath ()

Gibt den Pfad zum zu verwendenden ADB-Binärprogramm zurück.

Returns
String

getAdbVersion

public String getAdbVersion ()

Rufen Sie die ADB-Version ab, die derzeit vom Geräte-Manager verwendet wird.

Returns
String

getDeviceDescriptor

public DeviceDescriptor getDeviceDescriptor (String serial)

Gibt den DeviceDescriptor mit der angegebenen Seriennummer zurück.

Parameter
serial String: Seriennummer des Geräts, das abgerufen werden soll

Returns
DeviceDescriptor Die DeviceDescriptor für das ausgewählte Gerät oder „null“, wenn die Seriennummer nicht mit einem bekannten Gerät übereinstimmt.

getFastbootPath

public String getFastbootPath ()

Gibt den Pfad zur zu verwendenden Fastboot-Binärdatei zurück.

Returns
String

init

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

Geräte-Manager initialisieren Diese Methode muss einmal und nur einmal aufgerufen werden, bevor andere Methoden aufgerufen werden.

Parameter
globalDeviceFilter IDeviceSelection

globalDeviceMonitors

deviceFactory IManagedTestDeviceFactory

init

public void init (IDeviceSelection globalDeviceFilter, 
                 globalDeviceMonitors)

Geräte-Manager initialisieren Diese Methode muss einmal und nur einmal aufgerufen werden, bevor andere Methoden aufgerufen werden.

Parameter
globalDeviceFilter IDeviceSelection: der Gerätefilter

globalDeviceMonitors

init

public void init ()

Geräte-Manager initialisieren Diese Methode muss einmal und nur einmal aufgerufen werden, bevor andere Methoden aufgerufen werden.

isEmulator

public boolean isEmulator (String serial)

Ermitteln, ob die angegebene Seriennummer einen Emulator darstellt

Parameter
serial String

Returns
boolean

isFileSystemMountCheckEnabled

public boolean isFileSystemMountCheckEnabled ()

Gibt zurück, ob geprüft werden soll, ob das Dateisystem in NativeDeviceStateMonitor korrekt bereitgestellt wurde.

Returns
boolean

isNullDevice

public boolean isNullDevice (String serial)

Ermitteln, ob die angegebene Seriennummer ein Nullmodemgerät darstellt

Parameter
serial String

Returns
boolean

killEmulator

public void killEmulator (ITestDevice device)

Fährt den angegebenen Emulator herunter.

Blockiert, bis der Emulator aus ADB verschwindet. Hat keine Auswirkungen, wenn der Emulator bereits nicht verfügbar ist.

Parameter
device ITestDevice: der ITestDevice-Wert, der den herunterzufahrenden Emulator darstellt

Ausgabe
DeviceNotAvailableException

launchEmulator

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

Helper-Methode zum Starten des Emulators.

Startet den Emulator wie vom Anrufer angegeben

Parameter
device ITestDevice: Der Platzhalter ITestDevice, der das zugewiesene Emulatorgerät darstellt.

bootTimeout long: die Zeit in Millisekunden, die gewartet wird, bis der Emulator gebootet wird

emulatorArgs : Befehlszeilenargumente zum Starten des Emulators

Ausgabe
DeviceNotAvailableException

listAllDevices

public  listAllDevices (boolean shortDescriptor)

Gibt eine Liste von DeviceDescriptors für alle bekannten Geräte zurück.

Parameter
shortDescriptor boolean: Gibt an, ob die Deskriptoren auf die Mindestinformationen beschränkt werden sollen.

Returns
Eine Liste mit DeviceDescriptor für alle bekannten Geräte

listAllDevices

public  listAllDevices ()

Gibt eine Liste von DeviceDescriptors für alle bekannten Geräte zurück.

Returns
Eine Liste mit DeviceDescriptor für alle bekannten Geräte

reconnectDeviceToTcp

public ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)

Eine Hilfsmethode, die das angegebene USB-Gerät in den ADB-over-TCP-Modus schaltet und dann über connectToTcpDevice(String) eine Verbindung dazu herstellt.

Parameter
usbDevice ITestDevice: das Gerät, das sich derzeit im USB-Modus befindet

Returns
ITestDevice die neu zugewiesene ITestDevice im TCP-Modus oder null, wenn keine TCP-Verbindung hergestellt werden konnte

Ausgabe
DeviceNotAvailableException

removeDeviceMonitor

public void removeDeviceMonitor (IDeviceMonitor mon)

Entfernt eine zuvor hinzugefügte IDeviceMonitor. Hat keine Auswirkungen, wenn „mon“ nicht hinzugefügt wurde.

Parameter
mon IDeviceMonitor

removeFastbootListener

public void removeFastbootListener (IDeviceManager.IFastbootListener listener)

Informiert den Manager darüber, dass ein Listener nicht mehr an Änderungen des Fastboot-Status interessiert ist.

removeMonitoringTcpFastbootDevice

public void removeMonitoringTcpFastbootDevice (String serial)

Parameter
serial String

restartAdbBridge

public void restartAdbBridge ()

Starten Sie die ADB-Bridge neu (falls stopAdbBridge() aufgerufen wurde). Dienste sind von ADB-Verbindungen abhängig.

stopAdbBridge

public void stopAdbBridge ()

adb-Bridge und Dienste, die von adb-Verbindungen abhängen, werden beendet.

beenden

public void terminate ()

Beendet die Dienste zur Geräteüberwachung und beendet die DDM-Bibliothek.

Diese Funktion muss beim Beenden der Anwendung aufgerufen werden.

terminateDeviceMonitor

public void terminateDeviceMonitor ()

Beenden Sie die Geräteüberwachung.

terminateDeviceRecovery

public void terminateDeviceRecovery ()

Beendet den Thread zur Geräte-Wiederherstellung.

terminateHard

public void terminateHard (String reason)

Ähnlich wie terminateHard().

Parameter
reason String: Optionaler Grund für die Kündigung.

terminateHard

public void terminateHard ()

Wie terminate(), versucht aber auch, ADB gewaltsam zu beenden.

waitForFirstDeviceAdded

public boolean waitForFirstDeviceAdded (long timeout)

Warten Sie, bis das erste physische Gerät verbunden ist. Wenn ein Gerät zuvor verbunden war, wird direkt „True“ zurückgegeben. Wenn kein Gerät hinzugefügt wurde, wird nach dem Zeitlimit „false“ zurückgegeben.

Parameter
timeout long: Wartezeit in Millisekunden, bevor „false“ zurückgegeben wird.

Returns
boolean