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)

建立 Sync 服務物件。

公用方法

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)

傳回遠端檔案的統計資訊。

公用建構函式

SyncService

public SyncService (InetSocketAddress address, 
                IDevice device)

建立 Sync 服務物件。

參數
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。

提取

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

提取檔案或資料夾。

參數
entries FileEntry:要提取的遠端項目

localPath String:本地目的地。如果項目數 > 1,或不重複的項目是資料夾,則這應該是資料夾。

monitor SyncService.ISyncProgressMonitor:進度監控器。不得為空值。

擲回
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:進度監控器。不得為空值。

擲回
發生 IO 例外狀況時。
TimeoutException 如果從裝置讀取回應時發生逾時情況,就會發生這種情形。
SyncException 發生同步例外狀況時。

pullFile

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

提取單一檔案。

由於這個方法只會處理遠端檔案的字串,而不是 FileEntry,因此系統無法得知要擷取的檔案大小,ISyncProgressMonitor 也無法正確顯示進度

參數
remoteFilepath String:遠端檔案的完整路徑

localFilename String:當地目的地。

monitor SyncService.ISyncProgressMonitor:進度監控器。不得為空值。

擲回
發生 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:進度監控器。不得為空值。

擲回
SyncException if file could not be pushed
如果連線發生 I/O 錯誤。
TimeoutException 如果從裝置讀取回應時發生逾時情況,就會發生這種情形。

statFile

public SyncService.FileStat statFile (String path)

傳回遠端檔案的 stat 資訊。

參數
path String:遠端檔案

傳回
SyncService.FileStat 如果一切順利,則為包含模式、大小和上次修改資訊的 FileStat,否則為空值

擲回
IOException
TimeoutException 如果從裝置讀取回應時發生逾時情況,就會發生這種情形。