Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る
このページは Cloud Translation API によって翻訳されました。
Switch to English

INativeDevice

public interface INativeDevice

com.android.tradefed.device.INativeDevice


ddmlib IDevice信頼性が高く、やや高いレベルのAPIを提供します。

構成可能な量のデバイスコマンドを再試行し、応答しないデバイスにデバイス回復インターフェイスを提供します。

概要

定数

int UNKNOWN_API_LEVEL

APIレベルを検出できない場合のデフォルト値

パブリックメソッド

abstract boolean checkApiLevelAgainstNextRelease (int strictMinLevel)

最小限サポートされているレベルで、機能が現在サポートされているかどうかを確認します。

abstract void clearLogcat ()

蓄積されたlogcatデータを削除します。

abstract void deleteFile (String deviceFilePath)

デバイス上のファイルまたはディレクトリを削除するヘルパーメソッド。

abstract boolean disableAdbRoot ()

adb rootをオフにします。

abstract boolean doesFileExist (String deviceFilePath)

デバイス上のファイルが存在するかどうかを判断するヘルパーメソッド。

abstract boolean enableAdbRoot ()

adbルートをオンにします。

abstract boolean encryptDevice (boolean inplace)

デバイスを暗号化します。

abstract String executeAdbCommand (String... commandArgs)

adbコマンドをシステムコマンドとして実行するヘルパーメソッド。

abstract CommandResult executeFastbootCommand (String... commandArgs)

デフォルトのタイムアウトが2分のシステムコマンドとしてfastbootコマンドを実行するヘルパーメソッド。

abstract CommandResult executeFastbootCommand (long timeout, String... commandArgs)

システムコマンドとしてfastbootコマンドを実行するヘルパーメソッド。

abstract CommandResult executeLongFastbootCommand (String... commandArgs)

長時間実行されるfastbootコマンドをシステムコマンドとして実行するヘルパーメソッド。

abstract String executeShellCommand (String command)

adbシェルコマンドを実行し、出力をStringとして返すヘルパーメソッド。

abstract void executeShellCommand (String command, IShellOutputReceiver receiver, long maxTimeToOutputShellResponse, TimeUnit timeUnit, int retryAttempts)

コマンドの動作を制御するためのパラメーターを追加して、adbシェルコマンドを実行します。

abstract void executeShellCommand (String command, IShellOutputReceiver receiver, long maxTimeoutForCommand, long maxTimeToOutputShellResponse, TimeUnit timeUnit, int retryAttempts)

コマンドの動作を制御するパラメーターを追加して、adbシェルコマンドを実行します。

abstract void executeShellCommand (String command, IShellOutputReceiver receiver)

指定されたadbシェルコマンドを実行し、コマンドが失敗した場合は複数回再試行します。

abstract CommandResult executeShellV2Command (String command)

adbシェルコマンドを実行し、コマンドステータス出力、stdoutおよびstderrが適切に入力されたCommandResultとして結果を返すヘルパーメソッド。

abstract CommandResult executeShellV2Command (String command, OutputStream pipeToOutput)

adbシェルコマンドを実行し、コマンドステータス出力、stdoutおよびstderrが適切に入力されたCommandResultとして結果を返すヘルパーメソッド。

abstract CommandResult executeShellV2Command (String command, File pipeAsInput)

adbシェルコマンドを実行し、コマンドステータス出力、stdoutおよびstderrが適切に入力されたCommandResultとして結果を返すヘルパーメソッド。

abstract CommandResult executeShellV2Command (String command, long maxTimeoutForCommand, TimeUnit timeUnit, int retryAttempts)

コマンドの動作を制御するパラメーターを追加して、adbシェルコマンドを実行します。

abstract CommandResult executeShellV2Command (String command, long maxTimeoutForCommand, TimeUnit timeUnit)

コマンドの動作を制御するためのパラメーターを追加して、adbシェルコマンドを実行します。

abstract CommandResult executeShellV2Command (String command, File pipeAsInput, OutputStream pipeToOutput, long maxTimeoutForCommand, TimeUnit timeUnit, int retryAttempts)

コマンドの動作を制御するパラメーターを追加して、adbシェルコマンドを実行します。

abstract CommandResult fastbootWipePartition (String partition)

デバイスのパーティションをワイプするヘルパーメソッド。

abstract int getApiLevel ()

デバイスのAPIレベルを取得します。

abstract String getBasebandVersion ()

このデバイスのベースバンド(無線)バージョンを取得する簡易メソッド。

abstract Integer getBattery ()

デバイスの現在のバッテリーレベルを返します。バッテリーレベルが利用できない場合はNullを返します。

abstract String getBootloaderVersion ()

このデバイスのブートローダーバージョンを取得する簡易メソッド。

abstract InputStreamSource getBugreport ()

デバイスからバグレポートを取得します。

abstract InputStreamSource getBugreportz ()

デバイスからバグレポートを取得します。

abstract String getBuildAlias ()

デバイスが現在実行しているビルドのエイリアスを取得します。

abstract String getBuildFlavor ()

デバイスのビルドフレーバーを取得します。

abstract String getBuildId ()

デバイスが現在実行しているビルドを取得します。

abstract String getBuildSigningKeys ()

デバイスイメージの署名に使用されるキータイプを返します

通常、Androidデバイスは、テストキー(AOSPなど)またはリリースキー(個々のデバイスメーカーによって制御されます)で署名されます。

abstract String[] getChildren (String deviceFilePath)

アクセス許可のために機能しない場合があるIFileEntryを使用する代わり。

abstract String getDeviceClass ()

デバイスクラスを取得します。

abstract long getDeviceDate ()

エポック以降のデバイスの日付をミリ秒で返します。

abstract DeviceDescriptor getDeviceDescriptor ()

実際のデバイスオブジェクトを渡さずにデバイス情報を取得するには、デバイス情報からDeviceDescriptorを返します。

abstract TestDeviceState getDeviceState ()

デバイスの状態を取得します。

abstract long getDeviceTimeOffset (Date date)

デバイスと特定のERROR(/Date)間の時差を取得するヘルパー。

abstract InputStreamSource getEmulatorOutput ()

エミュレーターのstdoutとstderrのストリームを取得する

abstract long getExternalStoreFreeSpace ()

デバイスの外部ストレージの空き容量を確認するヘルパーメソッド。

abstract String getFastbootProductType ()

fastbootモードのときにこのデバイスの製品タイプを取得する簡易メソッド。

abstract String getFastbootProductVariant ()

fastbootモードのときにこのデバイスの製品タイプを取得する簡易メソッド。

abstract IFileEntry getFileEntry (String path)

デバイス上のリモートファイルへの参照を取得します。

abstract IDevice getIDevice ()

関連するddmlib IDeviceへの参照を返します。

abstract long getLastExpectedRebootTimeMillis ()

System.currentTimeMillis()によって返されたEPOCH以降、Tradefed APIが最後に再起動をトリガーした時間をミリ秒単位で返します。

abstract InputStreamSource getLogcat ()

logcatデータのスナップショットストリームを取得します。

abstract InputStreamSource getLogcat (int maxBytes)

キャプチャされたlogcatデータの最後のmaxBytesスナップショットストリームを取得します。

abstract InputStreamSource getLogcatDump ()

デバイスの現在のlogcatのダンプを取得します。

abstract InputStreamSource getLogcatSince (long date)

指定された日付から、キャプチャされたlogcatデータのスナップショットストリームを取得します。

abstract String getMountPoint (String mountName)

マウントポイントを返します。

abstract ITestDevice.MountPointInfo getMountPointInfo (String mountpoint)

指定されたマウントポイントパスに対応するMountPointInfo返します。そのパスに何もマウントされていない場合、または/ proc / mountsにマウントポイントとして表示されない場合はnullを返します。

abstract getMountPointInfo ()

デバイスの/ proc / mountsにある情報の解析されたバージョンを返します

abstract long getPartitionFreeSpace (String partition)

デバイスパーティションの空き容量を確認するヘルパーメソッド。

abstract ProcessInfo getProcessByName (String processName)

ヘルパーメソッドは「ps」コマンドを実行し、指定されたプロセス名のUSER、PID、およびNAMEを返します。

abstract String getProcessPid (String process)

サービスのpidを返すか、何か問題が発生した場合はnullを返します。

abstract getProcesses ()

ヘルパーメソッドは「ps」コマンドを実行し、すべてのプロセスのUSER、PID、NAMEのリストを返します。

abstract String getProductType ()

このデバイスの製品タイプを取得する簡易メソッド。

abstract String getProductVariant ()

このデバイスの製品バリアントを取得する簡易メソッド。

abstract String getProperty (String name)

指定されたプロパティ値をデバイスから取得します。

abstract ITestDevice.RecoveryMode getRecoveryMode ()

デバイスで使用されている現在の回復モードを取得します。

abstract String getSerialNumber ()

このデバイスのシリアル番号を取得する簡易メソッド。

abstract getTombstones ()

デバイスからトゥームストーンのリストを取得して返します。

abstract long getTotalMemory ()

物理メモリの合計サイズをバイト単位で返すか、内部エラーの場合は-1を返します

abstract boolean getUseFastbootErase ()

fastboot eraseまたはfastbootフォーマットを使用してデバイスのパーティションをワイプするかどうかを取得します。

abstract boolean isAdbRoot ()
abstract boolean isAdbTcp ()
abstract boolean isDeviceEncrypted ()

デバイスが暗号化されているかどうかを返します。

abstract boolean isDirectory (String deviceFilePath)

デバイスのパスがディレクトリの場合はTrueを、それ以外の場合はFalseを返します。

abstract boolean isEncryptionSupported ()

デバイスで暗号化がサポートされているかどうかを返します。

abstract boolean isExecutable (String fullPath)

デバイス上のファイルパスが実行可能ファイルである場合はTrueを、それ以外の場合はFalseを返します。

abstract boolean isHeadless ()

デバイスがヘッドレス(画面なし)の場合はtrueを返し、それ以外の場合はfalseを返します。

abstract boolean isRuntimePermissionSupported ()

デバイスのプラットフォームがランタイムの権限付与をサポートしているかどうかを確認する

abstract boolean logBugreport (String dataName, ITestLogger listener)

バグレポートを取得してレポーターに記録するヘルパーメソッド。

abstract void logOnDevice (String tag, Log.LogLevel level, String format, Object... args)

デバイスのlogcatにメッセージを記録します。

abstract void nonBlockingReboot ()

デバイスを再起動するコマンドを発行し、コマンドの完了時とデバイスがadbから見えなくなったときに戻ります。

abstract void postBootSetup ()

起動後にデバイスをテストするように構成する手順を実行します。

abstract void postInvocationTearDown ()

呼び出しの完了後に実行される、デバイス固有の必要なクリーンアップのための追加の手順。

abstract void preInvocationSetup ( IBuildInfo info)

呼び出しフローの前にデバイスで実行される、デバイス固有の必要なセットアップの追加手順。

default void preInvocationSetup ( IBuildInfo info, testResourceBuildInfos) preInvocationSetup ( IBuildInfo info, testResourceBuildInfos)

呼び出しフローの前にデバイスで実行される、デバイス固有の必要なセットアップの追加手順。

abstract boolean pullDir (String deviceFilePath, File localDir)

デバイスからディレクトリの内容を再帰的にプルします。

abstract File pullFile (String remoteFilePath)

デバイスからファイルを取得し、ローカルの一時的なERROR(/File)に保存して、そのFileを返しFile

abstract boolean pullFile (String remoteFilePath, File localFile)

デバイスからファイルを取得します。

abstract String pullFileContents (String remoteFilePath)

デバイスからファイルを取得し、その内容を返します。

abstract File pullFileFromExternal (String remoteFilePath)

デバイスの外部ストレージからファイルを取得し、ローカルの一時的なERROR(/File)に保存し、そのFileへの参照を返す簡易メソッド。

abstract boolean pushDir (File localDir, String deviceFilePath, excludedDirectories) pushDir (File localDir, String deviceFilePath, excludedDirectories)

フィルターされた一部のディレクトリを除外しながら、ディレクトリの内容をデバイスに再帰的にプッシュします。

abstract boolean pushDir (File localDir, String deviceFilePath)

ディレクトリの内容をデバイスに再帰的にプッシュします。

abstract boolean pushFile (File localFile, String deviceFilePath)

ファイルをデバイスにプッシュする

abstract boolean pushString (String contents, String deviceFilePath)

文字列から作成されたファイルをデバイスにプッシュする

abstract void reboot ()

デバイスをadbモードで再起動します。

abstract void rebootIntoBootloader ()

デバイスをブートローダーモードで再起動します。

abstract void rebootIntoRecovery ()

デバイスをadbリカバリモードで再起動します。

abstract void rebootUntilOnline ()

デバイスがオンラインになるまでreboot()つまり、adbから見えるようになるまでreboot()ブロックするreboot()の代替。

abstract void remountSystemWritable ()

デバイスのシステムパーティションを書き込み可能にします。

abstract boolean runInstrumentationTests (IRemoteAndroidTestRunner runner, ITestLifeCycleReceiver... listeners)

パラメータとして渡された1つ以上のリスナーを使用してERROR(/#runInstrumentationTests(com.android.ddmlib.testrunner.IRemoteAndroidTestRunner,Collection))を実行するための簡易メソッド。

abstract boolean runInstrumentationTests (IRemoteAndroidTestRunner runner, listeners) runInstrumentationTests (IRemoteAndroidTestRunner runner, listeners)

インスツルメンテーションテストを実行し、デバイスの回復を提供します。

abstract boolean runInstrumentationTestsAsUser (IRemoteAndroidTestRunner runner, int userId, ITestLifeCycleReceiver... listeners)

ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, ITestLifeCycleReceiver...)が、指定されたユーザーのテストを実行します。

abstract boolean runInstrumentationTestsAsUser (IRemoteAndroidTestRunner runner, int userId, listeners) runInstrumentationTestsAsUser (IRemoteAndroidTestRunner runner, int userId, listeners)

ERROR(ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, Collection)/com.android.tradefed.device.ITestDevice#runInstrumentationTests(com.android.ddmlib.testrunner.IRemoteAndroidTestRunner,Collection) ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, Collection))指定されたユーザーの。

abstract void setDate (Date date)

デバイスに日付を設定します

注:デバイスに日付を設定するにはルートが必要です

abstract void setOptions ( TestDeviceOptions options)

デバイスのTestDeviceOptionsを設定します

abstract boolean setProperty (String propKey, String propValue)

デバイスに指定されたプロパティ値を設定します。

abstract void setRecovery ( IDeviceRecovery recovery)

このデバイスで使用するIDeviceRecoveryを設定します。

abstract void setRecoveryMode ( ITestDevice.RecoveryMode mode)

デバイスで使用する現在のリカバリモードを設定します。

abstract void setUseFastbootErase (boolean useFastbootErase)

デバイスのパーティションを消去するために、fastboot eraseまたはfastbootフォーマットを使用するかどうかを設定します。

abstract void startLogcat ()

バックグラウンドでデバイスからのlogcat出力のキャプチャを開始します。

abstract void stopEmulatorOutput ()

エミュレータ出力を閉じて削除します。

abstract void stopLogcat ()

デバイスからのlogcat出力のキャプチャを停止し、現在保存されているlogcatデータを破棄します。

abstract String switchToAdbTcp ()

デバイスをadb-over-tcpモードに切り替えます。

abstract boolean switchToAdbUsb ()

USBモードでデバイスをadbに切り替えます。

abstract boolean syncFiles (File localFileDir, String deviceFilePath)

ローカルファイルディレクトリの内容を増分的にデバイスに同期します。

abstract Bugreport takeBugreport ()

Bugreport 、それを処理するためにBugreportオブジェクト内に返します。

abstract boolean unencryptDevice ()

デバイスの暗号化を解除します。

abstract boolean unlockDevice ()

デバイスが暗号化された状態の場合、デバイスのロックを解除します。

abstract boolean waitForBootComplete (long timeOut)

デバイスの起動完了フラグが設定されるまでブロックします。

abstract void waitForDeviceAvailable ()

デバイスが応答し、テストに使用できるようになるのを待ちます。

abstract void waitForDeviceAvailable (long waitTime)

デバイスが応答し、テストに使用できるようになるのを待ちます。

abstract boolean waitForDeviceInRecovery (long waitTime)

デバイスが 'adb recovery'状態になるためのブロック(これはIDeviceRecoveryとは異なりIDeviceRecovery )。

abstract boolean waitForDeviceNotAvailable (long waitTime)

デバイスのブロックが利用できない、つまりadbにない

abstract void waitForDeviceOnline ()

デバイスがadbを介して表示されるまでブロックします。

abstract void waitForDeviceOnline (long waitTime)

デバイスがadbを介して表示されるまでブロックします。

abstract boolean waitForDeviceShell (long waitTime)

デバイスが基本的なadbシェルコマンドに応答するのを待ちます。

定数

UNKNOWN_API_LEVEL

public static final int UNKNOWN_API_LEVEL

APIレベルを検出できない場合のデフォルト値

定数値:-1(0xffffffff)

パブリックメソッド

checkApiLevelAgainstNextRelease

public abstract boolean checkApiLevelAgainstNextRelease (int strictMinLevel)

最低限サポートされているレベルで、機能が現在サポートされているかどうかを確認します。このメソッドは、APIレベルが上がる前に、まだリリースされていない機能を考慮します。

パラメーター
strictMinLevel int :この機能をサポートする厳密な最小レベル。

戻り値
boolean レベルがサポートされている場合はTrue。それ以外の場合はfalse。

投げる
DeviceNotAvailableException

clearLogcat

public abstract void clearLogcat ()

蓄積されたlogcatデータを削除します。

これは、 ITestDevice#getLogcat()が特定のポイント(新しいデバイスビルドのフラッシュ後など)の後で生成されたログデータのみを返すようにする場合に便利です。

ファイルを削除する

public abstract void deleteFile (String deviceFilePath)

デバイス上のファイルまたはディレクトリを削除するヘルパーメソッド。

パラメーター
deviceFilePath String :デバイス上のファイルの絶対パス。

投げる
DeviceNotAvailableException

disableAdbRoot

public abstract boolean disableAdbRoot ()

adb rootをオフにします。

adb rootを無効にすると、デバイスがadbから切断される場合があります。このメソッドは、デバイスが利用可能になるまでブロックします。

戻り値
boolean 成功した場合はtrue

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

doesFileExist

public abstract boolean doesFileExist (String deviceFilePath)

デバイス上のファイルが存在するかどうかを判断するヘルパーメソッド。

パラメーター
deviceFilePath String :チェックするデバイス上のファイルの絶対パス

戻り値
boolean ファイルが存在する場合はtrue 、それ以外の場合はfalse

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

enableAdbRoot

public abstract boolean enableAdbRoot ()

adbルートをオンにします。 「enable-root」設定が「false」の場合、はメッセージをログに記録し、rootを有効にせずに戻ります。

adb rootを有効にすると、デバイスがadbから切断されることがあります。このメソッドは、デバイスが利用可能になるまでブロックします。

戻り値
boolean 成功した場合はtrue

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

encryptDevice

public abstract boolean encryptDevice (boolean inplace)

デバイスを暗号化します。

デバイスの暗号化は、インプレースまたはワイプで実行できます。インプレース暗号化では、デバイス上のデータはワイプされませんが、通常、ワイプよりも数桁長くかかります。

このメソッドは、デバイスがまだ暗号化されていない場合はデバイスを再起動し、デバイスがオンラインになるまでブロックします。また、再起動後にデバイスを復号化しません。したがって、このメソッドが返されたときに、デバイスが完全に起動していないか、テストの準備ができていない可能性があります。

パラメーター
inplace boolean :暗号化プロセスを実行し、デバイスをワイプしない場合。

戻り値
boolean 成功した場合はtrue

投げる
DeviceNotAvailableException 再起動後にデバイスが利用できない場合。
UnsupportedOperationException 暗号化がデバイスでサポートされていない場合。

executeAdbCommand

public abstract String executeAdbCommand (String... commandArgs)

adbコマンドをシステムコマンドとして実行するヘルパーメソッド。

代わりにexecuteShellCommand(String)を使用する必要があります。この方法を使用すると、障害の検出とパフォーマンスが向上します。

パラメーター
commandArgs String :adbコマンドと実行する引数

戻り値
String コマンドの標準出力。コマンドの実行に失敗した場合はnull

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

executeFastbootCommand

public abstract CommandResult executeFastbootCommand (String... commandArgs)

デフォルトのタイムアウトが2分のシステムコマンドとしてfastbootコマンドを実行するヘルパーメソッド。

デバイスがすでにfastbootモードになっているときに使用することが期待されています。

パラメーター
commandArgs String :fastbootコマンドと実行する引数

戻り値
CommandResult コマンドの出力を含むCommandResult

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

executeFastbootCommand

public abstract CommandResult executeFastbootCommand (long timeout, 
                String... commandArgs)

システムコマンドとしてfastbootコマンドを実行するヘルパーメソッド。

デバイスがすでにfastbootモードになっているときに使用することが期待されています。

パラメーター
timeout long :コマンドが期限切れになるまでの時間(ミリ秒)

commandArgs String :fastbootコマンドと実行する引数

戻り値
CommandResult コマンドの出力を含むCommandResult

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

executeLongFastbootCommand

public abstract CommandResult executeLongFastbootCommand (String... commandArgs)

長時間実行されるfastbootコマンドをシステムコマンドとして実行するヘルパーメソッド。

より長いタイムアウトを使用することを除いて、 executeFastbootCommand(String)と同じです。

パラメーター
commandArgs String :fastbootコマンドと実行する引数

戻り値
CommandResult コマンドの出力を含むCommandResult

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

executeShellCommand

public abstract String executeShellCommand (String command)

adbシェルコマンドを実行し、出力をStringとして返すヘルパーメソッド。

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

戻り値
String シェル出力

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

executeShellCommand

public abstract void executeShellCommand (String command, 
                IShellOutputReceiver receiver, 
                long maxTimeToOutputShellResponse, 
                TimeUnit timeUnit, 
                int retryAttempts)

コマンドの動作を制御するパラメーターを追加して、adbシェルコマンドを実行します。

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

receiver IShellOutputReceiver :シェル出力をIShellOutputReceiverするIShellOutputReceiver

maxTimeToOutputShellResponse long :コマンドが応答を出力できない最大時間。 timeUnit指定されたtimeUnit

timeUnit TimeUnitmaxTimeToOutputShellResponse単位

retryAttempts int :例外のためにコマンドが失敗した場合にコマンドを再試行する最大回数。成功せずにretryAttemptsを実行すると、 retryAttemptsがスローされます。

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

以下も参照してください。

executeShellCommand

public abstract void executeShellCommand (String command, 
                IShellOutputReceiver receiver, 
                long maxTimeoutForCommand, 
                long maxTimeToOutputShellResponse, 
                TimeUnit timeUnit, 
                int retryAttempts)

コマンドの動作を制御するパラメーターを追加して、adbシェルコマンドを実行します。

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

receiver IShellOutputReceiver :シェル出力をIShellOutputReceiverするIShellOutputReceiver

maxTimeoutForCommand long :コマンドが完了するまでの最大タイムアウト。 timeUnit指定されたtimeUnit

maxTimeToOutputShellResponse long :コマンドが応答を出力できない最大時間。 timeUnit指定されたtimeUnit

timeUnit TimeUnitmaxTimeToOutputShellResponse単位

retryAttempts int :例外のためにコマンドが失敗した場合にコマンドを再試行する最大回数。成功せずにretryAttemptsを実行すると、 retryAttemptsがスローされます。

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

以下も参照してください。

executeShellCommand

public abstract void executeShellCommand (String command, 
                IShellOutputReceiver receiver)

指定されたadbシェルコマンドを実行し、コマンドが失敗した場合は複数回再試行します。

デフォルト値を持つexecuteShellCommand(String, com.android.ddmlib.IShellOutputReceiver, long, TimeUnit, int)のより単純な形式。

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

receiver IShellOutputReceiver :シェル出力をIShellOutputReceiverするIShellOutputReceiver

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command)

adbシェルコマンドを実行し、コマンドステータス出力、stdoutおよびstderrが適切に入力されたCommandResultとして結果を返すヘルパーメソッド。

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

戻り値
CommandResult CommandResultの結果。

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command, 
                OutputStream pipeToOutput)

adbシェルコマンドを実行し、コマンドステータス出力、stdoutおよびstderrが適切に入力されたCommandResultとして結果を返すヘルパーメソッド。

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

pipeToOutput OutputStreamERROR(/OutputStream) std出力がリダイレクトされます。

戻り値
CommandResult CommandResultの結果。

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command, 
                File pipeAsInput)

adbシェルコマンドを実行し、コマンドステータス出力、stdoutおよびstderrが適切に入力されたCommandResultとして結果を返すヘルパーメソッド。

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

pipeAsInput File :コマンドへの入力としてパイプされるERROR(/File)

戻り値
CommandResult CommandResultの結果。

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command, 
                long maxTimeoutForCommand, 
                TimeUnit timeUnit, 
                int retryAttempts)

コマンドの動作を制御するパラメーターを追加して、adbシェルコマンドを実行します。

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

maxTimeoutForCommand long :コマンドが完了するまでの最大タイムアウト。 timeUnit指定されたtimeUnit

timeUnit TimeUnitmaxTimeToOutputShellResponse単位

retryAttempts int :例外のためにコマンドが失敗した場合にコマンドを再試行する最大回数。成功せずにretryAttemptsを実行すると、 retryAttemptsがスローされます。

戻り値
CommandResult

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

以下も参照してください。

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command, 
                long maxTimeoutForCommand, 
                TimeUnit timeUnit)

コマンドの動作を制御するパラメーターを追加して、adbシェルコマンドを実行します。

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

maxTimeoutForCommand long :コマンドが完了するまでの最大タイムアウト。 timeUnit指定されたtimeUnit

timeUnit TimeUnitmaxTimeToOutputShellResponse単位

戻り値
CommandResult

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

以下も参照してください。

executeShellV2Command

public abstract CommandResult executeShellV2Command (String command, 
                File pipeAsInput, 
                OutputStream pipeToOutput, 
                long maxTimeoutForCommand, 
                TimeUnit timeUnit, 
                int retryAttempts)

コマンドの動作を制御するパラメーターを追加して、adbシェルコマンドを実行します。

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

pipeAsInput File :コマンドへの入力としてパイプされるERROR(/File)

pipeToOutput OutputStreamERROR(/OutputStream) std出力がリダイレクトされます。

maxTimeoutForCommand long :コマンドが完了するまでの最大タイムアウト。 timeUnit指定されたtimeUnit

timeUnit TimeUnitmaxTimeToOutputShellResponse単位

retryAttempts int :例外のためにコマンドが失敗した場合にコマンドを再試行する最大回数。成功せずにretryAttemptsを実行すると、 retryAttemptsがスローされます。

戻り値
CommandResult

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

以下も参照してください。

fastbootWipePartition

public abstract CommandResult fastbootWipePartition (String partition)

デバイスのパーティションをワイプするヘルパーメソッド。

getUseFastbootErase()true場合、パーティションのワイプにfastboot消去が使用されます。デバイスは、次にデバイスが起動するときにファイルシステムを作成する必要があります。それ以外の場合は、デバイスに新しいファイルシステムを作成するfastboot形式が使用されます。

デバイスがすでにfastbootモードになっているときに使用することが期待されています。

パラメーター
partition String :ワイプするパーティション

戻り値
CommandResult コマンドの出力を含むCommandResult

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

getApiLevel

public abstract int getApiLevel ()

デバイスのAPIレベルを取得します。デフォルトはUNKNOWN_API_LEVELです。

戻り値
int デバイスのAPIレベルを示す整数

投げる
DeviceNotAvailableException

getBasebandVersion

public abstract String getBasebandVersion ()

このデバイスのベースバンド(無線)バージョンを取得する簡易メソッド。無線バージョンの取得はデバイス固有であるため、すべてのデバイスについて正しい情報が返されない場合があります。このメソッドは、gsm.version.basebandプロパティに依存して正しいバージョン情報を返します。これは一部のCDMAデバイスでは正確ではなく、ここで返されるバージョンはfastbootから報告されたバージョンと一致せず、CDMA無線のバージョンを返さない場合があります。 TL; DRこのメソッドは、gsm.version.basebandプロパティがfastboot getvar version-basebandによって返されたバージョンと同じである場合にのみ、正確なバージョンを報告します。

戻り値
String Stringベースバンドバージョン、または判別できない場合はnull (デバイスに無線がないか、バージョン文字列を読み取れない)

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

getBattery

public abstract Integer getBattery ()

デバイスの現在のバッテリーレベルを返します。バッテリーレベルが利用できない場合はNullを返します。

戻り値
Integer

getBootloaderVersion

public abstract String getBootloaderVersion ()

このデバイスのブートローダーバージョンを取得する簡易メソッド。

デバイスの現在の状態からブートローダーのバージョンを取得しようとします。 (つまり、デバイスがfastbootモードの場合、デバイスはfastbootからバージョンを取得しようとします)

戻り値
String Stringブートローダーのバージョン。見つからない場合はnull

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

getBugreport

public abstract InputStreamSource getBugreport ()

デバイスからバグレポートを取得します。

この実装は、SDカードのないデバイス(またはSDカードがまだマウントされていないデバイス)で引き続き機能することが保証されています。

戻り値
InputStreamSource バグレポートのコンテンツをオンデマンドで生成するInputStreamSource 。失敗した場合、 InputStreamSourceは空のERROR(/InputStream)を生成します。

getBugreportz

public abstract InputStreamSource getBugreportz ()

デバイスからバグレポートを取得します。 zip形式のバグレポートには、メインのバグレポートとデバッグに役立つその他のログファイルが含まれています。

「adbバージョン」> 1.0.36でのみサポート

戻り値
InputStreamSource bugreportzを含むzipファイルのInputStreamSource 。失敗した場合はnullを返します。

getBuildAlias

public abstract String getBuildAlias ()

デバイスが現在実行しているビルドのエイリアスを取得します。

ビルドエイリアスは通常、ビルドIDよりも読みやすい文字列です(通常、Nexusビルドの番号)。たとえば、Android 4.2の最終リリースには、ビルドエイリアスJDQ39とビルドID 573038があります。

戻り値
String ビルドエイリアス、または取得できなかった場合はビルドIDにフォールバック

投げる
DeviceNotAvailableException

getBuildFlavor

public abstract String getBuildFlavor ()

デバイスのビルドフレーバーを取得します。

戻り値
String ビルドフレーバー、または取得できなかった場合はnull

投げる
DeviceNotAvailableException

getBuildId

public abstract String getBuildId ()

デバイスが現在実行しているビルドを取得します。

戻り値
String ビルドID、または取得できなかった場合はIBuildInfo#UNKNOWN_BUILD_ID

投げる
DeviceNotAvailableException

getBuildSigningKeys

public abstract String getBuildSigningKeys ()

デバイスイメージの署名に使用されるキータイプを返します

通常、Androidデバイスは、テストキー(AOSPなど)またはリリースキー(個々のデバイスメーカーによって制御されます)で署名されます。

戻り値
String 見つかった場合は署名キー、それ以外の場合はnull。

投げる
DeviceNotAvailableException

getChildren

public abstract String[] getChildren (String deviceFilePath)

アクセス許可のために機能しない場合があるIFileEntryを使用する代わり。

パラメーター
deviceFilePath String :検索を実行するデバイス上のパスです

戻り値
String[] デバイスのパスにあるすべてのファイルを含む文字列の配列。

投げる
DeviceNotAvailableException

getDeviceClass

public abstract String getDeviceClass ()

デバイスクラスを取得します。

戻り値
String Stringデバイスクラス。

getDeviceDate

public abstract long getDeviceDate ()

エポック以降のデバイスの日付をミリ秒で返します。

戻り値
long エポック形式のデバイスの日付。

投げる
DeviceNotAvailableException

getDeviceDescriptor

public abstract DeviceDescriptor getDeviceDescriptor ()

実際のデバイスオブジェクトを渡さずにデバイス情報を取得するには、デバイス情報からDeviceDescriptorを返します。

戻り値
DeviceDescriptor

getDeviceState

public abstract TestDeviceState getDeviceState ()

デバイスの状態を取得します。

戻り値
TestDeviceState

getDeviceTimeOffset

public abstract long getDeviceTimeOffset (Date date)

デバイスと特定のERROR(/Date)間の時差を取得するヘルパー。内部でエポック時間を使用します。

パラメーター
date Date

戻り値
long ミリ秒単位の違い

投げる
DeviceNotAvailableException

getEmulatorOutput

public abstract InputStreamSource getEmulatorOutput ()

エミュレーターのstdoutとstderrのストリームを取得する

戻り値
InputStreamSource エミュレータ出力

getExternalStoreFreeSpace

public abstract long getExternalStoreFreeSpace ()

デバイスの外部ストレージの空き容量を確認するヘルパーメソッド。

戻り値
long KB単位の空き容量

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

getFastbootProductType

public abstract String getFastbootProductType ()

fastbootモードのときにこのデバイスの製品タイプを取得する簡易メソッド。

この方法は、デバイスがfastbootにある場合にのみ使用してください。この場合、汎用のgetProductType()メソッドよりも少し安全なバリアントです。これは、デバイスが正しくない状態または応答しない場合にITestDeviceがデバイスをfastbootに回復することを認識するためです。

戻り値
String String製品タイプ名、または判別できない場合はnull

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

getFastbootProductVariant

public abstract String getFastbootProductVariant ()

fastbootモードのときにこのデバイスの製品タイプを取得する簡易メソッド。

この方法は、デバイスがfastbootにある場合にのみ使用してください。この場合、汎用のgetProductType()メソッドよりも少し安全なバリアントです。これは、デバイスが正しくない状態または応答しない場合にITestDeviceがデバイスをfastbootに回復することを認識するためです。

戻り値
String String製品タイプ名、または判別できない場合はnull

投げる
DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

getFileEntry

public abstract IFileEntry getFileEntry (String path)

デバイス上のリモートファイルへの参照を取得します。

パラメーター
path String :取得するファイルパス。絶対パスまたは「/」からの相対パスを指定できます。 (つまり、「/ system」と「system」の両方の構文がサポートされています)

戻り値
IFileEntry IFileEntryまたは指定されたpathファイルが見つからない場合はnull

投げる
DeviceNotAvailableException

getIDevice

public abstract IDevice getIDevice ()

関連するddmlib IDeviceへの参照を返します。

新しいIDeviceは、デバイスがadbから切断して再接続するたびにDDMSによって割り当てられる場合があります。したがって、呼び出し側はIDeviceへの参照を保持してはなりません。その参照が古くなる可能性があるためです。

戻り値
IDevice IDevice

getLastExpectedRebootTimeMillis

public abstract long getLastExpectedRebootTimeMillis ()

System.currentTimeMillis()によって返されたEPOCH以降、Tradefed APIが最後に再起動をトリガーした時間をミリ秒単位で返します。

戻り値
long

getLogcat

public abstract InputStreamSource getLogcat ()

logcatデータのスナップショットストリームを取得します。

2つのモードで動作します。

  • logcatが現在バックグラウンドでキャプチャされている場合、バックグラウンドlogcatキャプチャの現在のコンテンツのTestDeviceOptions#getMaxLogcatDataSize()バイトまでをTestDeviceOptions#getMaxLogcatDataSize()ます。
  • それ以外の場合、デバイスが現在応答している場合、logcatデータの静的ダンプを返します

    戻り値
    InputStreamSource

  • getLogcat

    public abstract InputStreamSource getLogcat (int maxBytes)

    キャプチャされたlogcatデータの最後のmaxBytesスナップショットストリームを取得します。

    getLogcat()スナップショット全体を取得することによる潜在的に大きなディスク容量のペナルティを発生させることなく、キャプチャされたlogcatデータの頻繁なスナップショットをキャプチャしたい場合に役立ちます。

    パラメーター
    maxBytes int :返されるデータの最大量。メモリに快適に収まる量である必要があります

    戻り値
    InputStreamSource

    getLogcatDump

    public abstract InputStreamSource getLogcatDump ()

    デバイスの現在のlogcatのダンプを取得します。 getLogcat()とは異なり、このメソッドは常にlogcatの静的ダンプを返します。

    デバイスに到達できない場合は何も返されないという欠点があります。

    戻り値
    InputStreamSource logcatデータのInputStreamSource 。 logcatデータのキャプチャに失敗した場合、空のストリームが返されます。

    getLogcatSince

    public abstract InputStreamSource getLogcatSince (long date)

    指定された日付から、キャプチャされたlogcatデータのスナップショットストリームを取得します。デバイスの時間はgetDeviceDate()使用する必要があります。

    パラメーター
    date long :現在までのスナップショットを開始する時期のエポック形式からのミリ秒単位。 ( 'date +%s'を使用して取得できます)

    戻り値
    InputStreamSource

    getMountPoint

    public abstract String getMountPoint (String mountName)

    マウントポイントを返します。

    IDeviceのキャッシュされた情報が利用できない場合、デバイスを直接照会します。

    TODO:この動作をIDevice#getMountPoint(String)移動します

    パラメーター
    mountName String :マウントポイントの名前

    戻り値
    String マウントポイントまたはnull

    以下も参照してください。

    getMountPointInfo

    public abstract ITestDevice.MountPointInfo getMountPointInfo (String mountpoint)

    指定されたマウントポイントパスに対応するMountPointInfo返します。そのパスに何もマウントされていない場合、または/ proc / mountsにマウントポイントとして表示されない場合はnullを返します。

    パラメーター
    mountpoint String

    戻り値
    ITestDevice.MountPointInfo 「/ proc / MountPointInfo 」の情報を含むMountPointInfo ERROR(/List)

    投げる
    DeviceNotAvailableException

    以下も参照してください。

    getMountPointInfo

    public abstract  getMountPointInfo ()

    デバイスの/ proc / mountsにある情報の解析されたバージョンを返します

    戻り値
    「/ proc / MountPointInfo 」の情報を含むMountPointInfo ERROR(/List)

    投げる
    DeviceNotAvailableException

    getPartitionFreeSpace

    public abstract long getPartitionFreeSpace (String partition)

    デバイスパーティションの空き容量を確認するヘルパーメソッド。

    パラメーター
    partition String

    戻り値
    long KB単位の空き容量

    投げる
    DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

    getProcessByName

    public abstract ProcessInfo getProcessByName (String processName)

    ヘルパーメソッドは「ps」コマンドを実行し、指定されたプロセス名のUSER、PID、およびNAMEを返します。

    パラメーター
    processName String

    戻り値
    ProcessInfo 指定されたprocessNameのProcessInfo

    投げる
    DeviceNotAvailableException

    getProcessPid

    public abstract String getProcessPid (String process)

    サービスのpidを返すか、何か問題が発生した場合はnullを返します。

    パラメーター
    process String

    戻り値
    String

    投げる
    DeviceNotAvailableException

    getProcesses

    public abstract  getProcesses ()

    ヘルパーメソッドは「ps」コマンドを実行し、すべてのプロセスのUSER、PID、NAMEのリストを返します。

    戻り値
    ProcessInfoオブジェクトのリスト

    投げる
    DeviceNotAvailableException

    getProductType

    public abstract String getProductType ()

    このデバイスの製品タイプを取得する簡易メソッド。

    この方法は、デバイスがadbまたはfastbootモードの場合に機能します。

    戻り値
    String String製品タイプ名。 nullにはなりません

    投げる
    DeviceNotAvailableException デバイスとの接続が失われて回復できない場合、または製品タイプを判別できない場合

    getProductVariant

    public abstract String getProductVariant ()

    このデバイスの製品バリアントを取得する簡易メソッド。

    この方法は、デバイスがadbまたはfastbootモードの場合に機能します。

    戻り値
    String String製品バリアント名、または判別できない場合はnull

    投げる
    DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

    getProperty

    public abstract String getProperty (String name)

    指定されたプロパティ値をデバイスから取得します。

    パラメーター
    name String :プロパティ名

    戻り値
    String プロパティ値。存在しない場合はnull

    投げる
    DeviceNotAvailableException

    getRecoveryMode

    public abstract ITestDevice.RecoveryMode getRecoveryMode ()

    デバイスで使用されている現在の回復モードを取得します。

    戻り値
    ITestDevice.RecoveryMode デバイスに使用されている現在のリカバリモード。

    getSerialNumber

    public abstract String getSerialNumber ()

    このデバイスのシリアル番号を取得する簡易メソッド。

    戻り値
    String Stringシリアル番号

    getTombstones

    public abstract  getTombstones ()

    デバイスからトゥームストーンのリストを取得して返します。ルートが必要です。

    メソッドはベストエフォート型であるため、1つの墓石が何らかの理由でプルされなかった場合、リストから削除されます。 DeviceNotAvailableExceptionのみがメソッドを早期に終了します。

    戻り値
    トゥームストーンファイルのリスト。トゥームストーンがない場合は空です。

    投げる
    DeviceNotAvailableException

    以下も参照してください。

    getTotalMemory

    public abstract long getTotalMemory ()

    物理メモリの合計サイズをバイト単位で返すか、内部エラーの場合は-1を返します

    戻り値
    long

    getUseFastbootErase

    public abstract boolean getUseFastbootErase ()

    fastboot eraseまたはfastbootフォーマットを使用してデバイスのパーティションをワイプするかどうかを取得します。

    戻り値
    boolean trueのfastboot消去を使用したりする場合はfalseのfastbootフォーマットを使用する場合。

    以下も参照してください。

    isAdbRoot

    public abstract boolean isAdbRoot ()

    戻り値
    boolean デバイスに現在adbルートがtrue場合はtrue 、それ以外の場合はfalse

    投げる
    DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

    isAdbTcp

    public abstract boolean isAdbTcp ()

    戻り値
    boolean デバイスがadb-over-tcpに接続されている場合はtrue 、それ以外の場合はfalse

    isDeviceEncrypted

    public abstract boolean isDeviceEncrypted ()

    デバイスが暗号化されているかどうかを返します。

    戻り値
    boolean デバイスが暗号化されている場合はtrue

    投げる
    DeviceNotAvailableException デバイスとの接続が失われ、回復できない場合。

    isDirectory

    public abstract boolean isDirectory (String deviceFilePath)

    デバイスのパスがディレクトリの場合はTrueを、それ以外の場合はFalseを返します。

    パラメーター
    deviceFilePath String

    戻り値
    boolean

    投げる
    DeviceNotAvailableException

    isEncryptionSupported

    public abstract boolean isEncryptionSupported ()

    デバイスで暗号化がサポートされているかどうかを返します。

    戻り値
    boolean デバイスが暗号化をサポートしている場合はtrue

    投げる
    DeviceNotAvailableException

    isExecutable

    public abstract boolean isExecutable (String fullPath)

    デバイス上のファイルパスが実行可能ファイルである場合はTrueを、それ以外の場合はFalseを返します。

    パラメーター
    fullPath String

    戻り値
    boolean

    投げる
    DeviceNotAvailableException

    isHeadless

    public abstract boolean isHeadless ()

    デバイスがヘッドレス(画面なし)の場合はtrueを返し、それ以外の場合はfalseを返します。

    戻り値
    boolean

    投げる
    DeviceNotAvailableException

    isRuntimePermissionSupported

    public abstract boolean isRuntimePermissionSupported ()

    Check whether platform on device supports runtime permission granting

    Returns
    boolean True if runtime permission are supported, false otherwise.

    Throws
    DeviceNotAvailableException

    logBugreport

    public abstract boolean logBugreport (String dataName, 
                    ITestLogger listener)

    Helper method to take a bugreport and log it to the reporters.

    Parameters
    dataName String : name under which the bugreport will be reported.

    listener ITestLogger : an ITestLogger to log the bugreport.

    Returns
    boolean True if the logging was successful, false otherwise.

    logOnDevice

    public abstract void logOnDevice (String tag, 
                    Log.LogLevel level, 
                    String format, 
                    Object... args)

    Log a message in the logcat of the device. This is a safe call that will not throw even if the logging fails.

    Parameters
    tag String : The tag under which we log our message in the logcat.

    level Log.LogLevel : The debug level of the message in the logcat.

    format String : The message format.

    args Object : the args to be replaced via String.format().

    nonBlockingReboot

    public abstract void nonBlockingReboot ()

    Issues a command to reboot device and returns on command complete and when device is no longer visible to adb.

    Throws
    DeviceNotAvailableException

    postBootSetup

    public abstract void postBootSetup ()

    Perform instructions to configure device for testing that after every boot.

    Should be called after device is fully booted/available

    In normal circumstances this method doesn't need to be called explicitly, as implementations should perform these steps automatically when performing a reboot.

    Where it may need to be called is when device reboots due to other events (eg when a fastboot update command has completed)

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    postInvocationTearDown

    public abstract void postInvocationTearDown ()

    Extra steps for device specific required clean up that will be executed after the invocation is done.

    preInvocationSetup

    public abstract void preInvocationSetup ( IBuildInfo info)

    Extra steps for device specific required setup that will be executed on the device prior to the invocation flow.

    Parameters
    info IBuildInfo

    Throws
    DeviceNotAvailableException
    TargetSetupError

    preInvocationSetup

    public void preInvocationSetup ( IBuildInfo info, 
                     testResourceBuildInfos)

    Extra steps for device specific required setup that will be executed on the device prior to the invocation flow.

    Parameters
    info IBuildInfo

    testResourceBuildInfos

    Throws
    DeviceNotAvailableException
    TargetSetupError

    pullDir

    public abstract boolean pullDir (String deviceFilePath, 
                    File localDir)

    Recursively pull directory contents from device.

    Parameters
    deviceFilePath String : the absolute file path of the remote source

    localDir File : the local directory to pull files into

    Returns
    boolean true if file was pulled successfully. false otherwise.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    pullFile

    public abstract File pullFile (String remoteFilePath)

    Retrieves a file off device, stores it in a local temporary ERROR(/File) , and returns that File .

    Parameters
    remoteFilePath String : the absolute path to file on device.

    Returns
    File A ERROR(/File) containing the contents of the device file, or null if the copy failed for any reason (including problems with the host filesystem)

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    pullFile

    public abstract boolean pullFile (String remoteFilePath, 
                    File localFile)

    Retrieves a file off device.

    Parameters
    remoteFilePath String : the absolute path to file on device.

    localFile File : the local file to store contents in. If non-empty, contents will be replaced.

    Returns
    boolean true if file was retrieved successfully. false otherwise.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    pullFileContents

    public abstract String pullFileContents (String remoteFilePath)

    Retrieves a file off device, and returns the contents.

    Parameters
    remoteFilePath String : the absolute path to file on device.

    Returns
    String A String containing the contents of the device file, or null if the copy failed for any reason (including problems with the host filesystem)

    Throws
    DeviceNotAvailableException

    pullFileFromExternal

    public abstract File pullFileFromExternal (String remoteFilePath)

    A convenience method to retrieve a file from the device's external storage, stores it in a local temporary ERROR(/File) , and return a reference to that File .

    Parameters
    remoteFilePath String : the path to file on device, relative to the device's external storage mountpoint

    Returns
    File A ERROR(/File) containing the contents of the device file, or null if the copy failed for any reason (including problems with the host filesystem)

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    pushDir

    public abstract boolean pushDir (File localDir, 
                    String deviceFilePath, 
                     excludedDirectories)

    Recursively push directory contents to device while excluding some directories that are filtered.

    Parameters
    localDir File : the local directory to push

    deviceFilePath String : the absolute file path of the remote destination

    excludedDirectories : Set of excluded directories names that shouldn't be pushed.

    Returns
    boolean true if file was pushed successfully. false otherwise.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    pushDir

    public abstract boolean pushDir (File localDir, 
                    String deviceFilePath)

    Recursively push directory contents to device.

    Parameters
    localDir File : the local directory to push

    deviceFilePath String : the absolute file path of the remote destination

    Returns
    boolean true if file was pushed successfully. false otherwise.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    pushFile

    public abstract boolean pushFile (File localFile, 
                    String deviceFilePath)

    Push a file to device

    Parameters
    localFile File : the local file to push

    deviceFilePath String : the remote destination absolute file path

    Returns
    boolean true if file was pushed successfully. false otherwise.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    pushString

    public abstract boolean pushString (String contents, 
                    String deviceFilePath)

    Push file created from a string to device

    Parameters
    contents String : the contents of the file to push

    deviceFilePath String : the remote destination absolute file path

    Returns
    boolean true if string was pushed successfully. false otherwise.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    reboot

    public abstract void reboot ()

    Reboots the device into adb mode.

    Blocks until device becomes available.

    Throws
    DeviceNotAvailableException if device is not available after reboot

    rebootIntoBootloader

    public abstract void rebootIntoBootloader ()

    Reboots the device into bootloader mode.

    Blocks until device is in bootloader mode.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    rebootIntoRecovery

    public abstract void rebootIntoRecovery ()

    Reboots the device into adb recovery mode.

    Blocks until device enters recovery

    Throws
    DeviceNotAvailableException if device is not available after reboot

    rebootUntilOnline

    public abstract void rebootUntilOnline ()

    An alternate to reboot() that only blocks until device is online ie visible to adb.

    Throws
    DeviceNotAvailableException if device is not available after reboot

    remountSystemWritable

    public abstract void remountSystemWritable ()

    Make the system partition on the device writable. May reboot the device.

    Throws
    DeviceNotAvailableException

    runInstrumentationTests

    public abstract boolean runInstrumentationTests (IRemoteAndroidTestRunner runner, 
                    ITestLifeCycleReceiver... listeners)

    Convenience method for performing ERROR(/#runInstrumentationTests(com.android.ddmlib.testrunner.IRemoteAndroidTestRunner,Collection)) with one or more listeners passed as parameters.

    Parameters
    runner IRemoteAndroidTestRunner : the IRemoteAndroidTestRunner which runs the tests

    listeners ITestLifeCycleReceiver : the test result listener(s)

    Returns
    boolean true if test command completed. false if it failed to complete, but recovery succeeded

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered. ie test command failed to complete and recovery failed.

    runInstrumentationTests

    public abstract boolean runInstrumentationTests (IRemoteAndroidTestRunner runner, 
                     listeners)

    Runs instrumentation tests, and provides device recovery.

    If connection with device is lost before test run completes, and recovery succeeds, all listeners will be informed of testRunFailed and "false" will be returned. The test command will not be rerun. It is left to callers to retry if necessary.

    If connection with device is lost before test run completes, and recovery fails, all listeners will be informed of testRunFailed and DeviceNotAvailableException will be thrown.

    Parameters
    runner IRemoteAndroidTestRunner : the IRemoteAndroidTestRunner which runs the tests

    listeners : the test result listeners

    Returns
    boolean true if test command completed. false if it failed to complete due to device communication exception, but recovery succeeded

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered. ie test command failed to complete and recovery failed.

    runInstrumentationTestsAsUser

    public abstract boolean runInstrumentationTestsAsUser (IRemoteAndroidTestRunner runner, 
                    int userId, 
                    ITestLifeCycleReceiver... listeners)

    Same as ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, ITestLifeCycleReceiver...) but runs the test for a given user.

    Parameters
    runner IRemoteAndroidTestRunner

    userId int

    listeners ITestLifeCycleReceiver

    Returns
    boolean

    Throws
    DeviceNotAvailableException

    runInstrumentationTestsAsUser

    public abstract boolean runInstrumentationTestsAsUser (IRemoteAndroidTestRunner runner, 
                    int userId, 
                     listeners)

    Same as ERROR(ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, Collection)/com.android.tradefed.device.ITestDevice#runInstrumentationTests(com.android.ddmlib.testrunner.IRemoteAndroidTestRunner,Collection) ITestDevice#runInstrumentationTests(IRemoteAndroidTestRunner, Collection)) but runs the test for the given user.

    Parameters
    runner IRemoteAndroidTestRunner

    userId int

    listeners

    Returns
    boolean

    Throws
    DeviceNotAvailableException

    setDate

    public abstract void setDate (Date date)

    Sets the date on device

    Note: setting date on device requires root

    Parameters
    date Date : specify a particular date; will use host date if null

    Throws
    DeviceNotAvailableException

    setOptions

    public abstract void setOptions ( TestDeviceOptions options)

    Set the TestDeviceOptions for the device

    Parameters
    options TestDeviceOptions

    setProperty

    public abstract boolean setProperty (String propKey, 
                    String propValue)

    Sets the given property value on the device. Requires adb root is true.

    Parameters
    propKey String : The key targeted to be set.

    propValue String : The property value to be set.

    Returns
    boolean returns True if the setprop command was successful, False otherwise.

    Throws
    DeviceNotAvailableException

    setRecovery

    public abstract void setRecovery ( IDeviceRecovery recovery)

    Set the IDeviceRecovery to use for this device. Should be set when device is first allocated.

    Parameters
    recovery IDeviceRecovery : the IDeviceRecovery

    setRecoveryMode

    public abstract void setRecoveryMode ( ITestDevice.RecoveryMode mode)

    Set the current recovery mode to use for the device.

    Used to control what recovery method to use when a device communication problem is encountered. Its recommended to only use this method sparingly when needed (for example, when framework is down, etc

    Parameters
    mode ITestDevice.RecoveryMode : whether 'recover till online only' mode should be on or not.

    setUseFastbootErase

    public abstract void setUseFastbootErase (boolean useFastbootErase)

    Set whether to use fastboot erase or fastboot format to wipe a partition on the device.

    Parameters
    useFastbootErase boolean : true if fastboot erase should be used or false if fastboot format should be used.

    startLogcat

    public abstract void startLogcat ()

    Start capturing logcat output from device in the background.

    Will have no effect if logcat output is already being captured. Data can be later retrieved via getLogcat.

    When the device is no longer in use, stopLogcat() must be called.

    startLogcat() and stopLogcat() do not normally need to be called when within a TF invocation context, as the TF framework will start and stop logcat.

    stopEmulatorOutput

    public abstract void stopEmulatorOutput ()

    Close and delete the emulator output.

    stopLogcat

    public abstract void stopLogcat ()

    Stop capturing logcat output from device, and discard currently saved logcat data.

    Will have no effect if logcat output is not being captured.

    switchToAdbTcp

    public abstract String switchToAdbTcp ()

    Switch device to adb-over-tcp mode.

    Returns
    String the tcp serial number or null if device could not be switched

    Throws
    DeviceNotAvailableException

    switchToAdbUsb

    public abstract boolean switchToAdbUsb ()

    Switch device to adb over usb mode.

    Returns
    boolean true if switch was successful, false otherwise.

    Throws
    DeviceNotAvailableException

    syncFiles

    public abstract boolean syncFiles (File localFileDir, 
                    String deviceFilePath)

    Incrementally syncs the contents of a local file directory to device.

    Decides which files to push by comparing timestamps of local files with their remote equivalents. Only 'newer' or non-existent files will be pushed to device. Thus overhead should be relatively small if file set on device is already up to date.

    Hidden files (with names starting with ".") will be ignored.

    Example usage: syncFiles("/tmp/files", "/sdcard") will created a /sdcard/files directory if it doesn't already exist, and recursively push the /tmp/files contents to /sdcard/files.

    Parameters
    localFileDir File : the local file directory containing files to recursively push.

    deviceFilePath String : the remote destination absolute file path root. All directories in thos file path must be readable. ie pushing to /data/local/tmp when adb is not root will fail

    Returns
    boolean true if files were synced successfully. false otherwise.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    takeBugreport

    public abstract Bugreport takeBugreport ()

    Take a bugreport and returns it inside a Bugreport object to handle it. Return null in case of issue.

    File referenced in the Bugreport object need to be cleaned via Bugreport#close() .

    Returns
    Bugreport

    unencryptDevice

    public abstract boolean unencryptDevice ()

    Unencrypts the device.

    Unencrypting the device may cause device to be wiped and may reboot device. This method will block until device is available and ready for testing. Requires fastboot inorder to wipe the userdata partition.

    Returns
    boolean true if successful.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.
    UnsupportedOperationException if encryption is not supported on the device.

    unlockDevice

    public abstract boolean unlockDevice ()

    Unlocks the device if the device is in an encrypted state.

    This method may restart the framework but will not call postBootSetup() . Therefore, the device might not be fully ready to be tested when this method returns.

    Returns
    boolean true if successful or if the device is unencrypted.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.
    UnsupportedOperationException if encryption is not supported on the device.

    waitForBootComplete

    public abstract boolean waitForBootComplete (long timeOut)

    Blocks until the device's boot complete flag is set.

    Parameters
    timeOut long : time in msecs to wait for the flag to be set

    Returns
    boolean true if device's boot complete flag is set within the timeout

    Throws
    DeviceNotAvailableException

    waitForDeviceAvailable

    public abstract void waitForDeviceAvailable ()

    Waits for the device to be responsive and available for testing. Uses default timeout.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    waitForDeviceAvailable

    public abstract void waitForDeviceAvailable (long waitTime)

    Waits for the device to be responsive and available for testing.

    Parameters
    waitTime long : the time in ms to wait

    Throws
    DeviceNotAvailableException if device is still unresponsive after waitTime expires.

    waitForDeviceInRecovery

    public abstract boolean waitForDeviceInRecovery (long waitTime)

    Blocks for the device to be in the 'adb recovery' state (note this is distinct from IDeviceRecovery ).

    Parameters
    waitTime long : the time in ms to wait

    Returns
    boolean true if device boots into recovery before time expires. false otherwise

    waitForDeviceNotAvailable

    public abstract boolean waitForDeviceNotAvailable (long waitTime)

    Blocks for the device to be not available ie missing from adb

    Parameters
    waitTime long : the time in ms to wait

    Returns
    boolean true if device becomes not available before time expires. false otherwise

    waitForDeviceOnline

    public abstract void waitForDeviceOnline ()

    Blocks until device is visible via adb. Uses default timeout

    Note the device may not necessarily be responsive to commands on completion. Use waitForDeviceAvailable() instead.

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    waitForDeviceOnline

    public abstract void waitForDeviceOnline (long waitTime)

    Blocks until device is visible via adb.

    Note the device may not necessarily be responsive to commands on completion. Use waitForDeviceAvailable() instead.

    Parameters
    waitTime long : the time in ms to wait

    Throws
    DeviceNotAvailableException if connection with device is lost and cannot be recovered.

    waitForDeviceShell

    public abstract boolean waitForDeviceShell (long waitTime)

    Waits for device to be responsive to a basic adb shell command.

    Parameters
    waitTime long : the time in ms to wait

    Returns
    boolean true if device becomes responsive before waitTime elapses.