更新记录
1.0.0(2026-05-03) 下载此版本
初次提交
平台兼容性
uni-app(5.04)
| Vue2 | Vue2插件版本 | Vue3 | Vue3插件版本 | Chrome | Safari | app-vue | app-vue插件版本 | app-nvue | app-nvue插件版本 | Android | Android插件版本 | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | 1.0.0 | √ | 1.0.0 | × | × | √ | 1.0.0 | √ | 1.0.0 | 5.1 | 1.0.0 | × | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
laoqianjunzi-adb
Android 端 ADB 无线调试 UTS 插件。
实现说明
- Android 侧使用 UTS + Kotlin 混编实现,核心连接与 ADB 协议能力来自内联的 Kadb 原生源码适配层。
- 插件当前面向无线调试场景,推荐用于 Android 11+ 的无线配对与连接。
- 插件内部会维护“已连接设备缓存”,
get_devices()返回的是当前插件进程里已经成功连接过的设备,而不是系统全量扫描结果。 - 应用进程被系统回收后,设备缓存会丢失,需要重新执行
connectDevice();但已保存的配对证书会尽量复用。
推荐使用流程
- 在目标设备开启“无线调试”。
- 如设备需要配对,先调用
pairDevice(ip, pairPort, code)。 - 再调用
connectDevice(ip, port)建立连接。 - 连接成功后调用
get_devices()获取当前缓存中的设备列表。 - 后续所有操作都使用列表中的
deviceId,通常是ip:port。 - 需要反复调试时,可调用
disconnectDevice(deviceId)主动断开并移出缓存。
引入
import { adbCmd } from "@/uni_modules/laoqianjunzi-adb"
类型
type AdbDevice = {
id: string
status: 'offline' | 'device'
}
type AppItem = {
pkg: string
_isSys: boolean
}
方法
获取设备列表
/**
* @description 获取当前插件连接缓存中的设备列表
* @returns Promise<AdbDevice[]>
*/
adbCmd.get_devices()
配对设备
/**
* @description 无线配对设备
* @param ip string 设备 IP
* @param port string 配对端口
* @param code string 配对码
* @returns Promise<boolean>
*/
adbCmd.pairDevice(ip, port, code)
连接设备
/**
* @description 连接无线调试设备,成功后会写入插件设备缓存
* @param ip string 设备 IP
* @param port string 调试端口
* @returns Promise<boolean>
*/
adbCmd.connectDevice(ip, port)
断开缓存设备
/**
* @description 断开并移除缓存中的设备连接
* @param id string 设备 ID
* @returns Promise<boolean>
*/
adbCmd.disconnectDevice(id)
获取设备信息
/**
* @description 读取设备属性信息
* @param id string 设备 ID
* @returns Promise<UTSJSONObject>
*/
adbCmd.getDeviceInfo(id)
模拟按键
/**
* @description 发送按键事件
* @param id string 设备 ID
* @param code number 按键码
* @returns Promise<boolean>
*/
adbCmd.sendKeyEvent(id, code)
模拟滑动
/**
* @description 执行滑动手势
* @param id string 设备 ID
* @param x1 number 起点 X
* @param y1 number 起点 Y
* @param x2 number 终点 X
* @param y2 number 终点 Y
* @returns Promise<boolean>
*/
adbCmd.sendSwipeEvent(id, x1, y1, x2, y2)
模拟点击
/**
* @description 执行点击手势
* @param id string 设备 ID
* @param x number X 坐标
* @param y number Y 坐标
* @returns Promise<boolean>
*/
adbCmd.sendTap(id, x, y)
获取屏幕分辨率
/**
* @description 获取当前设备分辨率
* @param id string 设备 ID
* @returns Promise<number[]>
*/
adbCmd.getResolution(id)
发送文本
/**
* @description 发送文本输入
* @param id string 设备 ID
* @param text string 文本
* @returns Promise<boolean>
*/
adbCmd.sendText(id, text)
屏幕截图
/**
* @description 让设备截图,并返回设备上的保存路径
* @param id string 设备 ID
* @returns Promise<string>
*/
adbCmd.screenshot(id)
拉取文件
/**
* @description 从设备拉取文件到本地目录或 content uri
* @param id string 设备 ID
* @param path string 远程文件路径
* @param dir string 本地目录路径或 content uri
* @returns Promise<boolean>
*/
adbCmd.pullFile(id, path, dir)
推送文件
/**
* @description 推送本地文件到设备目录
* @param id string 设备 ID
* @param path string 本地文件路径或 content uri
* @param dir string 远程目录
* @returns Promise<boolean>
*/
adbCmd.pushFile(id, path, dir)
获取应用列表
/**
* @description 获取应用列表
* @param id string 设备 ID
* @returns Promise<AppItem[]>
*/
adbCmd.getAppList(id)
安装应用
/**
* @description 安装 APK
* @param id string 设备 ID
* @param path string APK 本地路径或 content uri
* @returns Promise<boolean>
*/
adbCmd.installApp(id, path)
卸载应用
/**
* @description 卸载应用
* @param id string 设备 ID
* @param name string 应用包名
* @returns Promise<boolean>
*/
adbCmd.uninstallApp(id, name)
限制说明
- 当前只实现了 Android 端原生能力,其他平台目录仍为占位实现。
get_devices()不是局域网发现,也不是 USB 枚举,只返回插件已连接缓存中的设备。deviceId建议直接使用connectDevice()成功后出现在列表中的值,不要手写猜测。sendText()底层依赖adb shell input text,英文、数字、基础符号更稳定;中文、换行、特殊字符在不同 ROM 上可能表现不一致。pairDevice()依赖无线调试配对能力,通常要求 Android 11 及以上。- 文件相关接口支持普通文件路径,也兼容部分
content://场景;其中pullFile()更推荐传目录型tree uri。 - 截图接口当前返回的是设备端保存路径,不会自动同步到本地。
隐私、权限声明
- 本插件需要申请的系统权限列表:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-
本插件采集的数据、发送的服务器地址、以及数据用途说明: 插件不采集任何数据。
-
本插件是否包含广告,如包含需详细说明广告表达方式、展示频率: 无。

收藏人数:
https://gitee.com/laoqianjunzi/laoqianjunzi-adb
下载插件并导入HBuilderX
下载示例项目ZIP
赞赏(0)
下载 1136
赞赏 2
下载 11766798
赞赏 1911
赞赏
京公网安备:11010802035340号