pub struct ADB {
pub config: ADBConfig,
/* private fields */
}Expand description
ADB 主结构体
Fields§
§config: ADBConfigImplementations§
Source§impl ADB
impl ADB
Sourcepub fn with_retry<F, T>(&self, f: F) -> ADBResult<T>
pub fn with_retry<F, T>(&self, f: F) -> ADBResult<T>
使用指数退避策略重试操作
Sourcepub fn with_timeout<F, T>(&self, f: F) -> ADBResult<T>
pub fn with_timeout<F, T>(&self, f: F) -> ADBResult<T>
带超时的操作执行
Sourcepub fn list_devices(&self) -> ADBResult<Vec<ADBDevice>>
pub fn list_devices(&self) -> ADBResult<Vec<ADBDevice>>
列出可用设备
Sourcepub fn disconnect_all(&self) -> ADBResult<()>
pub fn disconnect_all(&self) -> ADBResult<()>
断开所有远程连接
Sourcepub fn set_prop(
&self,
device_id: &str,
prop_name: &str,
prop_value: &str,
) -> ADBResult<()>
pub fn set_prop( &self, device_id: &str, prop_name: &str, prop_value: &str, ) -> ADBResult<()>
设置设备属性
Sourcepub fn is_device_online(&self, device_id: &str) -> ADBResult<bool>
pub fn is_device_online(&self, device_id: &str) -> ADBResult<bool>
检查设备是否在线
Sourcepub fn restart_server(&self) -> ADBResult<()>
pub fn restart_server(&self) -> ADBResult<()>
重启 ADB 服务器
Sourcepub fn run_command(&self, args: &[&str]) -> ADBResult<String>
pub fn run_command(&self, args: &[&str]) -> ADBResult<String>
执行任意 ADB 命令
Sourcepub fn wait_for_device(
&self,
device_id: &str,
timeout_ms: Option<u64>,
) -> ADBResult<bool>
pub fn wait_for_device( &self, device_id: &str, timeout_ms: Option<u64>, ) -> ADBResult<bool>
等待设备连接
Sourcepub fn get_server_version(&self) -> ADBResult<u32>
pub fn get_server_version(&self) -> ADBResult<u32>
获取 ADB 服务器版本
Source§impl ADB
impl ADB
Sourcepub fn get_package_info(
&self,
device_id: &str,
package_name: &str,
) -> ADBResult<PackageInfo>
pub fn get_package_info( &self, device_id: &str, package_name: &str, ) -> ADBResult<PackageInfo>
获取包信息 (增强版本)
Sourcepub fn get_package_info_enhanced(
&self,
device_id: &str,
package_name: &str,
) -> ADBResult<PackageInfo>
pub fn get_package_info_enhanced( &self, device_id: &str, package_name: &str, ) -> ADBResult<PackageInfo>
获取包信息 (增强版本)
Sourcepub fn is_package_running(
&self,
device_id: &str,
package_name: &str,
) -> ADBResult<(bool, Option<i32>)>
pub fn is_package_running( &self, device_id: &str, package_name: &str, ) -> ADBResult<(bool, Option<i32>)>
检查包是否运行
Sourcepub fn get_pid(
&self,
device_id: &str,
package_name: &str,
) -> ADBResult<Option<i32>>
pub fn get_pid( &self, device_id: &str, package_name: &str, ) -> ADBResult<Option<i32>>
获取进程 ID
Sourcepub fn start_app_and_wait(
&self,
device_id: &str,
package_name: &str,
activity: Option<&str>,
timeout_secs: Option<u64>,
) -> ADBResult<bool>
pub fn start_app_and_wait( &self, device_id: &str, package_name: &str, activity: Option<&str>, timeout_secs: Option<u64>, ) -> ADBResult<bool>
启动一个应用并等待直到完全启动
Sourcepub fn start_app(
&self,
device_id: &str,
package_name: &str,
activity: Option<&str>,
) -> ADBResult<bool>
pub fn start_app( &self, device_id: &str, package_name: &str, activity: Option<&str>, ) -> ADBResult<bool>
启动应用程序
Source§impl ADB
impl ADB
Sourcepub fn pull(
&self,
device_id: &str,
device_path: &str,
local_path: &str,
options: Option<TransferOptions>,
) -> ADBResult<()>
pub fn pull( &self, device_id: &str, device_path: &str, local_path: &str, options: Option<TransferOptions>, ) -> ADBResult<()>
文件拉取
Sourcepub fn push(
&self,
device_id: &str,
local_path: &str,
device_path: &str,
options: Option<TransferOptions>,
) -> ADBResult<()>
pub fn push( &self, device_id: &str, local_path: &str, device_path: &str, options: Option<TransferOptions>, ) -> ADBResult<()>
文件推送
Sourcepub fn push_large_file(
&self,
device_id: &str,
local_path: &str,
device_path: &str,
options: Option<TransferOptions>,
) -> ADBResult<()>
pub fn push_large_file( &self, device_id: &str, local_path: &str, device_path: &str, options: Option<TransferOptions>, ) -> ADBResult<()>
分块推送大文件
Sourcepub fn remove_path(
&self,
device_id: &str,
path: &str,
recursive: bool,
) -> ADBResult<()>
pub fn remove_path( &self, device_id: &str, path: &str, recursive: bool, ) -> ADBResult<()>
删除文件或目录
Sourcepub fn copy_on_device(
&self,
device_id: &str,
src_path: &str,
dst_path: &str,
) -> ADBResult<()>
pub fn copy_on_device( &self, device_id: &str, src_path: &str, dst_path: &str, ) -> ADBResult<()>
复制设备上的文件
Sourcepub fn move_on_device(
&self,
device_id: &str,
src_path: &str,
dst_path: &str,
) -> ADBResult<()>
pub fn move_on_device( &self, device_id: &str, src_path: &str, dst_path: &str, ) -> ADBResult<()>
移动设备上的文件
Sourcepub fn write_text_to_file(
&self,
device_id: &str,
path: &str,
content: &str,
) -> ADBResult<()>
pub fn write_text_to_file( &self, device_id: &str, path: &str, content: &str, ) -> ADBResult<()>
写入文本到设备上的文件
Sourcepub fn read_text_from_file(
&self,
device_id: &str,
path: &str,
) -> ADBResult<String>
pub fn read_text_from_file( &self, device_id: &str, path: &str, ) -> ADBResult<String>
读取设备上文件的文本内容
Source§impl ADB
impl ADB
Sourcepub fn enable_remote_debugging(
&self,
device_id: &str,
port: u16,
) -> ADBResult<String>
pub fn enable_remote_debugging( &self, device_id: &str, port: u16, ) -> ADBResult<String>
启用设备远程调试
Sourcepub fn get_device_architecture(&self, device_id: &str) -> ADBResult<String>
pub fn get_device_architecture(&self, device_id: &str) -> ADBResult<String>
获取设备架构
Sourcepub fn start_frida_server(
&self,
device_id: &str,
frida_server_path: &str,
port: u16,
server_name: Option<&str>,
use_root: Option<bool>,
) -> ADBResult<()>
pub fn start_frida_server( &self, device_id: &str, frida_server_path: &str, port: u16, server_name: Option<&str>, use_root: Option<bool>, ) -> ADBResult<()>
在设备上启动 Frida 服务器
Sourcepub fn stop_frida_server(
&self,
device_id: &str,
server_name: Option<&str>,
) -> ADBResult<()>
pub fn stop_frida_server( &self, device_id: &str, server_name: Option<&str>, ) -> ADBResult<()>
停止在设备上运行的 Frida 服务器
Sourcepub fn reboot_recovery(&self, device_id: &str) -> ADBResult<()>
pub fn reboot_recovery(&self, device_id: &str) -> ADBResult<()>
重启设备到恢复模式
Sourcepub fn reboot_bootloader(&self, device_id: &str) -> ADBResult<()>
pub fn reboot_bootloader(&self, device_id: &str) -> ADBResult<()>
重启设备到引导加载程序模式
Source§impl ADB
impl ADB
Sourcepub fn record_screen(
&self,
device_id: &str,
output_path: &str,
duration_secs: u32,
size: Option<&str>,
) -> ADBResult<()>
pub fn record_screen( &self, device_id: &str, output_path: &str, duration_secs: u32, size: Option<&str>, ) -> ADBResult<()>
录制设备屏幕
§参数
device_id- 设备 IDoutput_path- 本地输出路径duration_secs- 录制时长(秒),最大 180 秒size- 可选的分辨率,格式 “widthxheight”
Sourcepub fn capture_logs(
&self,
device_id: &str,
tag: Option<&str>,
priority: &str,
) -> ADBResult<String>
pub fn capture_logs( &self, device_id: &str, tag: Option<&str>, priority: &str, ) -> ADBResult<String>
从设备捕获日志
Sourcepub fn watch_logs(
&self,
device_id: &str,
tag: Option<&str>,
priority: &str,
) -> ADBResult<()>
pub fn watch_logs( &self, device_id: &str, tag: Option<&str>, priority: &str, ) -> ADBResult<()>
实时查看日志(返回立即执行的命令)
Sourcepub fn clear_logs(&self, device_id: &str) -> ADBResult<()>
pub fn clear_logs(&self, device_id: &str) -> ADBResult<()>
清除日志
Source§impl ADB
impl ADB
Sourcepub fn forward(
&self,
device_id: &str,
local_port: u16,
device_port: u16,
) -> ADBResult<()>
pub fn forward( &self, device_id: &str, local_port: u16, device_port: u16, ) -> ADBResult<()>
将本地端口转发到设备端口
Sourcepub fn remove_forward(&self, local_port: u16) -> ADBResult<()>
pub fn remove_forward(&self, local_port: u16) -> ADBResult<()>
移除端口转发
Sourcepub fn remove_all_forwards(&self) -> ADBResult<()>
pub fn remove_all_forwards(&self) -> ADBResult<()>
移除所有端口转发
Sourcepub fn list_forwards(&self) -> ADBResult<String>
pub fn list_forwards(&self) -> ADBResult<String>
列出所有端口转发
Sourcepub fn reverse(
&self,
device_id: &str,
remote_port: u16,
local_port: u16,
) -> ADBResult<()>
pub fn reverse( &self, device_id: &str, remote_port: u16, local_port: u16, ) -> ADBResult<()>
反向端口转发(设备到主机)
Sourcepub fn remove_all_reverses(&self, device_id: &str) -> ADBResult<()>
pub fn remove_all_reverses(&self, device_id: &str) -> ADBResult<()>
移除所有反向端口转发
Source§impl ADB
impl ADB
Sourcepub fn create_resource_manager(&self, device_id: &str) -> ResourceManager
pub fn create_resource_manager(&self, device_id: &str) -> ResourceManager
创建资源管理器
Sourcepub fn with_resources<F, T>(&self, device_id: &str, f: F) -> ADBResult<T>
pub fn with_resources<F, T>(&self, device_id: &str, f: F) -> ADBResult<T>
使用资源管理器执行操作
Sourcepub fn take_screenshot_managed(
&self,
device_id: &str,
output_path: &str,
) -> ADBResult<()>
pub fn take_screenshot_managed( &self, device_id: &str, output_path: &str, ) -> ADBResult<()>
优化的截图功能(使用资源管理器)
Source§impl ADB
impl ADB
Sourcepub fn parallel_shell(
&self,
device_ids: &[&str],
command: &str,
) -> HashMap<String, ADBResult<String>>
pub fn parallel_shell( &self, device_ids: &[&str], command: &str, ) -> HashMap<String, ADBResult<String>>
Sourcepub fn parallel_install_app(
&self,
device_ids: &[&str],
apk_path: &str,
) -> HashMap<String, ADBResult<()>>
pub fn parallel_install_app( &self, device_ids: &[&str], apk_path: &str, ) -> HashMap<String, ADBResult<()>>
Sourcepub fn parallel_uninstall_app(
&self,
device_ids: &[&str],
package_name: &str,
) -> HashMap<String, ADBResult<()>>
pub fn parallel_uninstall_app( &self, device_ids: &[&str], package_name: &str, ) -> HashMap<String, ADBResult<()>>
Sourcepub fn parallel_start_app(
&self,
device_ids: &[&str],
package_name: &str,
activity: Option<&str>,
) -> HashMap<String, ADBResult<bool>>
pub fn parallel_start_app( &self, device_ids: &[&str], package_name: &str, activity: Option<&str>, ) -> HashMap<String, ADBResult<bool>>
Sourcepub fn parallel_stop_app(
&self,
device_ids: &[&str],
package_name: &str,
) -> HashMap<String, ADBResult<()>>
pub fn parallel_stop_app( &self, device_ids: &[&str], package_name: &str, ) -> HashMap<String, ADBResult<()>>
Sourcepub fn parallel_get_package_info(
&self,
device_ids: &[&str],
package_name: &str,
) -> HashMap<String, ADBResult<PackageInfo>>
pub fn parallel_get_package_info( &self, device_ids: &[&str], package_name: &str, ) -> HashMap<String, ADBResult<PackageInfo>>
Sourcepub fn parallel_push(
&self,
device_ids: &[&str],
local_path: &str,
device_path: &str,
) -> HashMap<String, ADBResult<()>>
pub fn parallel_push( &self, device_ids: &[&str], local_path: &str, device_path: &str, ) -> HashMap<String, ADBResult<()>>
Sourcepub fn parallel_pull(
&self,
operations: &[(String, String, String)],
) -> HashMap<String, ADBResult<()>>
pub fn parallel_pull( &self, operations: &[(String, String, String)], ) -> HashMap<String, ADBResult<()>>
Sourcepub fn on_all_online_devices<F, T>(
&self,
operation: F,
) -> ADBResult<HashMap<String, ADBResult<T>>>
pub fn on_all_online_devices<F, T>( &self, operation: F, ) -> ADBResult<HashMap<String, ADBResult<T>>>
Sourcepub fn parallel_commands(
&self,
device_ids: &[&str],
commands: &[&str],
) -> HashMap<String, Vec<ADBResult<String>>>
pub fn parallel_commands( &self, device_ids: &[&str], commands: &[&str], ) -> HashMap<String, Vec<ADBResult<String>>>
在所有指定设备上并行执行多个命令
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ADB
impl RefUnwindSafe for ADB
impl Send for ADB
impl Sync for ADB
impl Unpin for ADB
impl UnwindSafe for ADB
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more