DeviceImpl

public final class DeviceImpl
extends Object implements IDevice

java.lang.Object
   ↳ com.android.tradefed.device.server.DeviceImpl


Ein Gerät. Das kann ein physisches Gerät oder ein Emulator sein.

Zusammenfassung

Öffentliche Konstruktoren

DeviceImpl(ClientTracker clientTracer, String serialNumber, IDevice.DeviceState deviceState)

Öffentliche Methoden

boolean arePropertiesSet()

Gibt true zurück, wenn Properties im Cache gespeichert wurden.

void createForward(int localPort, String remoteSocketName, IDevice.DeviceUnixSocketNamespace namespace)

Erstellt eine Portweiterleitung zwischen einem lokalen TCP-Port und einem Remote-Unix-Domain-Socket.

void createForward(int localPort, int remotePort)

Erstellt eine Portweiterleitung zwischen einem lokalen und einem Remote-Port.

void createReverse(int remotePort, int localPort)

Erstellt eine Portumkehrung zwischen einem Remote- und einem lokalen Port.

void executeBinderCommand(String[] parameters, IShellOutputReceiver receiver, long maxTimeToOutputResponse, TimeUnit maxTimeUnits, InputStream is)

Führt einen Binder-Befehl auf dem Gerät aus und sendet das Ergebnis an eine receiver

Dazu wird der Aufruf exec:cmd oder, falls sowohl das Gerätebetriebssystem als auch der Host-ADB-Server die Ausführungsfunktion von Android Binder Bridge unterstützen, der schnellere Aufruf abb_exec: verwendet.

void executeShellCommand(String command, IShellOutputReceiver receiver, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

Führt einen Shell-Befehl auf dem Gerät aus und sendet das Ergebnis an eine receiver.

void executeShellCommand(String command, IShellOutputReceiver receiver, long maxTimeToOutputResponse, TimeUnit maxTimeUnits, InputStream is)

Eine Version des Befehls „executeShell“, die einen Eingabestream für die Übertragung über „stdin“ akzeptieren kann.

void executeShellCommand(String command, IShellOutputReceiver receiver)

Führt einen Shell-Befehl auf dem Gerät aus und sendet das Ergebnis an eine receiver.

Dies entspricht dem Aufruf von executeShellCommand(command, receiver, DdmPreferences.getTimeOut()).

void executeShellCommand(String command, IShellOutputReceiver receiver, int maxTimeToOutputResponse)
void executeShellCommand(String command, IShellOutputReceiver receiver, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

Führt einen Shell-Befehl auf dem Gerät aus und sendet das Ergebnis an eine receiver.

void forceStop(String applicationName)

Beenden einer App nach Anwendungsname erzwingen

getAbis()

Gibt die von diesem Gerät unterstützten ABIs zurück.

ListenableFuture<AvdData> getAvdData()

Gibt Informationen zum AVD zurück, auf dem der Emulator ausgeführt wird.

String getAvdName()

Gibt den Namen des AVD zurück, auf dem der Emulator ausgeführt wird.

String getAvdPath()

Gibt den absoluten Pfad zum virtuellen Gerät im Dateisystem zurück.

getBattery(long freshnessTime, TimeUnit timeUnit)

Gibt den Akkustand des Geräts in Prozent zurück (0 bis 100 %).

getBattery()

Gibt den Akkustand des Geräts in Prozent zurück (0 bis 100 %).

Integer getBatteryLevel(long freshnessMs)

Gibt den Akkustand des Geräts in Prozent zurück (0 bis 100 %).

Integer getBatteryLevel()

Gibt den Akkustand des Geräts in Prozent zurück (0 bis 100 %).

ClientImpl getClient(String applicationName)

Gibt ein Client anhand des Anwendungsnamens zurück.

String getClientName(int pid)

Gibt den Namen des Clients anhand der PID oder null zurück, wenn die PID unbekannt ist.

ClientTracker getClientTracker()
ClientImpl[] getClients()

Gibt das Array von Clients zurück.

int getDensity()

Gibt den Dichte-Bucket des Gerätebildschirms zurück, indem der Wert für die Systemeigenschaft PROP_DEVICE_DENSITY gelesen wird.

FileListingService getFileListingService()

Gibt eine FileListingService für dieses Gerät zurück.

String getLanguage()

Gibt die Sprache des Nutzers zurück.

InstallMetrics getLastInstallMetrics()

Ruft die Informationen zur letzten Installation auf diesem Gerät ab.

String getMountPoint(String name)

Gibt einen Bereitstellungspunkt zurück.

String getName()

Gibt einen (lesbaren) Namen für dieses Gerät zurück.

ClientImpl[] getNativeClients()
ClientImpl getNativeClients(String applicationName)
ProfileableClientImpl[] getProfileableClients()

Gibt das Array der profilierbaren Clients zurück.

getProperties()

Gibt die im Cache gespeicherten Geräteeigenschaften zurück.

String getProperty(String name)

Praktische Methode, die versucht, eine Property über IShellEnabledDevice.getSystemProperty(String) mit einer sehr kurzen Wartezeit abzurufen, und Ausnahmen abfängt.

String getPropertyCacheOrSync(String name)

Eine Kombination aus getProperty(String) und getPropertySync(String), mit der versucht wird, die Property aus dem Cache abzurufen.

int getPropertyCount()

Gibt die Anzahl der Properties für dieses Gerät zurück.

String getPropertySync(String name)

Eine Variante von getProperty(String), mit der versucht wird, das angegebene Attribut direkt vom Gerät abzurufen, ohne den Cache zu verwenden.

String getRegion()

Gibt die Region des Nutzers zurück.

static String getScreenRecorderCommand(String remoteFilePath, ScreenRecorderOptions options)
RawImage getScreenshot()

Erstellt einen Screenshot des Geräts und gibt ihn als RawImage zurück.

RawImage getScreenshot(long timeout, TimeUnit unit)
String getSerialNumber()

Gibt die Seriennummer des Geräts zurück.

IDevice.DeviceState getState()

Gibt den Status des Geräts zurück.

SyncService getSyncService()

Gibt ein SyncService-Objekt zurück, um Dateien auf das Gerät zu übertragen und vom Gerät abzurufen.

ListenableFuture<String> getSystemProperty(String name)

Führen Sie eine potenzielle asynchrone Abfrage für eine Systemeigenschaft durch.

boolean hasClients()

Gibt zurück, ob IDevice Client enthält.

void installPackage(String packageFilePath, boolean reinstall, InstallReceiver receiver, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits, String... extraArgs)

Installiert eine Android-App auf dem Gerät.

void installPackage(String packageFilePath, boolean reinstall, InstallReceiver receiver, String... extraArgs)

Installiert eine Android-App auf dem Gerät.

void installPackage(String packageFilePath, boolean reinstall, String... extraArgs)

Installiert eine Android-App auf dem Gerät.

void installPackages( apks, boolean reinstall, installOptions)

Installiert eine Android-Anwendung, die aus mehreren APK-Dateien besteht (ein Haupt-APK und 0..n Split-Pakete) mit dem Standard-Zeitlimit.

void installPackages( apks, boolean reinstall, installOptions, long timeout, TimeUnit timeoutUnit)

Installiert eine Android-Anwendung, die aus mehreren APK-Dateien besteht (ein Hauptpaket und 0 bis n unterteilte Pakete)

void installRemotePackage(String remoteFilePath, boolean reinstall, InstallReceiver receiver, String... extraArgs)

Installiert das Anwendungspaket, das an einen temporären Speicherort auf dem Gerät übertragen wurde.

void installRemotePackage(String remoteFilePath, boolean reinstall, String... extraArgs)

Installiert das Anwendungspaket, das an einen temporären Speicherort auf dem Gerät übertragen wurde.

void installRemotePackage(String remoteFilePath, boolean reinstall, InstallReceiver receiver, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits, String... extraArgs)

Installiert das Anwendungspaket, das an einen temporären Speicherort auf dem Gerät übertragen wurde.

void installRemotePackages( remoteApks, boolean reinstall, installOptions)

Installiert eine Android-Anwendung, die aus mehreren APK-Dateien besteht, die sich lokal auf dem Gerät befinden, mit dem Standard-Timeout.

void installRemotePackages( remoteApks, boolean reinstall, installOptions, long timeout, TimeUnit timeoutUnit)

Installiert eine Android-Anwendung, die aus mehreren APK-Dateien besteht, die sich lokal auf dem Gerät befinden

boolean isBootLoader()

Gibt zurück, ob sich das Gerät im Bootloader-Modus befindet.

boolean isEmulator()

Gibt true zurück, wenn es sich bei dem Gerät um einen Emulator handelt.

boolean isOffline()

Gibt zurück, ob das Gerät offline ist.

boolean isOnline()

Gibt zurück, ob das Gerät bereit ist.

boolean isRoot()

Fragt den aktuellen Root-Status des Geräts ab.

void kill(String applicationName)

Beendet eine Anwendung anhand ihres Namens.

void pullFile(String remote, String local)

Ruft eine einzelne Datei ab.

void push(String[] local, String remote)

Überträgt mehrere Dateien oder Verzeichnisse.

void pushFile(String local, String remote)

Pushes a single file.

SocketChannel rawBinder(String service, String[] parameters)

Den Android Binder Bridge-Dienst auf einem Remote-Gerät aufrufen

SocketChannel rawExec(String executable, String[] parameters)

Rufen Sie den Dienst „host:exec“ auf einem Remote-Gerät auf.

void reboot(String into)

Starten Sie das Gerät neu.

void removeForward(int localPort)

Entfernt eine Portweiterleitung zwischen einem lokalen und einem Remote-Port.

void removeRemotePackage(String remoteFilePath)

Entfernt eine Datei vom Gerät.

void removeReverse(int remotePort)

Entfernt eine Portumkehrung zwischen einem Remote- und einem lokalen Port.

boolean root()

Fordert den ADB-Daemon auf, auf dem Gerät Root zu werden.

void startScreenRecorder(String remoteFilePath, ScreenRecorderOptions options, IShellOutputReceiver receiver)

Startet die Bildschirmaufzeichnung auf dem Gerät, wenn das Gerät IDevice.Feature.SCREEN_RECORD unterstützt.

boolean supportsFeature(IDevice.HardwareFeature feature)

Gibt zurück, ob dieses Gerät die angegebene Hardwarefunktion unterstützt.

boolean supportsFeature(IDevice.Feature feature)

Gibt zurück, ob dieses Gerät die angegebene Softwarefunktion unterstützt.

String syncPackageToDevice(String localFilePath)

Eine Datei auf ein Gerät übertragen

String toString()
String uninstallApp(String applicationID, String... extraArgs)

Deinstalliert eine App vom Gerät.

String uninstallPackage(String packageName)

Deinstalliert ein Paket vom Gerät.

Öffentliche Konstruktoren

DeviceImpl

public DeviceImpl (ClientTracker clientTracer, 
                String serialNumber, 
                IDevice.DeviceState deviceState)

Parameter
clientTracer ClientTracker

serialNumber String

deviceState IDevice.DeviceState

Öffentliche Methoden

arePropertiesSet

public boolean arePropertiesSet ()

Gibt true zurück, wenn Properties im Cache gespeichert wurden.

Returns
boolean

createForward

public void createForward (int localPort, 
                String remoteSocketName, 
                IDevice.DeviceUnixSocketNamespace namespace)

Erstellt eine Portweiterleitung zwischen einem lokalen TCP-Port und einem Remote-Unix-Domain-Socket.

Parameter
localPort int: der lokale Port, der weitergeleitet werden soll

remoteSocketName String: Name des auf dem Gerät erstellten UNIX-Domain-Sockets

namespace IDevice.DeviceUnixSocketNamespace: Namespace, in dem der UNIX-Domain-Socket erstellt wurde

Ausgabe
AdbCommandRejectedException
TimeoutException

createForward

public void createForward (int localPort, 
                int remotePort)

Erstellt eine Portweiterleitung zwischen einem lokalen und einem Remote-Port.

Parameter
localPort int: der lokale Port, der weitergeleitet werden soll

remotePort int: der Remote-Port.

Ausgabe
AdbCommandRejectedException
TimeoutException

createReverse

public void createReverse (int remotePort, 
                int localPort)

Erstellt eine Portumkehrung zwischen einem Remote- und einem lokalen Port.

Parameter
remotePort int: der Remote-Port, der umgekehrt werden soll.

localPort int: der lokale Port

Ausgabe
AdbCommandRejectedException
TimeoutException

executeBinderCommand

public void executeBinderCommand (String[] parameters, 
                IShellOutputReceiver receiver, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits, 
                InputStream is)

Führt einen Binder-Befehl auf dem Gerät aus und sendet das Ergebnis an eine receiver

Dazu wird der Aufruf exec:cmd oder, falls sowohl das Gerätebetriebssystem als auch der Host-ADB-Server die Ausführungsfunktion von Android Binder Bridge unterstützen, der schnellere Aufruf abb_exec: verwendet.

Parameter
parameters String: Der auszuführende Binder-Befehl.

receiver IShellOutputReceiver: die IShellOutputReceiver, die die Ausgabe des Binder-Befehls empfängt

maxTimeToOutputResponse long

maxTimeUnits TimeUnit

is InputStream: optionaler Eingabestream, der über stdin gesendet werden soll

Ausgabe
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

executeShellCommand

public void executeShellCommand (String command, 
                IShellOutputReceiver receiver, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits)

Führt einen Shell-Befehl auf dem Gerät aus und sendet das Ergebnis an eine receiver.

maxTimeToOutputResponse wird als maximale Wartezeit verwendet, wenn die Befehlsausgabe vom Gerät erwartet wird.
Wenn der Shell-Befehl über einen Zeitraum von mehr als maxTimeToOutputResponse nichts ausgibt, löst die Methode ShellCommandUnresponsiveException aus.

Für Befehle wie die Protokollausgabe sollte ein maxTimeToOutputResponse-Wert von 0 verwendet werden. Das bedeutet, dass die Methode nie einen Fehler ausgibt und blockiert wird, bis IShellOutputReceiver.isCancelled() des Empfängers true zurückgibt.

Parameter
command String: Der auszuführende Shell-Befehl

receiver IShellOutputReceiver: die IShellOutputReceiver, die die Ausgabe des Shellbefehls empfängt

maxTimeToOutputResponse long: Die maximale Zeit, in der der Befehl keine Ausgabe erzeugen darf. Ein Wert von 0 bedeutet, dass die Methode unbegrenzt auf die Befehlsausgabe wartet (bis receiver die Ausführung abbricht) und nie eine Ausnahme auslöst.

maxTimeUnits TimeUnit: Einheiten für maxTimeToOutputResponse-Werte ungleich null.

Ausgabe
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

executeShellCommand

public void executeShellCommand (String command, 
                IShellOutputReceiver receiver, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits, 
                InputStream is)

Eine Version des executeShell-Befehls, die einen Eingabestream entgegennehmen kann, der über stdin gesendet wird.

Parameter
command String

receiver IShellOutputReceiver

maxTimeToOutputResponse long

maxTimeUnits TimeUnit

is InputStream

Ausgabe
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

executeShellCommand

public void executeShellCommand (String command, 
                IShellOutputReceiver receiver)

Führt einen Shell-Befehl auf dem Gerät aus und sendet das Ergebnis an eine receiver.

Dies entspricht dem Aufruf von executeShellCommand(command, receiver, DdmPreferences.getTimeOut()).

Parameter
command String: Der auszuführende Shell-Befehl

receiver IShellOutputReceiver: die IShellOutputReceiver, die die Ausgabe des Shellbefehls empfängt

Ausgabe
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

executeShellCommand

public void executeShellCommand (String command, 
                IShellOutputReceiver receiver, 
                int maxTimeToOutputResponse)

Parameter
command String

receiver IShellOutputReceiver

maxTimeToOutputResponse int

Ausgabe
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

executeShellCommand

public void executeShellCommand (String command, 
                IShellOutputReceiver receiver, 
                long maxTimeout, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits)

Führt einen Shell-Befehl auf dem Gerät aus und sendet das Ergebnis an eine receiver.

maxTimeToOutputResponse wird als maximale Wartezeit verwendet, wenn die Befehlsausgabe vom Gerät erwartet wird.
Wenn der Shell-Befehl über einen Zeitraum von mehr als maxTimeToOutputResponse nichts ausgibt, löst die Methode ShellCommandUnresponsiveException aus.

Für Befehle wie die Protokollausgabe sollte ein maxTimeToOutputResponse-Wert von 0 verwendet werden. Das bedeutet, dass die Methode nie einen Fehler ausgibt und blockiert wird, bis IShellOutputReceiver.isCancelled() des Empfängers true zurückgibt.

Parameter
command String: Der auszuführende Shell-Befehl

receiver IShellOutputReceiver: die IShellOutputReceiver, die die Ausgabe des Shellbefehls empfängt

maxTimeout long: Das maximale Zeitlimit für die Rückgabe des Befehls. Ein Wert von 0 bedeutet, dass kein maximales Zeitlimit angewendet wird.

maxTimeToOutputResponse long: Die maximale Zeit, in der der Befehl keine Ausgabe erzeugen darf. Ein Wert von 0 bedeutet, dass die Methode unbegrenzt auf die Befehlsausgabe wartet (bis receiver die Ausführung abbricht) und nie eine Ausnahme auslöst.

maxTimeUnits TimeUnit: Einheiten für maxTimeout- und maxTimeToOutputResponse-Werte ungleich null.

Ausgabe
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

forceStop

public void forceStop (String applicationName)

Beenden einer App nach Anwendungsname erzwingen Dadurch werden alle ausstehenden Benachrichtigungen und in der Warteschlange befindlichen Berechnungen entfernt.

Parameter
applicationName String: der Name der Anwendung

getAbis

public  getAbis ()

Gibt die von diesem Gerät unterstützten ABIs zurück. Die ABIs sind in der bevorzugten Reihenfolge sortiert, wobei das erste ABI das bevorzugteste ist.

Returns
die Liste der ABIs.

getAvdData

public ListenableFuture<AvdData> getAvdData ()

Gibt Informationen zum AVD zurück, auf dem der Emulator ausgeführt wird.

AvdData.getName ist der Name des AVD oder null, wenn keiner vorhanden ist.

AvdData.getPath ist der AVD-Pfad oder „null“, wenn es sich um ein physisches Gerät handelt, der Emulator-Konsolenunterbefehl fehlgeschlagen ist oder die Emulatorversion älter als 30.0.18 ist.

Returns
ListenableFuture<AvdData> die AvdData für das Gerät.

getAvdName

public String getAvdName ()

Gibt den Namen des AVD zurück, auf dem der Emulator ausgeführt wird.

Dies ist nur gültig, wenn isEmulator() „true“ zurückgibt.

Wenn auf dem Emulator kein AVD ausgeführt wird (z. B. wenn er aus einem Android-Quellbaum-Build ausgeführt wird), gibt diese Methode „<build>“ zurück.

Hinweis: Verwenden Sie getAvdData(), wenn Sie das Zeitlimit selbst festlegen möchten.

Returns
String Der Name des AVD oder null, wenn keiner vorhanden ist.

getAvdPath

public String getAvdPath ()

Gibt den absoluten Pfad zum virtuellen Gerät im Dateisystem zurück. Der Pfad ist vom Betriebssystem abhängig. Unter Linux werden / als Trennzeichen verwendet, unter Windows \.

Hinweis: Verwenden Sie getAvdData(), wenn Sie das Zeitlimit selbst festlegen möchten.

Returns
String Der AVD-Pfad oder „null“, wenn es sich um ein physisches Gerät handelt, der Emulator-Konsolenunterbefehl fehlgeschlagen ist oder die Version des Emulators älter als 30.0.18 ist.

getBattery

public  getBattery (long freshnessTime, 
                TimeUnit timeUnit)

Gibt den Akkustand des Geräts in Prozent zurück (0 bis 100 %).

Der Akkustand wird möglicherweise im Cache gespeichert. Fragt den Akkustand des Geräts nur ab, wenn freshnessTime seit der letzten erfolgreichen Abfrage abgelaufen ist.

Parameter
freshnessTime long: die gewünschte Aktualität des Akkustands

timeUnit TimeUnit: die ERROR(/TimeUnit) von „freshnessTime“

Returns
Ein ERROR(/Future), mit dem der Akkustand abgefragt werden kann. Das Future gibt ERROR(/ExecutionException) zurück, wenn der Akkustand nicht abgerufen werden konnte.

getBattery

public  getBattery ()

Gibt den Akkustand des Geräts in Prozent zurück (0 bis 100 %).

Der Akkustand wird möglicherweise im Cache gespeichert. Fragt den Akkustand des Geräts nur ab, wenn seit der letzten erfolgreichen Abfrage 5 Minuten vergangen sind.

Returns
Ein ERROR(/Future), mit dem der Akkustand abgefragt werden kann. Das Future gibt ERROR(/ExecutionException) zurück, wenn der Akkustand nicht abgerufen werden konnte.

getBatteryLevel

public Integer getBatteryLevel (long freshnessMs)

Gibt den Akkustand des Geräts in Prozent zurück (0 bis 100 %).

Der Akkustand wird möglicherweise im Cache gespeichert. Fragt den Akkustand des Geräts nur ab, wenn seit der letzten erfolgreichen Abfrage freshnessMs ms vergangen sind.

Returns
Integer den Akkustand oder null, wenn er nicht abgerufen werden konnte

getBatteryLevel

public Integer getBatteryLevel ()

Gibt den Akkustand des Geräts in Prozent zurück (0 bis 100 %).

Der Akkustand wird möglicherweise im Cache gespeichert. Fragt den Akkustand des Geräts nur ab, wenn seit der letzten erfolgreichen Abfrage 5 Minuten vergangen sind.

Returns
Integer den Akkustand oder null, wenn er nicht abgerufen werden konnte

getClient

public ClientImpl getClient (String applicationName)

Gibt ein Client anhand des Anwendungsnamens zurück.

Parameter
applicationName String: der Name der Anwendung

Returns
ClientImpl das Client-Objekt oder null, wenn keine Übereinstimmung gefunden wurde.

getClientName

public String getClientName (int pid)

Gibt den Namen des Clients anhand der PID oder null zurück, wenn die PID unbekannt ist.

Parameter
pid int: Die PID des Clients.

Returns
String

getClientTracker

public ClientTracker getClientTracker ()

Returns
ClientTracker

getClients

public ClientImpl[] getClients ()

Gibt das Array von Clients zurück.

Returns
ClientImpl[]

getDensity

public int getDensity ()

Gibt den Dichte-Bucket des Gerätebildschirms zurück, indem der Wert für die Systemeigenschaft PROP_DEVICE_DENSITY gelesen wird.

Returns
int die Dichte oder -1, wenn sie nicht ermittelt werden kann.

getFileListingService

public FileListingService getFileListingService ()

Gibt eine FileListingService für dieses Gerät zurück.

Returns
FileListingService

getLanguage

public String getLanguage ()

Gibt die Sprache des Nutzers zurück.

Returns
String Die Sprache des Nutzers oder „null“, wenn sie unbekannt ist.

getLastInstallMetrics

public InstallMetrics getLastInstallMetrics ()

Ruft die Informationen zur letzten Installation auf diesem Gerät ab.

Returns
InstallMetrics InstallMetrics-Messwerte zur Beschreibung der Installation.

getMountPoint

public String getMountPoint (String name)

Gibt einen Bereitstellungspunkt zurück.

Parameter
name String: der Name des zurückzugebenden Bereitstellungspunkts.

Returns
String

getName

public String getName ()

Gibt einen (lesbaren) Namen für dieses Gerät zurück. In der Regel ist dies der AVD-Name für AVDs und eine Kombination aus Herstellername, Modellname und Seriennummer für Geräte.

Returns
String

getNativeClients

public ClientImpl[] getNativeClients ()

Returns
ClientImpl[]

getNativeClients

public ClientImpl getNativeClients (String applicationName)

Parameter
applicationName String

Returns
ClientImpl

getProfileableClients

public ProfileableClientImpl[] getProfileableClients ()

Gibt das Array der profilierbaren Clients zurück.

Returns
ProfileableClientImpl[]

getProperties

public  getProperties ()

Gibt die im Cache gespeicherten Geräteeigenschaften zurück. Sie enthält die gesamte Ausgabe von „getprop“.

Returns

getProperty

public String getProperty (String name)

Praktische Methode, die versucht, eine Property über IShellEnabledDevice.getSystemProperty(String) mit einer sehr kurzen Wartezeit abzurufen, und Ausnahmen abfängt.

Hinweis: Verwenden Sie vorzugsweise IShellEnabledDevice.getSystemProperty(String), wenn Sie das Zeitlimit steuern möchten.

Parameter
name String: Der Name des zurückzugebenden Werts.

Returns
String der Wert oder null, wenn der Eigenschaftswert nicht sofort verfügbar war

getPropertyCacheOrSync

public String getPropertyCacheOrSync (String name)

Eine Kombination aus getProperty(String) und getPropertySync(String), mit der versucht wird, die Eigenschaft aus dem Cache abzurufen. Wenn sie nicht gefunden wird, wird synchron versucht, das Gerät direkt abzufragen und den Cache bei Erfolg neu zu füllen.

Parameter
name String: Der Name des zurückzugebenden Werts.

Returns
String Der Wert oder null, wenn die Eigenschaft nicht vorhanden ist

getPropertyCount

public int getPropertyCount ()

Gibt die Anzahl der Properties für dieses Gerät zurück.

Returns
int

getPropertySync

public String getPropertySync (String name)

Eine Variante von getProperty(String), mit der versucht wird, das angegebene Attribut direkt vom Gerät abzurufen, ohne den Cache zu verwenden. Diese Methode sollte (nur) für alle flüchtigen Eigenschaften verwendet werden.

Parameter
name String: Der Name des zurückzugebenden Werts.

Returns
String Der Wert oder null, wenn die Eigenschaft nicht vorhanden ist

getRegion

public String getRegion ()

Gibt die Region des Nutzers zurück.

Returns
String Die Region des Nutzers oder „null“, wenn sie unbekannt ist

getScreenRecorderCommand

public static String getScreenRecorderCommand (String remoteFilePath, 
                ScreenRecorderOptions options)

Parameter
remoteFilePath String

options ScreenRecorderOptions

Returns
String

getScreenshot

public RawImage getScreenshot ()

Erstellt einen Screenshot des Geräts und gibt ihn als RawImage zurück.

Returns
RawImage den Screenshot als RawImage oder null, wenn etwas schiefgegangen ist.

Ausgabe
AdbCommandRejectedException
TimeoutException

getScreenshot

public RawImage getScreenshot (long timeout, 
                TimeUnit unit)

Parameter
timeout long

unit TimeUnit

Returns
RawImage

Ausgabe
AdbCommandRejectedException
TimeoutException

getSerialNumber

public String getSerialNumber ()

Gibt die Seriennummer des Geräts zurück.

Returns
String

getState

public IDevice.DeviceState getState ()

Gibt den Status des Geräts zurück.

Returns
IDevice.DeviceState

getSyncService

public SyncService getSyncService ()

Gibt ein SyncService-Objekt zurück, um Dateien auf das Gerät zu übertragen und vom Gerät abzurufen.

Returns
SyncService null, wenn der SyncService nicht erstellt werden konnte. Das kann passieren, wenn adb die Verbindung nicht öffnen kann, weil IDevice ungültig ist oder die Verbindung getrennt wurde.

Ausgabe
AdbCommandRejectedException
TimeoutException

getSystemProperty

public ListenableFuture<String> getSystemProperty (String name)

Führen Sie eine potenzielle asynchrone Abfrage für eine Systemeigenschaft durch.

Parameter
name String: Der Name des zurückzugebenden Werts.

Returns
ListenableFuture<String> Ein ListenableFuture. ERROR(get/Future#get() get) kann null zurückgeben.

hasClients

public boolean hasClients ()

Gibt zurück, ob IDevice Client enthält.

Returns
boolean

installPackage

public void installPackage (String packageFilePath, 
                boolean reinstall, 
                InstallReceiver receiver, 
                long maxTimeout, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits, 
                String... extraArgs)

Installiert eine Android-App auf dem Gerät. Dies ist eine Hilfsmethode, die die Schritte „syncPackageToDevice“, „installRemotePackage“ und „removePackage“ kombiniert.

Parameter
packageFilePath String: der absolute Dateisystempfad zur Datei auf dem lokalen Host, die installiert werden soll

reinstall boolean: auf true setzen, wenn die App neu installiert werden soll

receiver InstallReceiver: Die InstallReceiver, die zum Überwachen der Installation und zum Abrufen des endgültigen Status verwendet werden soll.

maxTimeout long: Das maximale Zeitlimit für die Rückgabe des Befehls. Ein Wert von 0 bedeutet, dass kein maximales Zeitlimit angewendet wird.

maxTimeToOutputResponse long: Die maximale Zeit, in der der Befehl keine Ausgabe erzeugen darf. Ein Wert von 0 bedeutet, dass die Methode unbegrenzt auf die Befehlsausgabe wartet (bis receiver die Ausführung abbricht) und nie eine Ausnahme auslöst.

maxTimeUnits TimeUnit: Einheiten für maxTimeout- und maxTimeToOutputResponse-Werte ungleich null.

extraArgs String: Optionale zusätzliche Argumente, die übergeben werden sollen. Weitere Informationen zu den verfügbaren Optionen finden Sie unter „adb shell pm install --help“.

Ausgabe
InstallException

installPackage

public void installPackage (String packageFilePath, 
                boolean reinstall, 
                InstallReceiver receiver, 
                String... extraArgs)

Installiert eine Android-App auf dem Gerät. Dies ist eine Hilfsmethode, die die Schritte „syncPackageToDevice“, „installRemotePackage“ und „removePackage“ kombiniert.

Parameter
packageFilePath String: der absolute Dateisystempfad zur Datei auf dem lokalen Host, die installiert werden soll

reinstall boolean: auf true setzen, wenn die App neu installiert werden soll

receiver InstallReceiver: Die InstallReceiver, die zum Überwachen der Installation und zum Abrufen des endgültigen Status verwendet werden soll.

extraArgs String: Optionale zusätzliche Argumente, die übergeben werden sollen. Weitere Informationen zu den verfügbaren Optionen finden Sie unter „adb shell pm install --help“.

Ausgabe
InstallException

installPackage

public void installPackage (String packageFilePath, 
                boolean reinstall, 
                String... extraArgs)

Installiert eine Android-App auf dem Gerät. Dies ist eine Hilfsmethode, die die Schritte „syncPackageToDevice“, „installRemotePackage“ und „removePackage“ kombiniert.

Parameter
packageFilePath String: der absolute Dateisystempfad zur Datei auf dem lokalen Host, die installiert werden soll

reinstall boolean: auf true setzen, wenn die App neu installiert werden soll

extraArgs String: Optionale zusätzliche Argumente, die übergeben werden sollen. Weitere Informationen zu den verfügbaren Optionen finden Sie unter „adb shell pm install --help“.

Ausgabe
InstallException

installPackages

public void installPackages ( apks, 
                boolean reinstall, 
                 installOptions)

Installiert eine Android-Anwendung, die aus mehreren APK-Dateien besteht (ein Haupt-APK und 0..n Split-Pakete) mit dem Standard-Zeitlimit.

Parameter
apks : Liste der zu installierenden APKs (1 Haupt-APK + 0..n Split-APKs)

reinstall boolean: auf true setzen, wenn die App neu installiert werden soll

installOptions : Optionale zusätzliche Argumente, die übergeben werden sollen. Weitere Informationen zu den verfügbaren Optionen finden Sie unter „adb shell pm install --help“.

Ausgabe
InstallException

installPackages

public void installPackages ( apks, 
                boolean reinstall, 
                 installOptions, 
                long timeout, 
                TimeUnit timeoutUnit)

Installiert eine Android-Anwendung, die aus mehreren APK-Dateien besteht (ein Hauptpaket und 0 bis n unterteilte Pakete)

Parameter
apks : Liste der zu installierenden APKs (1 Haupt-APK + 0..n Split-APKs)

reinstall boolean: auf true setzen, wenn die App neu installiert werden soll

installOptions : Optionale zusätzliche Argumente, die übergeben werden sollen. Weitere Informationen zu den verfügbaren Optionen finden Sie unter „adb shell pm install --help“.

timeout long: Installationszeitüberschreitung

timeoutUnit TimeUnit: ERROR(/TimeUnit) entsprechend dem Zeitlimitparameter

Ausgabe
InstallException

installRemotePackage

public void installRemotePackage (String remoteFilePath, 
                boolean reinstall, 
                InstallReceiver receiver, 
                String... extraArgs)

Installiert das Anwendungspaket, das an einen temporären Speicherort auf dem Gerät übertragen wurde.

Parameter
remoteFilePath String: Absoluter Dateipfad zur Paketdatei auf dem Gerät.

reinstall boolean: auf true setzen, wenn die App neu installiert werden soll

receiver InstallReceiver: Die InstallReceiver, die zum Überwachen der Installation und zum Abrufen des endgültigen Status verwendet werden soll.

extraArgs String: Optionale zusätzliche Argumente, die übergeben werden sollen. Weitere Informationen zu den verfügbaren Optionen finden Sie unter „adb shell pm install --help“.

Ausgabe
InstallException

installRemotePackage

public void installRemotePackage (String remoteFilePath, 
                boolean reinstall, 
                String... extraArgs)

Installiert das Anwendungspaket, das an einen temporären Speicherort auf dem Gerät übertragen wurde.

Parameter
remoteFilePath String: Absoluter Dateipfad zur Paketdatei auf dem Gerät.

reinstall boolean: auf true setzen, wenn die App neu installiert werden soll

extraArgs String: Optionale zusätzliche Argumente, die übergeben werden sollen. Weitere Informationen zu den verfügbaren Optionen finden Sie unter „adb shell pm install --help“.

Ausgabe
InstallException

installRemotePackage

public void installRemotePackage (String remoteFilePath, 
                boolean reinstall, 
                InstallReceiver receiver, 
                long maxTimeout, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits, 
                String... extraArgs)

Installiert das Anwendungspaket, das an einen temporären Speicherort auf dem Gerät übertragen wurde.

Parameter
remoteFilePath String: Absoluter Dateipfad zur Paketdatei auf dem Gerät.

reinstall boolean: auf true setzen, wenn die App neu installiert werden soll

receiver InstallReceiver: Die InstallReceiver, die zum Überwachen der Installation und zum Abrufen des endgültigen Status verwendet werden soll.

maxTimeout long: Das maximale Zeitlimit für die Rückgabe des Befehls. Ein Wert von 0 bedeutet, dass kein maximales Zeitlimit angewendet wird.

maxTimeToOutputResponse long: Die maximale Zeit, in der der Befehl keine Ausgabe erzeugen darf. Ein Wert von 0 bedeutet, dass die Methode unbegrenzt auf die Befehlsausgabe wartet (bis receiver die Ausführung abbricht) und nie eine Ausnahme auslöst.

maxTimeUnits TimeUnit: Einheiten für maxTimeout- und maxTimeToOutputResponse-Werte ungleich null.

extraArgs String: Optionale zusätzliche Argumente, die übergeben werden sollen. Weitere Informationen zu den verfügbaren Optionen finden Sie unter „adb shell pm install --help“.

Ausgabe
InstallException

installRemotePackages

public void installRemotePackages ( remoteApks, 
                boolean reinstall, 
                 installOptions)

Installiert eine Android-Anwendung, die aus mehreren APK-Dateien besteht, die sich lokal auf dem Gerät befinden, mit dem Standard-Timeout.

Parameter
remoteApks : Liste der APK-Dateipfade auf dem Gerät, die installiert werden sollen

reinstall boolean: auf true setzen, wenn die App neu installiert werden soll

installOptions : Optionale zusätzliche Argumente, die übergeben werden sollen. Weitere Informationen zu den verfügbaren Optionen finden Sie unter „adb shell pm install --help“.

Ausgabe
InstallException

installRemotePackages

public void installRemotePackages ( remoteApks, 
                boolean reinstall, 
                 installOptions, 
                long timeout, 
                TimeUnit timeoutUnit)

Installiert eine Android-Anwendung, die aus mehreren APK-Dateien besteht, die sich lokal auf dem Gerät befinden

Parameter
remoteApks : Liste der APK-Dateipfade auf dem Gerät, die installiert werden sollen

reinstall boolean: auf true setzen, wenn die App neu installiert werden soll

installOptions : Optionale zusätzliche Argumente, die übergeben werden sollen. Weitere Informationen zu den verfügbaren Optionen finden Sie unter „adb shell pm install --help“.

timeout long: Installationszeitüberschreitung

timeoutUnit TimeUnit: ERROR(/TimeUnit) entsprechend dem Zeitlimitparameter

Ausgabe
InstallException

isBootLoader

public boolean isBootLoader ()

Gibt zurück, ob sich das Gerät im Bootloader-Modus befindet.

Returns
boolean true, wenn getState() DeviceState.BOOTLOADER zurückgibt.

isEmulator

public boolean isEmulator ()

Gibt true zurück, wenn es sich bei dem Gerät um einen Emulator handelt.

Returns
boolean

isOffline

public boolean isOffline ()

Gibt zurück, ob das Gerät offline ist.

Returns
boolean true, wenn getState() DeviceState.OFFLINE zurückgibt.

isOnline

public boolean isOnline ()

Gibt zurück, ob das Gerät bereit ist.

Returns
boolean true, wenn getState() DeviceState.ONLINE zurückgibt.

isRoot

public boolean isRoot ()

Fragt den aktuellen Root-Status des Geräts ab. Weitere Informationen finden Sie unter „adb root“.

Returns
boolean „true“, wenn der ADB-Daemon als Root ausgeführt wird, andernfalls „false“.

Ausgabe
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

aufhören

public void kill (String applicationName)

Beendet eine Anwendung anhand ihres Namens. Dadurch werden nur die Aktivitäten zerstört, der Status bleibt im Android-System erhalten.

Parameter
applicationName String: der Name der Anwendung

pullFile

public void pullFile (String remote, 
                String local)

Ruft eine einzelne Datei ab.

Parameter
remote String: der vollständige Pfad zur Remotedatei

local String: Das lokale Ziel.

Ausgabe
AdbCommandRejectedException
SyncException
TimeoutException

push

public void push (String[] local, 
                String remote)

Überträgt mehrere Dateien oder Verzeichnisse.

Parameter
local String: die lokalen Dateien, die übertragen werden sollen

remote String: der Remote-Pfad, der ein Verzeichnis darstellt

Ausgabe
AdbCommandRejectedException
SyncException
TimeoutException

pushFile

public void pushFile (String local, 
                String remote)

Pushes a single file.

Parameter
local String: der lokale Dateipfad.

remote String: der Remote-Dateipfad

Ausgabe
AdbCommandRejectedException
SyncException
TimeoutException

rawBinder

public SocketChannel rawBinder (String service, 
                String[] parameters)

Den Android Binder Bridge-Dienst auf einem Remote-Gerät aufrufen Gibt einen Socket-Channel zurück, der mit dem Gerätebinder-Befehl verbunden ist.

Das Eigentum am SocketChannel wird an den Aufrufer übertragen. Er muss nach der Verwendung explizit geschlossen werden.

Parameter
service String: Der Name des Android-Dienstes, zu dem eine Verbindung hergestellt werden soll.

parameters String: die Parameter des Binder-Befehls

Returns
SocketChannel Ein SocketChannel, der mit dem ausgeführten Prozess auf dem Gerät verbunden ist.

Ausgabe
AdbCommandRejectedException
TimeoutException

rawExec

public SocketChannel rawExec (String executable, 
                String[] parameters)

Rufen Sie den Dienst „host:exec“ auf einem Remote-Gerät auf. Gibt einen Socket-Channel zurück, der mit dem ausgeführten Prozess verbunden ist. Der Exec-Dienst unterscheidet nicht zwischen stdout und stderr. Was vom Socket gelesen wird, kann also aus beiden Ausgaben stammen und verschachtelt sein.

Das Eigentum am SocketChannel wird an den Aufrufer übertragen. Er muss nach der Verwendung explizit geschlossen werden.

Parameter
executable String

parameters String

Returns
SocketChannel Ein SocketChannel, der mit dem ausgeführten Prozess auf dem Gerät verbunden ist.

Ausgabe
AdbCommandRejectedException
TimeoutException

neu starten

public void reboot (String into)

Starten Sie das Gerät neu.

Parameter
into String: Der Name des Bootloaders, in den neu gestartet werden soll, oder „null“, um das Gerät nur neu zu starten.

Ausgabe
AdbCommandRejectedException
TimeoutException

removeForward

public void removeForward (int localPort)

Entfernt eine Portweiterleitung zwischen einem lokalen und einem Remote-Port.

Parameter
localPort int: der lokale Port, der weitergeleitet werden soll

Ausgabe
AdbCommandRejectedException
TimeoutException

removeRemotePackage

public void removeRemotePackage (String remoteFilePath)

Entfernt eine Datei vom Gerät.

Parameter
remoteFilePath String: Pfad der Datei auf dem Gerät, die entfernt werden soll

Ausgabe
InstallException

removeReverse

public void removeReverse (int remotePort)

Entfernt eine Portumkehrung zwischen einem Remote- und einem lokalen Port.

Parameter
remotePort int: der Remote-Port.

Ausgabe
AdbCommandRejectedException
TimeoutException

root

public boolean root ()

Fordert den ADB-Daemon auf, auf dem Gerät Root zu werden. Dies kann im Hintergrund fehlschlagen und nur bei Entwickler-Builds funktionieren. Weitere Informationen finden Sie unter „adb root“.

Returns
boolean „true“, wenn der ADB-Daemon als Root ausgeführt wird, andernfalls „false“.

Ausgabe
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

startScreenRecorder

public void startScreenRecorder (String remoteFilePath, 
                ScreenRecorderOptions options, 
                IShellOutputReceiver receiver)

Startet die Bildschirmaufzeichnung auf dem Gerät, wenn das Gerät IDevice.Feature.SCREEN_RECORD unterstützt.

Parameter
remoteFilePath String

options ScreenRecorderOptions

receiver IShellOutputReceiver

Ausgabe
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

supportsFeature

public boolean supportsFeature (IDevice.HardwareFeature feature)

Gibt zurück, ob dieses Gerät die angegebene Hardwarefunktion unterstützt.

Parameter
feature IDevice.HardwareFeature

Returns
boolean

supportsFeature

public boolean supportsFeature (IDevice.Feature feature)

Gibt zurück, ob dieses Gerät die angegebene Softwarefunktion unterstützt.

Parameter
feature IDevice.Feature

Returns
boolean

syncPackageToDevice

public String syncPackageToDevice (String localFilePath)

Eine Datei auf ein Gerät übertragen

Parameter
localFilePath String: der absolute Pfad zur Datei auf dem lokalen Host

Returns
String String – Zielpfad auf dem Gerät für die Datei

Ausgabe
AdbCommandRejectedException
SyncException
TimeoutException

toString

public String toString ()

Returns
String

uninstallApp

public String uninstallApp (String applicationID, 
                String... extraArgs)

Deinstalliert eine App vom Gerät.

Parameter
applicationID String: die Android-Anwendungs-ID, die deinstalliert werden soll

extraArgs String: Optionale zusätzliche Argumente, die übergeben werden sollen. Weitere Informationen zu den verfügbaren Optionen finden Sie unter „adb shell pm install --help“.

Returns
String String mit einem Fehlercode oder null bei Erfolg.

Ausgabe
InstallException

uninstallPackage

public String uninstallPackage (String packageName)

Deinstalliert ein Paket vom Gerät.

Parameter
packageName String: die Android-Anwendungs-ID, die deinstalliert werden soll

Returns
String String mit einem Fehlercode oder null bei Erfolg.

Ausgabe
InstallException