IDeviceManager

public interface IDeviceManager

com.android.tradefed.device.IDeviceManager


Schnittstelle zum Verwalten der verfügbaren Geräte für Tests.

Zusammenfassung

Verschachtelte Klassen

interface IDeviceManager.IFastbootListener

Ein Listener für Änderungen des Fastboot-Status. 

Öffentliche Methoden

abstract void addDeviceMonitor(IDeviceMonitor mon)

Fügt eine IDeviceMonitor hinzu

abstract void addFastbootListener(IDeviceManager.IFastbootListener listener)

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

abstract void addMonitoringTcpFastbootDevice(String serial, String fastboot_serial)

Gerät zur Fastboot-Überwachung hinzufügen

abstract ITestDevice allocateDevice(IDeviceSelection options, boolean isTemporary)

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

abstract ITestDevice allocateDevice(IDeviceSelection options)

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

abstract ITestDevice allocateDevice()

Physisches Gerät für Tests anfordern

abstract 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.

abstract boolean disconnectFromTcpDevice(ITestDevice tcpDevice)

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

abstract void displayDevicesInfo(PrintWriter printWriter, 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.

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

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

abstract ITestDevice forceAllocateDevice(String serial)

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

abstract void freeDevice(ITestDevice device, FreeDeviceState state)

Gerät in den Pool zurückgeben

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

abstract String getAdbPath()

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

abstract String getAdbVersion()

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

abstract DeviceDescriptor getDeviceDescriptor(String serial)

Gibt den DeviceDescriptor mit der angegebenen Seriennummer zurück.

abstract String getFastbootPath()

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

abstract void init(IDeviceSelection globalDeviceFilter, deviceMonitors)

Initialisieren Sie den Geräte-Manager mit einem Gerätefilter.

abstract void init()

Geräte-Manager initialisieren

abstract boolean isEmulator(String serial)

Ermitteln, ob die angegebene Seriennummer einen Emulator darstellt

default boolean isFileSystemMountCheckEnabled()

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

abstract boolean isNullDevice(String serial)

Ermitteln, ob die angegebene Seriennummer ein Nullmodemgerät darstellt

abstract void killEmulator(ITestDevice device)

Fährt den angegebenen Emulator herunter.

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

Helper-Methode zum Starten des Emulators.

abstract listAllDevices(boolean shortDescriptor)

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

abstract listAllDevices()

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

abstract 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.

abstract void removeDeviceMonitor(IDeviceMonitor mon)

Entfernt eine zuvor hinzugefügte IDeviceMonitor.

abstract void removeFastbootListener(IDeviceManager.IFastbootListener listener)

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

default void removeMonitoringTcpFastbootDevice(String serial)
abstract void restartAdbBridge()

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

abstract void stopAdbBridge()

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

abstract void terminate()

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

abstract void terminateDeviceMonitor()

Beenden Sie die Geräteüberwachung.

abstract void terminateDeviceRecovery()

Beendet den Thread zur Geräte-Wiederherstellung.

default void terminateHard(String reason)

Ähnlich wie terminateHard().

abstract void terminateHard()

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

abstract boolean waitForFirstDeviceAdded(long timeout)

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

Öffentliche Methoden

addDeviceMonitor

public abstract void addDeviceMonitor (IDeviceMonitor mon)

Fügt eine IDeviceMonitor hinzu

Parameter
mon IDeviceMonitor

addFastbootListener

public abstract 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 abstract void addMonitoringTcpFastbootDevice (String serial, 
                String fastboot_serial)

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.

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

allocateDevice

public abstract 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 abstract 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 abstract ITestDevice allocateDevice ()

Physisches Gerät für Tests anfordern

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

connectToTcpDevice

public abstract 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 abstract 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 abstract void displayDevicesInfo (PrintWriter printWriter, 
                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
printWriter 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 abstract 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.

forceAllocateDevice

public abstract 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 abstract void freeDevice (ITestDevice device, 
                FreeDeviceState state)

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

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

getAdbPath

public abstract String getAdbPath ()

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

Returns
String

getAdbVersion

public abstract String getAdbVersion ()

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

Returns
String

getDeviceDescriptor

public abstract 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 abstract String getFastbootPath ()

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

Returns
String

init

public abstract void init (IDeviceSelection globalDeviceFilter, 
                 deviceMonitors)

Initialisieren Sie den Geräte-Manager mit einem Gerätefilter. Mit diesem Filter kann der DeviceManager angewiesen werden, bestimmte verbundene Geräte zu ignorieren.

Parameter
globalDeviceFilter IDeviceSelection: der Gerätefilter

deviceMonitors

init

public abstract void init ()

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

isEmulator

public abstract 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 abstract boolean isNullDevice (String serial)

Ermitteln, ob die angegebene Seriennummer ein Nullmodemgerät darstellt

Parameter
serial String

Returns
boolean

killEmulator

public abstract 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 wenn der Emulator nicht heruntergefahren werden kann

launchEmulator

public abstract 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 Wenn der Emulator nicht gestartet oder online geschaltet werden kann

listAllDevices

public abstract  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 abstract  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 abstract 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 wenn die Verbindung zu usbDevice unterbrochen wurde und nicht wiederhergestellt werden konnte

removeDeviceMonitor

public abstract void removeDeviceMonitor (IDeviceMonitor mon)

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

Parameter
mon IDeviceMonitor

removeFastbootListener

public abstract 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 abstract void restartAdbBridge ()

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

stopAdbBridge

public abstract void stopAdbBridge ()

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

beenden

public abstract 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 abstract void terminateDeviceMonitor ()

Beenden Sie die Geräteüberwachung.

terminateDeviceRecovery

public abstract 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 abstract void terminateHard ()

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

waitForFirstDeviceAdded

public abstract 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