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 

Felder

public static final String UNKNOWN_DISPLAY_STRING

Anzeigestring für unbekannte Properties

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 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 fastboot_serial)

Fügen Sie dem Fastboot-Monitor ein Gerät hinzu.

ITestDevice allocateDevice(IDeviceSelection options, boolean isTemporary)

Sie können ein Gerät für Tests anfordern, das bestimmte Kriterien erfüllt.

ITestDevice allocateDevice(IDeviceSelection options)

Sie können ein Gerät für Tests anfordern, das bestimmte Kriterien erfüllt.

ITestDevice allocateDevice()

Testgerät anfordern

ITestDevice connectToTcpDevice(String ipAndPort)

Verbindung mit einem Gerät über adb-over-tcp herstellen

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

Die 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)

Eine nutzerfreundliche Beschreibung mit einer Liste der bekannten Geräte, ihrem Status und den Werten für häufig verwendete IDeviceSelection-Optionen ausgeben.

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

Eine Hilfsmethode zum Ausführen eines Shell-Befehls 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)

Ein Gerät zugewiesen, das 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 noch nicht zugewiesen wurde, werden ignoriert.

String getAdbPath()

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

String getAdbVersion()

Ruft die aktuell vom Gerätemanager verwendete adb-Version ab.

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)

Initialisieren Sie den Gerätemanager.

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors)

Initialisieren Sie den Gerätemanager.

void init()

Initialisieren Sie den Gerätemanager.

boolean isEmulator(String serial)

Prüfen, ob eine angegebene Seriennummer für einen Emulator steht

boolean isFileSystemMountCheckEnabled()

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

boolean isNullDevice(String serial)

Prüfen, ob eine angegebene Seriennummer ein Nullgerät darstellt

void killEmulator(ITestDevice device)

Den angegebenen Emulator herunterfahren.

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

Hilfsmethode 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 umschaltet 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 restartAdbBridge()

Starten Sie die adb-Bridge neu, falls stopAdbBridge() aufgerufen wurde, und die Dienste, die von adb-Verbindungen abhängen.

void stopAdbBridge()

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

void terminate()

Beendet die Geräteüberwachungsdienste und beendet die ddm-Bibliothek.

void terminateDeviceMonitor()

Beenden Sie die Gerätemonitore.

void terminateDeviceRecovery()

Beendet den Thread zur Gerätewiederherstellung.

void terminateHard(String reason)

Ähnlich wie terminateHard().

void terminateHard()

Wie terminate(), aber es wird auch versucht, adb zu beenden.

boolean waitForFirstDeviceAdded(long timeout)

Warten Sie, bis ein erstes physisches Gerät verbunden ist.

Felder

UNKNOWN_DISPLAY_STRING

public static final String UNKNOWN_DISPLAY_STRING

Anzeigestring für unbekannte Properties

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 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 ein IDeviceManager nur Geräte im Fastboot-Modus, wenn mindestens ein aktiver Listener vorhanden ist.

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

addMonitoringTcpFastbootDevice

public void addMonitoringTcpFastbootDevice (String serial, 
                String fastboot_serial)

Fügen Sie dem Fastboot-Monitor ein Gerät hinzu. Der Fastboot-Monitor verwendet „fastboot_serial“, um mit dem Gerät zu kommunizieren.

Parameter
serial String: die Seriennummer des Geräts.

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

allocateDevice

public ITestDevice allocateDevice (IDeviceSelection options, 
                boolean isTemporary)

Sie können ein Gerät für Tests anfordern, das bestimmte Kriterien erfüllt.

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

isTemporary boolean: ob ein temporäres Nullgerät 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 für Tests anfordern, das bestimmte Kriterien erfüllt.

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

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

allocateDevice

public ITestDevice allocateDevice ()

Testgerät anfordern

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

connectToTcpDevice

public ITestDevice connectToTcpDevice (String ipAndPort)

Verbindung mit einem Gerät über adb-over-tcp herstellen

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

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

Beachten Sie, dass durch Aktionen wie einen Neustart auf einem Gerät mit TCP-Verbindung die TCP-Verbindung zum Gerät getrennt wird und ein DeviceNotAvailableException

Parameter
ipAndPort String: die ursprüngliche IP-Adresse und der Port des Geräts, mit 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.

Das Gerät wird wieder in den USB-Modus versetzt und freigegeben.

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

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

displayDevicesInfo

public void displayDevicesInfo (PrintWriter stream, 
                boolean includeStub)

Eine nutzerfreundliche Beschreibung mit einer Liste der bekannten Geräte, ihrem Status und den Werten für häufig verwendete IDeviceSelection-Optionen ausgeben.

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

includeStub boolean: 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 eines Shell-Befehls auf einem verfügbaren Gerät.

Parameter
serial String: Die Geräteserie.

command String: Der Shell-Befehl.

timeout long: Die Zeit, die der Befehl benötigt, um ausgeführt zu werden.

timeUnit TimeUnit: Die Einheit für die Zeitüberschreitung.

Returns
CommandResult Ein 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 war, andernfalls null.

forceAllocateDevice

public ITestDevice forceAllocateDevice (String serial)

Ein Gerät zugewiesen, das 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, falls keine Zuweisung möglich war

freeDevice

public void freeDevice (ITestDevice device, 
                FreeDeviceState deviceState)

Gerät in den Pool zurückgeben

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

Parameter
device ITestDevice: die ITestDevice zu „kostenlos“

deviceState FreeDeviceState: die FreeDeviceState. Wird verwendet, um festzulegen, ob das Gerät in den verfügbaren Gerätepool zurückgegeben wird.

getAdbPath

public String getAdbPath ()

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

Returns
String

getAdbVersion

public String getAdbVersion ()

Ruft die aktuell vom Gerätemanager verwendete adb-Version ab.

Returns
String

getDeviceDescriptor

public DeviceDescriptor getDeviceDescriptor (String serial)

Gibt den DeviceDescriptor mit der angegebenen Seriennummer zurück.

Parameter
serial String: Seriennummer des Geräts, für das die Informationen abgerufen werden sollen

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)

Initialisieren Sie den Gerätemanager. Diese Methode muss nur einmal aufgerufen werden, bevor andere Methoden aufgerufen werden.

Parameter
globalDeviceFilter IDeviceSelection

globalDeviceMonitors

deviceFactory IManagedTestDeviceFactory

init

public void init (IDeviceSelection globalDeviceFilter, 
                 globalDeviceMonitors)

Initialisieren Sie den Gerätemanager. Diese Methode muss nur einmal aufgerufen werden, bevor andere Methoden aufgerufen werden.

Parameter
globalDeviceFilter IDeviceSelection: Gerätefilter

globalDeviceMonitors

init

public void init ()

Initialisieren Sie den Gerätemanager. Diese Methode muss nur einmal aufgerufen werden, bevor andere Methoden aufgerufen werden.

isEmulator

public boolean isEmulator (String serial)

Prüfen, ob eine angegebene Seriennummer für einen Emulator steht

Parameter
serial String

Returns
boolean

isFileSystemMountCheckEnabled

public boolean isFileSystemMountCheckEnabled ()

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

Returns
boolean

isNullDevice

public boolean isNullDevice (String serial)

Prüfen, ob eine angegebene Seriennummer ein Nullgerät darstellt

Parameter
serial String

Returns
boolean

killEmulator

public void killEmulator (ITestDevice device)

Den angegebenen Emulator herunterfahren.

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

Parameter
device ITestDevice: der ITestDevice, der den zu beendenden Emulator darstellt

Ausgabe
DeviceNotAvailableException

launchEmulator

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

Hilfsmethode zum Starten des Emulators.

Startet den Emulator wie vom Anrufer angegeben

Parameter
device ITestDevice: Platzhalter ITestDevice für das zugewiesene Emulatorgerät

bootTimeout long: die Zeit in ms, die gewartet wird, bis der Emulator gestartet ist

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: ob Beschreibungen auf die Mindestinformationen beschränkt werden sollen

Returns
eine Liste von 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 von 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 umschaltet 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.

restartAdbBridge

public void restartAdbBridge ()

Starten Sie die adb-Bridge neu, falls stopAdbBridge() aufgerufen wurde, und die Dienste, die von adb-Verbindungen abhängen.

stopAdbBridge

public void stopAdbBridge ()

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

beenden

public void terminate ()

Beendet die Geräteüberwachungsdienste und beendet die DDM-Bibliothek.

Diese Funktion muss beim Beenden der Anwendung aufgerufen werden.

terminateDeviceMonitor

public void terminateDeviceMonitor ()

Beenden Sie die Gerätemonitore.

terminateDeviceRecovery

public void terminateDeviceRecovery ()

Beendet den Thread zur Gerätewiederherstellung.

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(), aber es wird auch versucht, adb zu beenden.

waitForFirstDeviceAdded

public boolean waitForFirstDeviceAdded (long timeout)

Warten Sie, bis ein erstes physisches Gerät verbunden ist. Wenn ein Gerät bereits verbunden war, wird direkt „True“ zurückgegeben. Wenn kein Gerät hinzugefügt wurde, wird nach Ablauf der Zeitüberschreitung „false“ zurückgegeben.

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

Returns
boolean