IShellEnabledDevice

public interface IShellEnabledDevice

com.android.ddmlib.IShellEnabledDevice


シェル コマンドを受信できる抽象デバイス。

概要

パブリック メソッド

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

デバイスでシェルコマンドを実行し、結果を receiver に送信します。

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

デバイスでシェルコマンドを実行し、結果を receiver に送信します。

abstract String getName()

このデバイスの(人間が判読可能な)名前を返します。

abstract ListenableFuture<String> getSystemProperty(String name)

システム プロパティの非同期クエリを実行します。

パブリック メソッド

executeShellCommand

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

デバイスでシェルコマンドを実行し、結果を receiver に送信します。

maxTimeToOutputResponse は、デバイスからのコマンド出力を待機する際の最大待機時間として使用されます。
シェルコマンドが maxTimeToOutputResponse より長い期間何も出力しない場合、メソッドは ShellCommandUnresponsiveException をスローします。

ログ出力などのコマンドでは、maxTimeToOutputResponse 値 0(メソッドがスローされず、レシーバの IShellOutputReceiver.isCancelled()true を返すまでブロックされることを意味します)を使用する必要があります。

パラメータ
command String: 実行するシェルコマンド

receiver IShellOutputReceiver: シェル コマンドの出力を受け取る IShellOutputReceiver

maxTimeout long: コマンドが戻るまでの最大タイムアウト。値 0 は、最大タイムアウトが適用されないことを意味します。

maxTimeToOutputResponse long: コマンドがレスポンスを出力しないことが許容される最大時間。値が 0 の場合、メソッドはコマンド出力が返されるまで(receiver が実行をキャンセルするまで)永久に待機し、スローしません。

maxTimeUnits TimeUnit: ゼロ以外の maxTimeout 値と maxTimeToOutputResponse 値の単位。

例外
AdbCommandRejectedException adb がコマンドを拒否した場合。
ShellCommandUnresponsiveException シェルコマンドが maxTimeToOutputResponse より長い期間にわたって出力を送信しない場合。
TimeoutException コマンドの送信時に接続がタイムアウトした場合。
IOException 接続で I/O エラーが発生した場合。

executeShellCommand

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

デバイスでシェルコマンドを実行し、結果を receiver に送信します。

maxTimeToOutputResponse は、デバイスからのコマンド出力を待機する際の最大待機時間として使用されます。
シェルコマンドが maxTimeToOutputResponse より長い期間何も出力しない場合、メソッドは ShellCommandUnresponsiveException をスローします。

ログ出力などのコマンドでは、maxTimeToOutputResponse 値 0(メソッドがスローされず、レシーバの IShellOutputReceiver.isCancelled()true を返すまでブロックされることを意味します)を使用する必要があります。

パラメータ
command String: 実行するシェルコマンド

receiver IShellOutputReceiver: シェル コマンドの出力を受け取る IShellOutputReceiver

maxTimeToOutputResponse long: コマンドがレスポンスを出力しないことが許容される最大時間。値が 0 の場合、メソッドはコマンド出力が返されるまで(receiver が実行をキャンセルするまで)永久に待機し、スローしません。

maxTimeUnits TimeUnit: ゼロ以外の maxTimeToOutputResponse 値の単位。

例外
AdbCommandRejectedException adb がコマンドを拒否した場合。
ShellCommandUnresponsiveException シェルコマンドが maxTimeToOutputResponse より長い期間にわたって出力を送信しない場合。
TimeoutException コマンドの送信時に接続がタイムアウトした場合。
IOException 接続で I/O エラーが発生した場合。

getName

public abstract String getName ()

このデバイスの(人間が判読可能な)名前を返します。通常、AVD の場合は AVD 名、デバイスの場合はメーカー名、モデル名、シリアル番号の組み合わせになります。

戻り値
String

getSystemProperty

public abstract ListenableFuture<String> getSystemProperty (String name)

システム プロパティの非同期クエリを実行します。

パラメータ
name String: 返す値の名前。

戻り値
ListenableFuture<String> ListenableFuture. get は null を返すことがあります。