SyncService

public class SyncService
extends Object

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


デバッグ ブリッジを介してデバイス / エミュレータとの間でプッシュ / プルを行うための同期サービス クラス。

SyncService オブジェクトを取得するには、IDevice.getSyncService() を使用します。

概要

ネストされたクラス

class SyncService.FileStat

 

interface SyncService.ISyncProgressMonitor

このインターフェースを実装するクラスは、転送の進行状況の表示を処理するメソッドを提供します。 

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

SyncService(InetSocketAddress address, IDevice device)

同期サービス オブジェクトを作成します。

パブリック メソッド

void close()

接続を閉じます。

static SyncService.ISyncProgressMonitor getNullProgressMonitor()

何も行わない同期進行状況モニターを返します。

boolean openSync()

同期接続を開きます。

void pull(FileEntry[] entries, String localPath, SyncService.ISyncProgressMonitor monitor)

ファイルまたはフォルダをプルします。

void pullFile(FileListingService.FileEntry remote, String localFilename, SyncService.ISyncProgressMonitor monitor)

単一のファイルを取得します。

void pullFile(String remoteFilepath, String localFilename, SyncService.ISyncProgressMonitor monitor)

単一のファイルを取得します。

void push(String[] local, FileListingService.FileEntry remote, SyncService.ISyncProgressMonitor monitor)

複数のファイルまたはディレクトリをプッシュします。

void push(String[] local, String remote, SyncService.ISyncProgressMonitor monitor)

複数のファイルまたはディレクトリをプッシュします。

void pushFile(String local, String remote, SyncService.ISyncProgressMonitor monitor)

単一のファイルをプッシュします。

SyncService.FileStat statFile(String path)

リモート ファイルの stat 情報を返します。

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

SyncService

public SyncService (InetSocketAddress address, 
                IDevice device)

同期サービス オブジェクトを作成します。

パラメータ
address InetSocketAddress: 接続するアドレス

device IDevice: サービスが接続する IDevice

パブリック メソッド

閉じる

public void close ()

接続を閉じます。

getNullProgressMonitor

public static SyncService.ISyncProgressMonitor getNullProgressMonitor ()

何も行わない同期進行状況モニターを返します。これにより、UI を表示したくない、または表示する必要のないバックグラウンド タスクは、有効な ISyncProgressMonitor を渡すことができます。

このオブジェクトは複数回再利用でき、同時実行スレッドで使用できます。

戻り値
SyncService.ISyncProgressMonitor

openSync

public boolean openSync ()

同期接続を開きます。これは、push[File] / pull[File] の呼び出しの前に呼び出す必要があります。

戻り値
boolean 接続が開かれた場合は true、adb が接続を拒否した場合は false。これは、IDevice が無効な場合に発生する可能性があります。

例外
TimeoutException 接続がタイムアウトした場合。
AdbCommandRejectedException adb がコマンドを拒否した場合
adb への接続に失敗した場合。

pull

public void pull (FileEntry[] entries, 
                String localPath, 
                SyncService.ISyncProgressMonitor monitor)

ファイルまたはフォルダをプルします。

パラメータ
entries FileEntry: プルするリモート アイテム

localPath String: ローカルの宛先。エントリ数が 1 より大きい場合、または一意のエントリがフォルダの場合、これはフォルダである必要があります。

monitor SyncService.ISyncProgressMonitor: プログレス モニター。null にすることはできません。

例外
com.android.ddmlib.SyncException
IOException
com.android.ddmlib.TimeoutException
SyncException
TimeoutException

pullFile

public void pullFile (FileListingService.FileEntry remote, 
                String localFilename, 
                SyncService.ISyncProgressMonitor monitor)

単一のファイルを取得します。

パラメータ
remote FileListingService.FileEntry: リモート ファイル

localFilename String: ローカル宛先。

monitor SyncService.ISyncProgressMonitor: プログレス モニター。null にすることはできません。

例外
IO 例外が発生した場合。
TimeoutException デバイスからのレスポンスの読み取りがタイムアウトした場合。
SyncException 同期例外が発生した場合。

pullFile

public void pullFile (String remoteFilepath, 
                String localFilename, 
                SyncService.ISyncProgressMonitor monitor)

単一のファイルを取得します。

このメソッドは FileEntry ではなくリモートファイルの String のみを扱うため、プルされるファイルのサイズが不明で、ISyncProgressMonitor が進行状況を正しく表示しません。

パラメータ
remoteFilepath String: リモート ファイルのフルパス

localFilename String: ローカル宛先。

monitor SyncService.ISyncProgressMonitor: プログレス モニター。null にすることはできません。

例外
IO 例外が発生した場合。
TimeoutException デバイスからのレスポンスの読み取りがタイムアウトした場合。
SyncException 同期例外が発生した場合。

関連項目:

プッシュ

public void push (String[] local, 
                FileListingService.FileEntry remote, 
                SyncService.ISyncProgressMonitor monitor)

複数のファイルまたはディレクトリをプッシュします。

パラメータ
local String: プッシュするローカル ファイル

remote FileListingService.FileEntry: ディレクトリを表すリモート FileEntry

monitor SyncService.ISyncProgressMonitor: プログレス モニター

例外
SyncException 一部のファイルをプッシュできなかった場合
接続で I/O エラーが発生した場合
TimeoutException デバイスからのレスポンスの読み取りがタイムアウトした場合

プッシュ

public void push (String[] local, 
                String remote, 
                SyncService.ISyncProgressMonitor monitor)

複数のファイルまたはディレクトリをプッシュします。

パラメータ
local String: プッシュするローカル ファイル

remote String: ディレクトリを表すリモートパス

monitor SyncService.ISyncProgressMonitor: プログレス モニター

例外
SyncException 一部のファイルをプッシュできなかった場合
接続で I/O エラーが発生した場合
TimeoutException デバイスからのレスポンスの読み取りがタイムアウトした場合

pushFile

public void pushFile (String local, 
                String remote, 
                SyncService.ISyncProgressMonitor monitor)

単一のファイルをプッシュします。

パラメータ
local String: ローカル ファイルパス。

remote String: リモート ファイルパス。

monitor SyncService.ISyncProgressMonitor: プログレス モニター。null にすることはできません。

例外
SyncException ファイルをプッシュできなかった場合
接続で I/O エラーが発生した場合。
TimeoutException デバイスからのレスポンスの読み取りがタイムアウトした場合。

statFile

public SyncService.FileStat statFile (String path)

リモート ファイルの stat 情報を返します。

パラメータ
path String: リモート ファイル

戻り値
SyncService.FileStat すべてがうまくいった場合は、モード、サイズ、最終更新日時情報を含む FileStat。それ以外の場合は null

例外
IOException
TimeoutException デバイスからのレスポンスの読み取りがタイムアウトした場合。