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)
返回远程文件的统计信息。 |
公共构造函数
SyncService
public SyncService (InetSocketAddress address,
IDevice device)创建同步服务对象。
| 参数 | |
|---|---|
address |
InetSocketAddress:要连接到的地址 |
device |
IDevice:服务连接到的 IDevice。 |
公共方法
关闭
public void close ()
关闭连接。
getNullProgressMonitor
public static SyncService.ISyncProgressMonitor getNullProgressMonitor ()
返回一个不执行任何操作的同步进度监控器。这样,不想/不需要显示界面的后台任务就可以传递有效的 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:进度监控器。不能为 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,因此拉取的文件的大小未知,并且 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 错误,则为 true。 |
TimeoutException |
如果从设备读取响应时发生超时,则返回此值。 |
statFile
public SyncService.FileStat statFile (String path)
返回远程文件的统计信息。
| 参数 | |
|---|---|
path |
String:远程文件 |
| 返回 | |
|---|---|
SyncService.FileStat |
如果一切顺利,则为包含模式、大小和上次修改信息的文件统计信息;否则为 null |
| 抛出 | |
|---|---|
|
IOException |
TimeoutException |
如果从设备读取响应时发生超时,则返回此值。 |