DeviceManager

public class DeviceManager
extends Object implements IDeviceManager

java.lang.Object
   ↳ com.android.tradefed.device.DeviceManager


概要

ネストされたクラス

class DeviceManager.FastbootDevice

Fastboot モードのデバイスを示します。 

フィールド

public static final String UNKNOWN_DISPLAY_STRING

不明なプロパティの表示文字列

protected DeviceMonitorMultiplexer mDvcMon

protected boolean mFastbootEnabled

パブリック コンストラクタ

DeviceManager()

DeviceManager は GlobalConfiguration から取得する必要があります。

パブリック メソッド

void addAvailableDevice(IDevice stubDevice)
void addDeviceMonitor(IDeviceMonitor mon)

IDeviceMonitor を追加します。

void addFastbootDevice(DeviceManager.FastbootDevice fastbootDevice)
void addFastbootListener(IDeviceManager.IFastbootListener listener)

リスナーが fastboot の状態変化に関心を持っていることをマネージャーに通知します。

void addMonitoringTcpFastbootDevice(String serial, String fastboot_serial)

fastboot モニターにデバイスを追加します。

ITestDevice allocateDevice(IDeviceSelection options, boolean isTemporary)

特定の基準を満たすテスト用デバイスをリクエストします。

ITestDevice allocateDevice(IDeviceSelection options)

特定の基準を満たすテスト用デバイスをリクエストします。

ITestDevice allocateDevice()

テスト用に実機をリクエストする

ITestDevice connectToTcpDevice(String ipAndPort)

adb-over-tcp でデバイスに接続する

このメソッドで新しいデバイスが割り当てられ、最終的には disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice)

返された ITestDevice はオンラインですが、応答しない可能性があります。

boolean disconnectFromTcpDevice(ITestDevice tcpDevice)

adb-over-tcp 接続済みデバイスから切断します。

void displayDevicesInfo(PrintWriter stream, boolean includeStub)

既知のデバイスとその状態、値のリストを含む、ユーザー フレンドリーな説明を出力します。 よく使用される IDeviceSelection オプションのリスト。

CommandResult executeCmdOnAvailableDevice(String serial, String command, long timeout, TimeUnit timeUnit)

利用可能なデバイスでシェルコマンドを実行するためのヘルパー メソッド。

String executeGlobalAdbCommand(String... cmdArgs)

特定のデバイスを対象にしていない adb コマンドを実行(例:

ITestDevice forceAllocateDevice(String serial)

デバイスが現在利用できない場合でも、不当に割り当てる。

void freeDevice(ITestDevice device, FreeDeviceState deviceState)

デバイスをプールに返却する

割り当てられていないデバイスを返品しようとしても無視されます。

String getAdbPath()

使用する adb バイナリのパスを返します。

String getAdbVersion()

デバイス マネージャーが現在使用している adb バージョンを取得します。

DeviceDescriptor getDeviceDescriptor(String serial)

指定されたシリアルを持つ DeviceDescriptor を返します。

String getFastbootPath()

使用する fastboot バイナリのパスを返します。

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors, IManagedTestDeviceFactory deviceFactory)

デバイス マネージャーを初期化します。

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors)

デバイス マネージャーを初期化します。

void init()

デバイス マネージャーを初期化します。

boolean isEmulator(String serial)

特定のシリアルがエミュレータを表しているかどうかを判断する

boolean isFileSystemMountCheckEnabled()

ファイル システムが NativeDeviceStateMonitor でチェックインされるかどうかを返します。 正しく取り付けられています。

boolean isNullDevice(String serial)

指定されたシリアルが null デバイスを表しているかどうかを判断する

void killEmulator(ITestDevice device)

指定したエミュレータをシャットダウンします。

void launchEmulator(ITestDevice device, long bootTimeout, IRunUtil runUtil, emulatorArgs)

エミュレータを起動するヘルパー メソッド。

listAllDevices(boolean shortDescriptor)

既知のすべてのデバイスの DeviceDescriptors のリストを返します

listAllDevices()

既知のすべてのデバイスの DeviceDescriptors のリストを返します

ITestDevice reconnectDeviceToTcp(ITestDevice usbDevice)

指定された USB デバイスを adb-over-tcp モードに切り替えてから connectToTcpDevice(String) で取得します。

void removeDeviceMonitor(IDeviceMonitor mon)

以前に追加された IDeviceMonitor を削除します。

void removeFastbootListener(IDeviceManager.IFastbootListener listener)

リスナーが fastboot の状態変化にもう関係ないことをマネージャーに通知します。

void restartAdbBridge()

adb ブリッジと adb に依存するサービスを再起動する(stopAdbBridge() が呼び出された場合) 接続します

void stopAdbBridge()

adb ブリッジを停止し、サービスは adb 接続に依存します。

void terminate()

デバイス モニタリング サービスを停止し、ddm ライブラリを終了します。

void terminateDeviceMonitor()

デバイス モニターを停止します。

void terminateDeviceRecovery()

デバイス復元スレッドを停止します。

void terminateHard(String reason)

terminateHard() など。

void terminateHard()

terminate() に似ていますが、adb も強制的にシャットダウンします。

boolean waitForFirstDeviceAdded(long timeout)

最初の物理デバイスが接続されるまで待ちます。

フィールド

UNKNOWN_DISPLAY_STRING

public static final String UNKNOWN_DISPLAY_STRING

不明なプロパティの表示文字列

mDvcMon

protected DeviceMonitorMultiplexer mDvcMon

mFastbootEnabled

protected boolean mFastbootEnabled

パブリック コンストラクタ

DeviceManager

public DeviceManager ()

DeviceManager は GlobalConfiguration から取得する必要があります。

パブリック メソッド

addAvailableDevice

public void addAvailableDevice (IDevice stubDevice)

パラメータ
stubDevice IDevice

addDeviceMonitor

public void addDeviceMonitor (IDeviceMonitor mon)

IDeviceMonitor を追加します。

パラメータ
mon IDeviceMonitor

addFastbootDevice

public void addFastbootDevice (DeviceManager.FastbootDevice fastbootDevice)

パラメータ
fastbootDevice DeviceManager.FastbootDevice

addFastbootListener

public void addFastbootListener (IDeviceManager.IFastbootListener listener)

リスナーが fastboot の状態変化に関心を持っていることをマネージャーに通知します。

現在、IDeviceManager は fastboot 内のデバイスのみを監視します。 アクティブリスナーが増えます

TODO: これはちょっとしたコツです - もっと良い解決策を見つけましょう

addMonitoringTcpFastbootDevice

public void addMonitoringTcpFastbootDevice (String serial, 
                String fastboot_serial)

fastboot モニターにデバイスを追加します。fastboot モニターは fastboot_serial をから デバイスと通信します。

パラメータ
serial String: デバイスのシリアル番号。

fastboot_serial String: デバイスの fastboot モードのシリアル番号。

allocateDevice

public ITestDevice allocateDevice (IDeviceSelection options, 
                boolean isTemporary)

特定の基準を満たすテスト用デバイスをリクエストします。

パラメータ
options IDeviceSelection: デバイスが満たす必要がある IDeviceSelection

isTemporary boolean: 一時的な NullDevice を作成するかどうか。

戻り値
ITestDevice テスト用の ITestDevice。使用できない場合は null

allocateDevice

public ITestDevice allocateDevice (IDeviceSelection options)

特定の基準を満たすテスト用デバイスをリクエストします。

パラメータ
options IDeviceSelection: デバイスが満たす必要がある IDeviceSelection

戻り値
ITestDevice テスト用の ITestDevice、または存在する場合は null 使用できません

allocateDevice

public ITestDevice allocateDevice ()

テスト用に実機をリクエストする

戻り値
ITestDevice テスト用の ITestDevice。使用できない場合は null

connectToTcpDevice

public ITestDevice connectToTcpDevice (String ipAndPort)

adb-over-tcp でデバイスに接続する

このメソッドで新しいデバイスが割り当てられ、最終的には disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice)

返された ITestDevice はオンラインですが、応答しない可能性があります。

TCP 接続デバイスで再起動などのアクションを行うと、 デバイスへの TCP 接続が行われ、結果が DeviceNotAvailableException になります。

パラメータ
ipAndPort String: 接続するデバイスの元の IP アドレスとポート

戻り値
ITestDevice TCP 接続が確立できなかった場合は ITestDevice または null

TcpDevice から切断

public boolean disconnectFromTcpDevice (ITestDevice tcpDevice)

adb-over-tcp 接続済みデバイスから切断します。

デバイスを USB モードに戻し、解放します。

パラメータ
tcpDevice ITestDevice: 現在 TCP モードにあるデバイス。以前は connectToTcpDevice(String)

戻り値
boolean USB モードへの切り替えが成功した場合は true

displayDevicesInfo

public void displayDevicesInfo (PrintWriter stream, 
                boolean includeStub)

既知のデバイスとその状態、値のリストを含む、ユーザー フレンドリーな説明を出力します。 よく使用される IDeviceSelection オプションのリスト。

パラメータ
stream PrintWriter: 説明の出力先となる ERROR(/PrintWriter)

includeStub boolean: スタブデバイスも表示するかどうか。

runCmdOnAvailableDevice

public CommandResult executeCmdOnAvailableDevice (String serial, 
                String command, 
                long timeout, 
                TimeUnit timeUnit)

利用可能なデバイスでシェルコマンドを実行するためのヘルパー メソッド。

パラメータ
serial String: デバイスのシリアル。

command String: シェルコマンド。

timeout long: コマンドが完了するまでの時間。

timeUnit TimeUnit: タイムアウトの単位。

戻り値
CommandResult CommandResult

runGlobalAdbCommand

public String executeGlobalAdbCommand (String... cmdArgs)

特定のデバイスを対象にしていない adb コマンドを実行(例:「adb connect」

戻り値
String コマンドが成功した場合は標準出力が、それ以外の場合は null になります。

forceAllocateDevice

public ITestDevice forceAllocateDevice (String serial)

デバイスが現在利用できない場合でも、不当に割り当てる。

デバイスがすでに割り当てられている場合は無視されます。

パラメータ
serial String: 割り当てるデバイス シリアル

戻り値
ITestDevice ITestDevice。割り当てできなかった場合は null

無料デバイス

public void freeDevice (ITestDevice device, 
                FreeDeviceState deviceState)

デバイスをプールに返却する

割り当てられていないデバイスを返品しようとしても無視されます。

パラメータ
device ITestDevice: 解放する ITestDevice

deviceState FreeDeviceState: FreeDeviceState。次の場合に使用 使用可能なデバイスプールに戻されます。

getAdbPath

public String getAdbPath ()

使用する adb バイナリのパスを返します。

戻り値
String

getAdbVersion

public String getAdbVersion ()

デバイス マネージャーが現在使用している adb バージョンを取得します。

戻り値
String

getDeviceDescriptor

public DeviceDescriptor getDeviceDescriptor (String serial)

指定されたシリアルを持つ DeviceDescriptor を返します。

パラメータ
serial String: 取得するデバイスのシリアル番号

戻り値
DeviceDescriptor 選択したデバイスの DeviceDescriptor。シリアルがない場合は null 既知のデバイスと一致する可能性があります。

getFastbootPath

public String getFastbootPath ()

使用する fastboot バイナリのパスを返します。

戻り値
String

init

public void init (IDeviceSelection globalDeviceFilter, 
                 globalDeviceMonitors, 
                IManagedTestDeviceFactory deviceFactory)

デバイス マネージャーを初期化します。これは、他のどの関数よりも前に 1 回だけ呼び出す必要があります。 メソッドが呼び出されます。

パラメータ
globalDeviceFilter IDeviceSelection

globalDeviceMonitors

deviceFactory IManagedTestDeviceFactory

init

public void init (IDeviceSelection globalDeviceFilter, 
                 globalDeviceMonitors)

デバイス マネージャーを初期化します。これは、他のどの関数よりも前に 1 回だけ呼び出す必要があります。 メソッドが呼び出されます。

パラメータ
globalDeviceFilter IDeviceSelection: デバイス フィルタ

globalDeviceMonitors

init

public void init ()

デバイス マネージャーを初期化します。これは、他のどの関数よりも前に 1 回だけ呼び出す必要があります。 メソッドが呼び出されます。

isEmulator

public boolean isEmulator (String serial)

特定のシリアルがエミュレータを表しているかどうかを判断する

パラメータ
serial String

戻り値
boolean

isFileSystemMountCheckEnabled

public boolean isFileSystemMountCheckEnabled ()

ファイル システムが NativeDeviceStateMonitor でチェックインされるかどうかを返します。 正しく取り付けられています。

戻り値
boolean

isNullDevice

public boolean isNullDevice (String serial)

指定されたシリアルが null デバイスを表しているかどうかを判断する

パラメータ
serial String

戻り値
boolean

エミュレータを強制終了する

public void killEmulator (ITestDevice device)

指定したエミュレータをシャットダウンします。

エミュレータが adb から消えるまでブロックします。エミュレータがクライアント デバイスにインストールされていない場合、 できます。

パラメータ
device ITestDevice: シャットダウンするエミュレータを表す ITestDevice

例外
DeviceNotAvailableException

launchEmulator

public void launchEmulator (ITestDevice device, 
                long bootTimeout, 
                IRunUtil runUtil, 
                 emulatorArgs)

エミュレータを起動するヘルパー メソッド。

呼び出し元が指定したとおりにエミュレータを起動します。

パラメータ
device ITestDevice: 割り当てられたエミュレータ デバイスを表すプレースホルダ ITestDevice

bootTimeout long: エミュレータの起動を待機する時間(ミリ秒)

emulatorArgs : エミュレータを起動するコマンドライン引数

例外
DeviceNotAvailableException

listAllDevices

public  listAllDevices (boolean shortDescriptor)

既知のすべてのデバイスの DeviceDescriptors のリストを返します

パラメータ
shortDescriptor boolean: 記述子を最小限の情報に制限するかどうか

戻り値
既知のすべてのデバイスに対する DeviceDescriptor のリスト

listAllDevices

public  listAllDevices ()

既知のすべてのデバイスの DeviceDescriptors のリストを返します

戻り値
既知のすべてのデバイスに対する DeviceDescriptor のリスト

RedisDeviceToTcp

public ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)

指定された USB デバイスを adb-over-tcp モードに切り替えてから connectToTcpDevice(String) で取得します。

パラメータ
usbDevice ITestDevice: 現在 USB モードになっているデバイス

戻り値
ITestDevice TCP モードの場合は新しく割り当てられた ITestDevice。TCP の場合は null 接続を確立できませんでした

例外
DeviceNotAvailableException

deleteDeviceMonitor

public void removeDeviceMonitor (IDeviceMonitor mon)

以前に追加された IDeviceMonitor を削除します。mon が追加されていない場合は機能しません。

パラメータ
mon IDeviceMonitor

FastbootListener を削除

public void removeFastbootListener (IDeviceManager.IFastbootListener listener)

リスナーが fastboot の状態変化にもう関係ないことをマネージャーに通知します。

restartAdbBridge

public void restartAdbBridge ()

adb ブリッジと adb に依存するサービスを再起動する(stopAdbBridge() が呼び出された場合) 接続します

stopAdbBridge

public void stopAdbBridge ()

adb ブリッジを停止し、サービスは adb 接続に依存します。

おしまい 終了 終わり

public void terminate ()

デバイス モニタリング サービスを停止し、ddm ライブラリを終了します。

これは、アプリケーションの終了時に呼び出す必要があります。

terminateDeviceMonitor

public void terminateDeviceMonitor ()

デバイス モニターを停止します。

terminateDeviceRecovery

public void terminateDeviceRecovery ()

デバイス復元スレッドを停止します。

終了ハード

public void terminateHard (String reason)

terminateHard() など。

パラメータ
reason String: 終了の理由(省略可)。

終了ハード

public void terminateHard ()

terminate() に似ていますが、adb も強制的にシャットダウンします。

waitForFirstDeviceAdded

public boolean waitForFirstDeviceAdded (long timeout)

最初の物理デバイスが接続されるまで待ちます。以前に接続していたデバイスは、 は直接 True を返します。デバイスが追加されなかった場合は、タイムアウト後に false を返します。

パラメータ
timeout long: false を返すまでの待機時間(ミリ秒単位)。

戻り値
boolean