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 zum Fastboot-Monitor 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(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 verbundenen 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 dem 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)

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

long getShellCheckCmdTime()

Ruft das Zeitlimit in Millisekunden für den Befehl zum Prüfen der Shell-Verfügbarkeit ab.

void init(IDeviceSelection globalDeviceFilter, List<IDeviceMonitor> globalDeviceMonitors, IManagedTestDeviceFactory deviceFactory)

Initialisieren Sie den Geräte-Manager.

void init(IDeviceSelection globalDeviceFilter, List<IDeviceMonitor> globalDeviceMonitors)

Initialisieren Sie den Geräte-Manager.

void init()

Initialisieren Sie den Geräte-Manager.

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, List<String> emulatorArgs)

Helper-Methode zum Starten des Emulators.

List<DeviceDescriptor> listAllDevices(boolean shortDescriptor)

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

List<DeviceDescriptor> 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 (falls stopAdbBridge() aufgerufen wurde), da sie von ADB-Verbindungen abhängen.

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 zu beenden.

boolean waitForFirstDeviceAdded(long timeout)

Warten Sie, bis ein erstes physisches 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 ein 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 zum Fastboot-Monitor 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.

Gibt Folgendes zurück:
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.

Gibt Folgendes zurück:
ITestDevice ITestDevice für Tests oder null, wenn keine verfügbar ist

allocateDevice

public ITestDevice allocateDevice ()

Physisches Gerät für Tests anfordern

Gibt Folgendes zurück:
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(ITestDevice) freigegeben werden sollte.

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

Wenn Sie beispielsweise ein Gerät mit TCP-Verbindung neu starten, 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

Gibt Folgendes zurück:
ITestDevice ITestDevice oder null, wenn keine TCP-Verbindung hergestellt werden konnte

disconnectFromTcpDevice

public boolean disconnectFromTcpDevice (ITestDevice tcpDevice)

Trennen Sie die Verbindung zu einem verbundenen 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.

Gibt Folgendes zurück:
boolean true, wenn der Wechsel zum 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: die PrintWriter, in die 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 dem verfügbaren Gerät.

Parameter
serial String: Die Geräteseriennummer.

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.

Gibt Folgendes zurück:
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“

Gibt Folgendes zurück:
String Standardausgabe, wenn der Befehl erfolgreich ist, andernfalls „null“.

forceAllocateDevice

public ITestDevice forceAllocateDevice (String serial)

Weise 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

Gibt Folgendes zurück:
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.

Gibt Folgendes zurück:
String

getAdbVersion

public String getAdbVersion ()

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

Gibt Folgendes zurück:
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

Gibt Folgendes zurück:
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.

Gibt Folgendes zurück:
String

getShellCheckCmdTime

public long getShellCheckCmdTime ()

Ruft das Zeitlimit in Millisekunden für den Befehl zum Prüfen der Shell-Verfügbarkeit ab.

Gibt Folgendes zurück:
long

init

public void init (IDeviceSelection globalDeviceFilter, 
                List<IDeviceMonitor> globalDeviceMonitors, 
                IManagedTestDeviceFactory deviceFactory)

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

Parameter
globalDeviceFilter IDeviceSelection

globalDeviceMonitors List

deviceFactory IManagedTestDeviceFactory

init

public void init (IDeviceSelection globalDeviceFilter, 
                List<IDeviceMonitor> globalDeviceMonitors)

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

Parameter
globalDeviceFilter IDeviceSelection: der Gerätefilter

globalDeviceMonitors List

init

public void init ()

Initialisieren Sie den Geräte-Manager. 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

Gibt Folgendes zurück:
boolean

isFileSystemMountCheckEnabled

public boolean isFileSystemMountCheckEnabled ()

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

Gibt Folgendes zurück:
boolean

isNullDevice

public boolean isNullDevice (String serial)

Ermitteln, ob die angegebene Seriennummer ein Nullmodemgerät darstellt

Parameter
serial String

Gibt Folgendes zurück:
boolean

killEmulator

public void killEmulator (ITestDevice device)

Fährt den angegebenen Emulator herunter.

Wird 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 herunterzufahrenden Emulator darstellt

Löst aus
DeviceNotAvailableException

launchEmulator

public void launchEmulator (ITestDevice device, 
                long bootTimeout, 
                IRunUtil runUtil, 
                List<String> 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 hochgefahren ist

emulatorArgs List: Befehlszeilenargumente zum Starten des Emulators

Löst aus
DeviceNotAvailableException

listAllDevices

public List<DeviceDescriptor> 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.

Gibt Folgendes zurück:
List<DeviceDescriptor> Eine Liste mit DeviceDescriptor für alle bekannten Geräte

listAllDevices

public List<DeviceDescriptor> listAllDevices ()

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

Gibt Folgendes zurück:
List<DeviceDescriptor> 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

Gibt Folgendes zurück:
ITestDevice die neu zugewiesene ITestDevice im TCP-Modus oder null, wenn keine TCP-Verbindung hergestellt werden konnte

Löst aus
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 und die Dienste neu (falls stopAdbBridge() aufgerufen wurde), da sie von ADB-Verbindungen abhängen.

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 zu beenden.

waitForFirstDeviceAdded

public boolean waitForFirstDeviceAdded (long timeout)

Warten Sie, bis ein erstes physisches 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: Zeit in Millisekunden, die gewartet wird, bevor „false“ zurückgegeben wird.

Gibt Folgendes zurück:
boolean