ADB Kit
ADB Kit 是一个用于与 Android Debug Bridge (ADB) 进行交互的 Rust 库,提供了丰富的 API 以控制和管理 Android 设备。
特性
- 设备管理:列出、连接、断开设备
- 应用管理:安装、卸载、启动、停止应用
- 文件传输:向设备推送文件、从设备拉取文件
- 屏幕捕获:截图和屏幕录制
- 远程调试:启用 TCP/IP 连接和 Frida 服务器支持
- 并行操作:在多设备上并行执行命令
- 资源管理:自动清理临时文件
安装
在你的 Cargo.toml 中添加以下依赖:
[]
= "0.1.0"
基本用法
use ;
应用管理
// 获取应用信息
let info = adb.get_package_info?;
println!;
// 检查应用是否运行
let = adb.is_package_running?;
// 启动应用
adb.start_app?;
// 停止应用
adb.stop_app?;
// 安装应用
adb.install_app?;
// 卸载应用
adb.uninstall_app?;
文件传输
// 推送文件到设备
adb.push?;
// 从设备拉取文件
adb.pull?;
// 检查文件是否存在
let exists = adb.file_exists?;
// 获取文件大小
let size = adb.get_file_size?;
// 创建目录
adb.create_directory?;
// 删除文件
adb.remove_path?;
屏幕捕获
// 截图
adb.take_screenshot?;
// 录制屏幕
adb.record_screen?;
// 使用资源管理器自动清理临时文件
adb.take_screenshot_managed?;
并行操作
// 在多台设备上并行执行 shell 命令
let results = adb.parallel_shell;
// 在所有在线设备上执行操作
let results = adb.on_all_online_devices?;
// 在多台设备上并行安装应用
let results = adb.parallel_install_app;
高级功能
// 使用自定义配置
let config = default
.path
.max_retries
.retry_delay
.timeout
.build;
let adb = ADBnew;
// 启用远程调试
let addr = adb.enable_remote_debugging?;
println!;
// 启动 Frida 服务器
adb.start_frida_server?;
完整示例
参见 examples 目录获取更多示例。
贡献
欢迎贡献!请随时提交问题或拉取请求。
许可证
MIT