IShellEnabledDevice

public interface IShellEnabledDevice

com.android.ddmlib.IShellEnabledDevice


Ein abstraktes Gerät, das Shell-Befehle empfangen kann.

Zusammenfassung

Öffentliche Methoden

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

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

abstract String getName()

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

abstract ListenableFuture<String> getSystemProperty(String name)

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

Öffentliche Methoden

executeShellCommand

public abstract 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
TimeoutException bei Zeitüberschreitung der Verbindung beim Senden des Befehls.
AdbCommandRejectedException wenn der Befehl von ADB abgelehnt wird.
ShellCommandUnresponsiveException wenn der Shell-Befehl über einen Zeitraum von mehr als maxTimeToOutputResponse keine Ausgabe sendet.
bei einem E/A-Fehler bei der Verbindung.

Weitere Informationen

executeShellCommand

public abstract 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
TimeoutException bei Zeitüberschreitung der Verbindung beim Senden des Befehls.
AdbCommandRejectedException wenn der Befehl von ADB abgelehnt wird.
ShellCommandUnresponsiveException wenn der Shell-Befehl über einen Zeitraum von mehr als maxTimeToOutputResponse keine Ausgabe sendet.
bei einem E/A-Fehler bei der Verbindung.

Weitere Informationen

getName

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

getSystemProperty

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