ADB / Android Debug Bridge
Macro Deck 自带通过 USB 或 Wi-Fi 控制 Android 手机或平板:唤醒设备、启动应用、点击、输入文本和截图。
ADB / Android 调试桥集成的“概览”选项卡,提示在设置中启用 ADB
- 唤醒、锁定和重启已连接的 Android 设备
- 在设备上启动或强制停止应用、打开链接
- 发送按键、点击、滑动和文本
- 将设备屏幕截图保存到文件夹
- 设备事件,以及电量、屏幕和前台应用的变量
ADB 集成通过 Android 调试桥(ADB)控制 Android 手机和平板,这也是 Android 开发者使用的工具。Macro Deck 会找到 adb 程序,运行 ADB 服务器,并跟踪通过 USB 连接或通过 Wi-Fi 连接的设备。它还可以帮你下载官方的 Android platform-tools。
每个动作都作用于在动作中选择的设备;如果 设备 留空,则作用于默认设备。默认设备是在 设置 > ADB 中通过 设为默认 选定的设备;如果没有选定,则是唯一连接的那台设备。
可以做什么
- 屏幕和电源: 唤醒设备、关闭屏幕(Android 以这种方式锁定设备),或将设备重启到 Android、Recovery 或 Bootloader。
- 应用和链接: 按包名启动或强制停止应用,例如
com.spotify.music,并用设备为链接选择的应用打开链接。 - 输入: 发送 Home、Back、Volume Up 或 Media Play Pause 等按键,点击屏幕上的某个点,从一个点滑动到另一个点,或在当前聚焦的输入框中输入文本。
- 截图: 将屏幕截取为 PNG 文件保存到电脑上的文件夹,并可选择将文件路径写入变量。
一些示例设置:
- 一个按键,唤醒桌上的平板并启动音乐应用。
- 一个按键,向手机发送 Media Play Pause。
- 一个由 设备已连接 触发的自动化,平板一插上就在其上打开一个仪表板页面。
实时状态
当设备连接、断开连接、获得授权、授权失效、离线或重新上线时,集成都会报告,以便流程和按键做出响应。变量包含已连接和已授权设备的数量,以及默认设备的型号、制造商、电量、屏幕是否亮起、是否显示锁屏界面和前台应用。每台已授权的设备还会有自己的变量,以其型号命名。集成启用期间,每台 Android 设备的电量也会显示在电池组件中。
基本动作(按键、点击、滑动、文本、应用、链接、重启和截图)在 Macro Deck 锁定时仍然可用,因此绑定了这些动作的按键在电脑锁定时也能使用。
准备工作
- Windows、macOS 或 Linux 上的 Macro Deck 3
- 一台已在开发者选项中开启 USB 调试的 Android 设备
- 一根可传输数据的 USB 数据线,或者开启无线调试以通过 Wi-Fi 连接
- Android platform-tools(adb);Macro Deck 可以在“设置 > ADB”中下载
- 在 Linux 上,当前用户需要有访问该 USB 设备的权限,通常通过 udev 规则实现
设置步骤
第 1 步: 启用 ADB 集成
在侧边栏中点击 集成,然后点击 ADB / Android 调试桥。在打开右上角的开关之前,该集成处于关闭状态。开关打开后,页面会显示 ADB 已关闭,直到在下一步中启用 ADB。
第 2 步: 在 Macro Deck 中启用 ADB
打开 设置 > ADB,然后打开 启用 ADB。如果 ADB 程序 显示 未找到,请点击 下载 platform-tools。已有的 Android SDK 或
PATH中的adb会被自动找到,也可以通过 可执行文件路径 指定其他程序。第 3 步: 在设备上开启 USB 调试
在手机或平板上打开 设置 > 关于手机,连续点击 版本号 七次以开启 开发者选项。然后在 设置 > 开发者选项 中开启 USB 调试。具体位置因制造商而略有不同。
第 4 步: 连接并授权设备
用 USB 数据线连接设备,并在其屏幕上确认 允许 USB 调试吗?。勾选 一律允许使用这台计算机进行调试,以后就不会再询问。之后设备会以 就绪 状态显示在 设置 > ADB 的 设备 下。如需改用 Wi-Fi 连接,请在 通过 Wi-Fi 连接 下输入设备的 IP 地址和端口,例如
192.168.1.20:5555。第 5 步: 选择默认设备
连接了多台设备时,点击某台设备旁边的 设为默认,设备 留空的动作就会使用这台设备。只有一台设备时会自动使用它。
第 6 步: 为按键添加 ADB 动作
在 面板 页面上,确认面板已解锁(右上角的按钮显示为 锁定),然后点击一个按键。编辑器打开时已选中 短按。点击 + 添加动作,在 添加动作 对话框左侧选择 ADB / Android 调试桥,然后选择一个动作,例如 唤醒设备 或 启动应用。填写其字段,例如 启动应用 的 包,并将 设备 留空以使用默认设备。只有在集成启用时,该分类才会出现。
第 7 步: 按下按键
点击 保存,然后在面板上按下该按键。如果没有反应,请在 集成 中查看是否有提示,例如 没有已连接的设备,或有设备需要授权。
动作11
可以放在按键上,也可以在流程中运行。
- 唤醒设备
- 唤醒设备屏幕。
- 休眠 / 锁定屏幕
- 关闭设备屏幕,Android 就是以这种方式锁定设备的。
- 启动应用
- 按包名启动应用,或将其切换到前台。
- 强制停止应用
- 按包名强制停止应用。
- 打开链接
- 在设备上打开一个 URI,效果与点击链接相同。
- 输入文本
- 在设备上当前聚焦的输入框中输入文本。
- 发送按键
- 发送单个 Android 按键事件,例如 Home、Back、Volume Up 或 Media Next。
- 点击
- 在给定的 X 和 Y 坐标处点击屏幕。
- 滑动
- 在设定的时长内从一个点滑动到另一个点。
- 重启设备
- 将设备重启到正常、Recovery 或 Bootloader 模式。
- 截取屏幕
- 截取设备屏幕并以 PNG 文件保存到文件夹,并可选择将其路径写入变量。
触发器6
按键或流程可以对这些事件做出响应。
- 设备已连接
- 插入了一台 Android 设备,或 Macro Deck 首次检测到它。
- 设备已断开连接
- 拔出了一台 Android 设备,或 Macro Deck 失去了对它的跟踪。
- 设备已授权
- 在设备上接受了授权提示。
- 设备授权失效
- 一台之前已授权的设备需要再次接受授权提示。
- 设备已上线
- 一台已授权的设备重新可以访问。
- 设备已离线
- 一台原本可以访问的设备无法再访问。
变量11
在按键和组件上显示这些值,或在条件中使用它们。
adb_connected_device_count- 已连接的 Android 设备数量。
adb_authorized_device_count- 在线且已授权的设备数量。
adb_device_connected- 默认设备是否已连接。
adb_device_authorized- 默认设备是否已授权这台电脑。
adb_device_model- 默认设备的型号。
adb_device_manufacturer- 默认设备的制造商。
adb_device_battery_level- 默认设备的电量百分比。
adb_device_screen_on- 默认设备的屏幕是否亮起。
adb_device_locked- 默认设备是否显示锁屏界面。
adb_device_foreground_app- 默认设备上前台应用的包名。
adb_device_<device>_connected,adb_device_<device>_authorized,adb_device_<device>_model,adb_device_<device>_battery_level- 每台已授权设备的连接状态、授权状态、型号和电量。
<device>是将设备型号转换为小写字母、数字和下划线后的名称;同一型号的其他设备会依次加上_2、_3等后缀。
常见问题解答
需要 Android Studio 或 Android SDK 吗?
不需要。Macro Deck 只需要 Android platform-tools 中的 adb 程序。在 设置 > ADB 中点击 下载 platform-tools,Macro Deck 就会从 Google 下载官方软件包(约 15 MB)供自己使用。已有的安装会被自动找到。
可以通过 Wi-Fi 控制设备吗?
可以。在设备上开启无线调试,然后在 设置 > ADB 的 通过 Wi-Fi 连接 下输入其 IP 地址和端口。Macro Deck 本身不会配对设备:在 Android 11 及更高版本上,请先将设备与这台电脑配对,或者通过 USB 用 adb tcpip 将其切换为网络调试。否则设备会拒绝连接。
动作为什么会因找不到设备而失败?
如果 设备 留空,动作会使用默认设备。如果没有选定默认设备而连接了多台设备,就不存在默认设备,此时请在动作中选择设备,或在 设置 > ADB 中点击 设为默认。另外请确认设备显示为 就绪,而不是 未授权。
有单独的锁定动作吗?
没有。Android 没有单独的锁定命令。休眠 / 锁定屏幕 会关闭屏幕,其锁定设备的方式与电源键相同。
ADB 集成会影响其他使用 ADB 的程序吗?
Macro Deck 使用普通的 ADB 服务器,因此 Android Studio 等程序会与它共用。设置 > ADB 中的 重新启动 ADB 服务器 也会让这些程序的设备短暂断开。Macro Deck 退出时会保持服务器运行,除非打开了 Macro Deck 退出时停止 ADB 服务器。
设备为什么显示“没有访问此设备的权限”?
电脑没有通过 USB 与该设备通信的权限。在 Linux 上,请安装 platform-tools 的 udev 规则;在 Windows 上,请安装制造商为该设备提供的 USB 驱动程序。