做电商运营,很多操作只能在手机App里完成——抖音直播间互动、TEMU商品上架、小红书发布笔记、TikTok Shop数据采集。网页自动化解决不了的问题,手机自动化可以。
影刀RPA支持手机自动化(Android),底层基于ADB命令。不需要你写代码,影刀把常用操作封装成了指令。但手机自动化跟网页自动化完全是两套逻辑——没有元素库、没有XPath、全靠坐标和UI树。我也是非技术出身,刚开始搞手机自动化的时候,光是连接手机就折腾了一整天。
今天就把手机自动化的完整流程讲一遍——ADB环境怎么搭、手机怎么连、指令怎么用、坑在哪里。
手机自动化能做什么,不能做什么
先搞清楚边界。
能做的:
-
打开App、点击坐标、滑动屏幕
-
输入文本、截屏、获取当前界面UI树
-
安装卸载App、获取设备信息
不能做的:
- 无法像浏览器那样直接捕获元素(需要用坐标或UI树定位)
- 无法直接获取控件文本(需要解析UI XML)
版本限制:影刀创业版/企业版内置了手机自动化功能,社区版不支持。
第一步:ADB环境配置
ADB(Android Debug Bridge)是电脑和安卓手机通信的工具。电脑要跟手机“对话”,ADB就是那个翻译官。
方式一:使用影刀自带的ADB(推荐)
影刀安装包自带了ADB工具,不用额外下载。
找到影刀自带的ADB:
- 打开影刀安装目录,找到
support_xxx/mobile文件夹 - 在该路径中输入
cmd并回车打开命令窗口 - 输入
adb devices并回车,如果能输出设备信息说明ADB可用
或者通过影刀应用来找:
- 新建一个手机自动化应用
- 点击应用名称编辑按钮,打开应用所在位置
3. 退回上一级目录,搜索
adb,打开文件所在位置
- 在该路径中打开cmd,输入
adb,能输出帮助信息就没问题
方式二:手动下载ADB并配置环境变量
如果影刀自带的ADB用不了,也可以手动下载。
- 搜索“ADB platform tools”下载,解压到
C:\adb - 将
C:\adb添加到系统Path环境变量 - 或在影刀中直接使用ADB的绝对路径
配置环境变量的关键步骤(以小米手机为例):
- 新建环境变量
ANDROID_HOME,值为影刀ADB所在路径(如C:\ProgramData\ShadowBot\support_X86\mobile\AndroidSDK) - 在Path环境变量中新增一行,指向ADB目录
如果环境变量配错了,影刀可能连不上手机。检查Path变量中是否有C:\Windows\system32,同时确认没有错误配置ANDROID_ADB_SERVER_PORT等变量。配置完后重启影刀才能生效。
第二步:手机端设置
手机端的设置是最容易出问题的环节。
开启开发者选项
- 打开手机“设置”→“关于手机”
- 连续点击“版本号”7次,直到提示“已进入开发者模式”
开启USB调试
- 回到“设置”→“系统和更新”→“开发者选项”(不同手机路径略有不同)
- 开启“USB调试”
- 开启“USB安装”(部分手机需要)
- 开启“USB调试(安全设置) ”(部分手机需要)
注意:USB调试在ADB连接阶段就必须开启;USB调试(安全设置)在后续建立自动化会话时才起作用。有的手机没有“USB调试(安全设置)”这个选项,默认是开启的。但OPPO手机这个选项默认是关闭的,很多连接失败都是因为这个没开。
用数据线连接电脑
- 用数据线将手机连接到电脑
- 手机上选择USB连接方式为“传输文件(MTP) ”
- 手机会弹出“允许USB调试”弹窗,点击“确认”
一个容易被忽略的细节:USB线必须支持数据传输,充电线不行。杂牌数据线经常只有充电功能没有传输功能。建议用手机原装数据线。
验证连接是否成功
在命令行中输入:
adb devices
如果看到类似这样的输出,说明连接成功:
List of devices attached
1234567890abcdef device
第三步:影刀手机管理器配置
ADB连上了,不代表影刀能用。还需要在影刀里完成配置。
安装Android自动化组件
- 打开影刀首页的“设置中心”
- 点击“自动化插件”中的“Android自动化组件”
- 手机管理器打开后会自动检测当前机器是否已安装自动化环境,未安装则会提示安装
注意:手机检测工具中的“已连接”≠手机管理器中的“已连接”。手机检测工具显示已连接只代表ADB工具可以正常连接,成功安装三个插件后影刀手机管理器中才可正常连接。
在手机管理器中添加设备
- 打开影刀的“手机管理器”
- 点击“添加设备”,选择已连接的手机
- 手机端会提示安装Appium等辅助应用,点击“允许”安装
如果手机没有提示安装应用,一般是没有开启“允许USB安装”权限。去开发者选项里检查一下。
第四步:影刀手机自动化基本指令
配置好ADB后,在影刀右侧指令面板的“手机自动化”分类下就能看到相关指令了。
连接手机
在流程开头拖入“连接手机”指令,选择已连接的设备ID。
点击屏幕
有两种方式:
方式一:坐标点击——用“点击屏幕”指令,输入坐标X,Y。
方式二:元素点击——用“点击元素”指令,基于UI树定位。
滑动屏幕
用“滑动屏幕”指令,设置起始坐标和结束坐标,可设置滑动时间。
输入文本
用“输入文本”指令,配合点击输入框使用。
截图
用“截图”指令,保存手机屏幕。
获取UI树
用“获取UI树”指令,分析当前页面元素(类似网页的XPath)。
第五步:元素定位——手机自动化最难的部分
网页自动化有XPath,手机自动化靠的是UI树(类似网页的DOM)。
捕获元素
点击影刀的“捕获元素”按钮,手机屏幕会投射到电脑上,选择元素后生成定位路径。
但这里有一个大坑:不同手机型号、不同软件版本,同一个元素的底层源码可能不同。在一台手机上能捕获到的元素,换一台手机可能就捕获不到了。
动态元素捕获技巧
方法一:XPath定位。通过XPath方式获取元素,比默认捕获更稳定。
方法二:元素锚点。开启“元素锚点”后,可为目标元素自动/手动添加一个锚点(如输入框的标题、固定文本),运行时先定位到锚点,再定位到目标元素。
方法三:文字定位+偏移量。如果元素不可捕获但文字可见,通过识别界面上的文字内容定位目标区域,再根据文字与实际点击点的相对偏移量执行操作。
坐标获取
手机自动化里坐标是绕不开的。获取坐标的方法:
- 在手机管理器的投屏画面上,鼠标悬停就能看到坐标
- 用“获取元素位置”指令获取元素的坐标
- 用ADB命令
adb shell wm size获取手机分辨率,按比例推算坐标
坐标点击的适用场景:元素位置固定不变的情况。如果页面会滚动,需要配合滑动让元素进入可见范围。
第六步:无线连接(拔掉数据线)
每次用数据线连着电脑做自动化,手机不能离身,很不方便。影刀支持无线ADB连接。
配置步骤:
- 手机和电脑需连接在同一WiFi下
- 手机开启开发者选项和USB调试模式
- 先用数据线连接手机,选择“传输文件”模式
- 在命令行中输入:
adb tcpip 5555 - 拔掉数据线,在命令行中输入:
adb connect <手机IP地址>:5555 - 手机开发者模式中的“选择USB配置”选择“RNDIS(USB以太网)”
- 输入
adb devices查看连接状态,看到手机IP:5555 device表示成功 - 可以拔掉数据线了
注意:拔掉数据线时可能会短暂断开,手机会自动再次弹出USB调试弹窗,确认即可。
第七步:高级ADB命令(影刀未封装的)
影刀内置指令覆盖了大部分场景,但有些操作需要直接用ADB命令:
- 模拟物理按键(音量键、电源键)
- 获取设备信息(分辨率、Android版本)
- 安装/卸载APK
- 截屏并拉取到电脑
- 执行Shell脚本
在影刀里用“运行命令行”指令执行ADB命令。
常用ADB命令速查:
| 操作 | ADB命令 |
|---|---|
| 查看连接设备 | adb devices |
| 点击坐标 | adb shell input tap x y |
| 滑动 | adb shell input swipe x1 y1 x2 y2 duration |
| 输入文本 | adb shell input text "内容"(需处理空格和特殊字符) |
| 截屏 | adb exec-out screencap -p > local.png |
| 按返回键 | adb shell input keyevent KEYCODE_BACK |
| 启动App | adb shell monkey -p 包名 1 |
| 获取UI XML | adb shell uiautomator dump |
一个实战示例:自动刷抖音视频
# 1. 启动抖音App
运行命令行("adb shell monkey -p com.ss.android.ugc.aweme 1")
# 2. 等待加载(固定等待3秒)
等待(3000)
# 3. 向上滑动(模拟刷视频)
# 分辨率1080x1920时,屏幕中心X=540,底部Y=1500,顶部Y=500
运行命令行("adb shell input swipe 540 1500 540 500 300")
# 4. 随机等待4~8秒(模拟观看)
随机等待(4000, 8000)
# 5. 循环步骤3-4
八个容易踩的坑(我全踩过)
坑一:手机连不上——数据线问题
现象:adb devices看不到设备。
原因:数据线不支持数据传输。
解决方法:换手机原装数据线,确保支持数据传输。如果有多条数据线,交叉测试确认是线的问题还是手机的问题。
坑二:手机连不上——驱动问题
现象:电脑识别不到手机。
解决方法:先下载360手机助手连接手机,它会自动安装驱动。驱动装好后,把360手机助手卸载掉——它会干扰影刀的正常执行,每秒可能中断一次流程。
坑三:手机连不上——USB调试权限没开全
现象:ADB能识别设备,但影刀连不上。
解决方法:检查开发者选项——USB调试、USB安装、USB调试(安全设置)三个都打开。OPPO手机特别注意“USB调试(安全设置)”这个选项。
坑四:手机管理器显示黑屏
现象:手机管理器能连接上,但画面是黑的。
原因:99%是环境变量配置错误。
解决方法:检查当前影刀的启动路径和环境变量的路径是否对应。如果重启影刀不生效,重启电脑。
坑五:捕获元素很卡
现象:连接上手机后,捕获元素时非常卡,点击“主页”命令响应很慢。
原因:可能是手机性能问题或USB传输速度慢。
解决方法:尝试换USB口、换数据线,或改用无线连接。
坑六:输入中文失败
现象:用“输入文本”指令输入中文,结果只输入了英文或乱码。
原因:ADB的input text命令对中文支持不好。
解决方法:
- 确保手机输入法是中文输入法且处于激活状态
- 或者用影刀的“模拟输入”指令,配合确保系统输入法是中文
坑七:不同手机元素定位不一致
现象:在一台手机上能捕获的元素,换一台手机捕获不到。
原因:不同手机型号、不同软件版本,元素底层源码不同。
解决方法:使用动态元素捕获方式,通过XPath获取元素。或者用元素锚点功能,先定位固定文本再定位目标元素。
坑八:防火墙拦了
现象:日志报错“请确认设备连接且USB调试开启”。
原因:Appium服务启动时需要连接网络,被Windows防火墙拦截了。
解决方法:关闭Windows防火墙后重启影刀。
多手机群控
一台电脑能同时控制多台手机吗?可以。
但有限制:一台电脑最稳定的是群控15台手机左右。想要控制更多,需要增加电脑,或者用USB扩展坞。
群控的实现方式:用“连接手机”指令选择“运行时连接的所有手机”,配合“并发调用子流程”使用。每台手机独立执行同一个流程,互不干扰。
常见问题速查
| 问题现象 | 根本原因 | 修复方法 |
|---|---|---|
adb devices看不到设备 | 数据线不支持传输/驱动未装 | 换原装数据线,用手机助手装驱动 |
| 影刀连不上但ADB能看到 | USB调试权限没开全 | 开启USB调试、USB安装、USB调试(安全设置) |
| 手机管理器黑屏 | 环境变量配置错误 | 检查Path变量,重启影刀或电脑 |
| 捕获元素很卡 | USB传输慢或手机性能问题 | 换USB口/数据线,或用无线连接 |
| 输入中文失败 | ADB对中文支持不好 | 确保手机输入法是中文,或用模拟输入 |
| 换手机后元素捕获不到 | 不同手机元素源码不同 | 用XPath定位或元素锚点 |
| 防火墙拦了连不上 | Windows防火墙拦截 | 关闭防火墙后重启影刀 |
推荐资源
- 影刀官方帮助文档搜索“手机自动化”或“ADB”
- 影刀社区搜索“手机自动化”或“连接手机”,有大量踩坑分享
- 影刀B站官方账号搜索“手机自动化”,有视频教程
- 语雀搜索“影刀RPA 手机自动化各种问题合集”,有保姆级问题汇总
#影刀RPA #RPA自动化 #手机自动化 #ADB #安卓自动化 #电商自动化
作者:林焱
本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。如果这篇文章对你有帮助,欢迎点赞收藏,下一篇我们聊“Windows桌面自动化与图像识别的完整方案”。
