Android RPA · Mode d'emploi
Android · RPA · 使用指南

让电脑
替你操作手机

一份写给纯小白的说明书:从打开手机里的「开发者模式」开始,到自动打招呼、自动发消息,再到让 AI 助手直接帮你玩手机。全程免 root,图片皆可点击放大。

阅读约 15 分钟 免 Root · 官方通道 Windows / macOS / Linux 对应代码版本 2026-10-15
Avant-propos · 序
§

先弄懂三件事

这套工具叫 Android RPA。RPA 的意思是「机器人流程自动化」——简单说,就是让电脑里的一个小程序,替你在手机上点点点。

手机 · 自动执行 电脑 · Python 脚本发号施令 USB 数据线
整体思路:电脑里跑着 Python 脚本,通过一根 USB 数据线指挥手机自动点击、输入、滑动。

BOSS直聘自动打招呼

你在 App 里筛选好职位,脚本按列表从上往下逐个点开、点「立即沟通」、打招呼,再返回下一个。

微信自动发消息

按你在配置里写好的名单,自动搜索联系人、输入消息、点发送,一条不漏。

让 AI 直接操控手机

内置 MCP 服务:AI 助手能实时看你的手机屏幕、帮你点按输入。对它说句话就行。

安心它安全吗?不破解、不 root、不改手机系统,走的是安卓官方留给开发者的「USB 调试」通道。脚本默认处于彩排模式——只找按钮、不真点,何时让它动手由你决定;任何时候都能一键急停(见第四章)。
Checklist · 清单
0

开始之前,备齐这五样

花两分钟对照一下,都在的话就可以直接进入第一章。

Chapitre I · 开发者模式
I

打开手机的开发者模式

安卓手机出厂时是「锁着门」的:不允许外部程序指挥它点这里、按那里。开发者模式是谷歌官方留在手机里的工程开关,打开里面的「USB 调试」,电脑才被允许和手机对话。这不是越狱,不影响保修,随时可以关掉。

1

找到「版本号」藏在哪

打开手机的「设置」,滑到最底部,点进「关于手机」。不同品牌的入口略有差异:

品牌入口路径要连点的那个选项
华为 / 荣耀设置 → 关于手机版本号
小米 / 红米设置 → 我的设备 → 全部参数OS 版本
OPPO / 一加设置 → 关于本机版本号
vivo设置 → 我的设备 → 更多参数软件版本号
三星设置 → 关于手机 → 软件信息编译编号
9:41 设置 WLAN› 蓝牙› 移动网络› 显示与亮度› 声音和振动› 关于手机 › 第 1 步 · 滑到最底部,点「关于手机」
设置列表拉到最底部,「关于手机」就在这里。
9:41 关于手机 设备名称 我的手机 型号 Android 手机 Android 版本 12 版本号 Android 12.0.1 连续快速点击 7 次 再点 4 次,即可进入开发者模式 第 2 步 · 像抢红包一样连点版本号
对「版本号」连续快速点击 7 次,系统会倒数提示。
2

连点 7 次「版本号」

用手指连续快速地点击 7 次(像抢红包那样戳)。点到第 3、4 次时,屏幕底部会弹出「还剩 X 次」的倒数提示;点满后提示「您已处于开发者模式」就成功了。如果手机设了锁屏密码,中途可能要求你输一次密码,照输即可。

3

找回新出现的「开发人员选项」

返回设置首页,「开发人员选项」不会自己冒出来,它藏在不同的地方:

品牌开发者选项的位置
华为 / 荣耀设置 → 系统和更新 → 开发人员选项
小米 / 红米设置 → 更多设置 → 开发者选项
OPPO / vivo设置 → 系统管理 / 其他设置 → 开发者选项
三星设置 → 开发者选项(通常在列表末尾)
偷懒实在找不到?在设置顶部的搜索栏里直接搜「开发者」三个字,一步到位。
4

打开「USB 调试」开关

进入开发人员选项后,往下滚动找到「USB 调试」,把开关打开。弹出提示框时点「确定 / 允许」。

华为专属部分华为 / 荣耀机型还要多开一个:「仅充电」模式下允许 ADB 调试,就在 USB 调试的下面几行。找不到这行就说明你的机型不需要,跳过即可。
5

插线,并在手机上点「允许」

用数据线把手机插到电脑上,手机会弹窗问「是否允许 USB 调试?」——先勾选「一律允许使用这台计算机进行调试」,再点「允许」。这样以后每次插线都不会再问。

9:41 开发人员选项 调试 USB 调试 允许电脑通过 USB 指挥手机 「仅充电」模式下允许 ADB 调试 华为 / 荣耀机型需要 无线调试 模拟点击授权 先打开这个开关 第 3-4 步 · 找到入口并打开 USB 调试
开发人员选项里的「USB 调试」;华为机型多开一行虚线框里的开关。
9:41 USB 调试 无线调试 模拟位置 允许 USB 调试吗? 这台电脑将通过 USB 获得控制 您手机的权限。 一律允许使用这台计算机进行调试 取消 允许 勾选「一律允许」再点允许 第 5 步 · 插线后的授权弹窗
插线后手机会弹窗授权——务必勾选「一律允许」。
检查点第一章完成标志:手机插着线、屏幕上「USB 调试」开关是开着的、并且刚插线时点过「允许」。做到这三点,就可以进入下一章了。
Chapitre II · 电脑准备
II

把电脑武装好

接下来在电脑上装依赖、连手机、再给手机装一个「传令兵」。两条路线任选其一:省力路线——把一段提示词交给 AI 助手,让它全程替你代劳;手动路线——自己逐条复制粘贴命令。全程不写一行代码。

1

拿到代码

装了 git 的话,在想存放项目的位置打开终端,执行(仓库地址以项目实际提供为准):

git clone <你的仓库地址> android-rpa
cd android-rpa

不会 git 也完全没关系:在代码仓库页面点 Code → Download ZIP,下载后解压到任意位置,比如 E:\android-rpa。

2

省力路线:把这段提示词交给 AI 助手

电脑上装了 AI 编程助手(Claude Code、Cursor 等都可以)?那连命令都不用敲——把下面这段提示词原样粘贴给它,装环境、连手机、装组件,它全程替你代劳:

我刚把 Android RPA 项目准备好,放在 E:\android-rpa(请替换成你的实际路径),
手机已用 USB 线连上电脑,开发者模式和 USB 调试都已打开。
请帮我完成下面的初始化,每一步先告诉我你要做什么:
1. 进入项目目录,创建 Python 虚拟环境 .venv 并激活;
2. 用 pip 安装 requirements.txt 里的全部依赖;
3. 运行 adb devices 确认电脑能看到我的手机;
   如果列表为空或显示 unauthorized,停下来告诉我在手机上怎么处理;
4. 确认连接正常后,运行 python -m uiautomator2 init 给手机安装控制组件;
5. 最后运行一次 python main.py --task boss 彩排模式(只检查不点击),
   把日志里有没有 [X] 或「未找到控件」汇报给我。
过程中手机若弹出「允许 USB 调试」等确认框,先提醒我,等我点了允许再继续。

助手每执行一条命令都会请求许可,逐条批准即可;它跑完之后,直接跳到第 4 步「对答案」检查成果。

务必把提示词里的项目路径换成你自己的;发送前确认手机已插线、屏幕已解锁。
3

手动路线:逐条执行下面 5 条命令

在文件管理器里进入项目文件夹,在地址栏输入 cmd 并回车,就会在正确位置打开一个黑色终端窗口(macOS / Linux 用户在文件夹里右键打开终端即可)。然后一条一条复制、粘贴、回车,等上一条跑完再执行下一条:

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
adb devices
python -m uiautomator2 init

每条命令在干什么:

命令白话解释
python -m venv .venv在项目里盖一间「独立厨房」,之后装的东西只影响本项目,不弄脏电脑
.venv\Scripts\activate走进这间厨房(macOS / Linux 用 source .venv/bin/activate,成功后命令行前面会出现 (.venv) 字样)
pip install -r requirements.txt按清单把所需的全部零件一次性装齐
adb devices点名:看看电脑能不能「看见」你的手机
python -m uiautomator2 init往手机里装一个叫 ATX 的小助手 App,它是电脑派驻手机的「传令兵」(免 root,可随时卸载,见第六章)
adb 是什么adb(Android Debug Bridge)是谷歌官方的「手机对话工具」,装 Python 库时会自动带上,无需单独安装。
4

对答案:终端应该长这样

adb devices 执行后,如果看到一串序列号和 device 字样,说明电脑已经成功认到手机:

命令提示符 — android-rpa C:\android-rpa> python -m venv .venv C:\android-rpa> .venv\Scripts\activate (.venv) C:\android-rpa> pip install -r requirements.txt Successfully installed uiautomator2-3.2.0 adbutils-2.8.1 ... (.venv) C:\android-rpa> adb devices List of devices attached ********** device (.venv) C:\android-rpa> python -m uiautomator2 init Install com.github.uiautomator ... [OK]
终点站的样子:序列号后面跟着高亮的 device 字样,u2 init 显示 [OK]。
对不上? 显示空白(只有 List of devices attached 一行)→ 手机弹窗没点「允许」,或线不能传数据,换线换口再试;华为机型检查「仅充电模式下允许 ADB 调试」。
显示 unauthorized → 手机解锁屏幕,重新插一次,在弹窗点「允许」。
提示 'adb' 不是内部或外部命令 → 回到手动路线第一步,确认终端是在项目文件夹里打开的,且 pip install 已经执行成功。
Chapitre III · 首次运行
III

第一次跑起来

先认识一个重要概念:彩排模式(dry-run)——像演出前的走位,脚本把每一步「我找到了这个按钮,本该点它」都写进日志给你看,但屏幕上什么都不动。所有任务都默认彩排,确认无误后加 --live 才真干。

A.BOSS直聘自动打招呼

1

先在手机上手动做两件小事

① 打开 BOSS直聘 App,搜索并筛选好你想要的职位,停在职位列表页——脚本会按屏幕上的顺序从上往下投递,所以筛得越准,投得越准。
② 设置好打招呼语:我的 → 右上角设置 → 消息设置 → 打招呼语。设置后脚本点「立即沟通」时会自动带上这句话,全程无需输入文字。

9:41 职位 北京 · 筛选 ✓ Java 开发工程师 15-25K·14薪 某科技公司 · 3-5年 · 本科 张女士 · HR 立即沟通 AI 应用工程师 20-35K·15薪 某智能公司 · 1-3年 · 本科 李先生 · HR 立即沟通 Python 后端 18-28K·14薪 某软件公司 · 3-5年 · 大专 王先生 · HR 立即沟通 ① 筛好职位停在这一页 脚本会从上往下依次投递 ↓
小事①:在 BOSS直聘里搜索、筛好职位,停在这个列表页。
9:41 打招呼语 开启打招呼语 打招呼语内容 您好,我对这个职位很感兴趣, 希望有机会进一步沟通, 谢谢! 保存 ② 我的 → 设置 → 消息设置 → 打招呼语 设置后脚本无需输入任何文字
小事②:设置好打招呼语并开启,脚本点「立即沟通」时自动带上。
2

彩排一遍

python main.py --task boss

盯着终端看:每一行日志都在说它找到了什么。没有红叉 [X]、没有「未找到控件」,就说明脚本认识你手机上的这个 App。

3

真刀真枪

python main.py --task boss --live

这次它会真的点进职位、点「立即沟通」、打完招呼再返回下一个。想先小批量试水,加个上限:

python main.py --task boss --live --max 10

跑的过程中保持终端窗口开着、手机亮着屏。每投一个会随机歇 3–8 秒、偶尔「分神」发呆十几秒——这是刻意模仿真人、保护账号的设计,别嫌它慢。

B.微信自动发消息

1

把名单写进配置文件

用记事本(推荐 VS Code)打开项目根目录的 config.py,找到 WECHAT 这一段,把要发的人和消息填进去:

WECHAT = {
    "targets": {
        "文件传输助手": "来自电脑 RPA 的测试消息",
        # "王哥": "下午好,文件已发你邮箱,查收。",
    },
}

注意两点:引号、冒号、逗号必须是英文符号;第一行先只留「文件传输助手」做测试,确认能发成功再加大名单。

2

彩排,然后发送

python main.py --task wechat
python main.py --task wechat --live

脚本会自动搜索联系人、输入消息、点发送。每发完一条自动退回主页再找下一位。

C.命令速查

命令作用
python main.py --task boss彩排:只找按钮不点击
python main.py --task boss --live真实执行打招呼
python main.py --task boss --live --max 10真实执行,本轮最多打 10 个
python main.py --task wechat --live按 config.py 名单发微信消息
日志每次运行都会在 logs/ 文件夹留下一份完整日志;万一某一步找不到按钮,还会自动截图存进同一文件夹,方便对照排查。
Chapitre IV · 安全阀
IV

随时急停

脚本是听话的,但它更需要一个一眼就能找到的刹车。项目根目录里那两个 .bat 文件就是刹车,双击即用,不需要敲任何命令。

STOP 急 停 恢复 双击 stop_agent.bat 任务下一步立即停下 双击 resume_agent.bat 恢复
急停与恢复:双击项目根目录下的两个 .bat 文件即可,无需命令行。

A.三招急停,任选其一

恢复急停后想继续,双击 resume_agent.bat 即可(它的本质是删掉那个开关文件)。另外,截图、读屏幕文字这类只读操作不受急停影响——急停后你仍可以让脚本「看一眼手机现在什么状态」。
Chapitre V · 进阶
V

让 AI 帮你操控手机

项目内置了一个 MCP 服务——可以理解为给 AI 助手开的一扇「遥控窗口」。在支持 MCP 的客户端(Claude Code、Cursor、WorkBuddy 等)里配置一次,AI 就能实时看你的手机屏幕、帮你点按输入,你说人话,它动手。

帮我看看手机现在什么页面 已截图:你在微信聊天列表。 要我帮你回谁的消息吗? 给王哥回一句:下午到 已发送 ✓ 消息已送达王哥。 发送 你 · 说人话 AI · 截图 → 看 → 点 → 再截图验证
感知—操作闭环:AI 截图看屏幕、按你说的点按输入、再截图确认结果。
1

在 AI 客户端里注册一段配置

以 Claude Code / Cursor 为例,在 MCP 配置里加入下面这段 JSON(把路径换成你自己的项目位置;macOS / Linux 把 Scripts 换成 bin):

{
  "mcpServers": {
    "android-rpa": {
      "command": "E:/android-rpa/.venv/Scripts/python.exe",
      "args": ["E:/android-rpa/mcp_server.py"]
    }
  }
}
2

像使唤助理一样使唤它

配置好之后,直接对 AI 说:「帮我看看手机现在什么页面」「帮我在微信里给 XX 发条消息」「把当前页面截图给我看看」。它会自己完成截图 → 读屏 → 点击 → 验证的全过程。

C.它手里有哪些遥控器

能力对应的工具受急停保护
实时截图phone_screenshot—(只读,急停仍可用)
读屏幕文字与坐标phone_ui_texts—(只读)
按坐标 / 按文字点击phone_tap / phone_tap_text✓
上下左右滑动phone_swipe✓
输入中文文字phone_input_text✓
返回 / Home / 回车phone_key✓
启动 App / 等待phone_start_app / phone_wait✓
设置 / 清除急停phone_request_stop / phone_resume—
安心第四章的急停在这里同样有效:INTERRUPT 开关一开,AI 的所有写操作(点击、滑动、输入)都会被当场拒绝,只保留「看」的能力。
Chapitre VI · 好聚好散
VI

不用了,怎么卸干净

本项目对手机的全部改动只有两样:一个叫 ATX 的助手 App,和 /data/local/tmp/ 下的一个组件文件。两条命令清干净,手机恢复出厂般的清净。

adb uninstall com.github.uiautomator
adb shell rm /data/local/tmp/u2.jar

然后回到手机的开发人员选项,把「USB 调试」开关关掉(甚至整个开发者模式停用),拔线收工。电脑这边只需删掉项目文件夹,不留任何残余。

认一认ATX App 的图标就在手机桌面上,名字是「ATX」,卸载后图标随之消失。
Questions · 答疑
?

常见问题

adb devices 显示一片空白,电脑「看不见」手机?

按命中率排查:① 数据线——很多线只能充电,换一根确定能传数据的;② 手机弹窗——插线后手机有没有弹「允许 USB 调试」,没弹就把手机屏幕点亮、下拉通知栏把 USB 用途改成「传输文件」再重插;③ 华为专属开关——「仅充电模式下允许 ADB 调试」也要打开;④ 终极手段——手机和电脑各重启一次,玄学但有效。

显示 unauthorized(未授权)是什么意思?

电脑看见手机了,但手机还没点头。解锁手机屏幕,重新插拔一次数据线,在弹窗里勾选「一律允许」再点「允许」即可。

运行时报「未检测到设备」?

就是上面两个问题的另一种说法。先把 adb devices 调通(能看到 device 字样),脚本自然就能连上。多台手机同时连着时,用环境变量 ANDROID_RPA_SERIAL 或 config_local.py 指定要控制哪一台。

脚本会不会把我的账号搞封?

有风险,务必敬畏。脚本已内置随机延迟、概率性「分神」、单轮操作上限等拟人设计,但 BOSS直聘、微信都有自动化检测。守三条底线:用小号先试、保持低频、话术别所有人发同一句。账号被限制的代价远大于省下的时间。

跑着跑着提示「未找到控件」?

多半是 App 更新了界面文字或布局。项目自带调试利器 weditor:pip install weditor 后运行 python -m weditor,浏览器打开 http://localhost:17310,就能实时看到手机每个控件的名字,把新名字更新进 apps/*.py 的 find(...) 里即可。

我的 iPhone 可以吗?

不可以。这套方案基于安卓官方的 adb 与无障碍控件体系,iOS 是完全封闭的另一套体系。安卓手机(含 HarmonyOS)都没问题。

手机上多出来的「ATX」是什么?可以删吗?

它是 python -m uiautomator2 init 装上的「传令兵」,电脑靠它把指令翻译给手机。删了脚本就失灵;想彻底清理按第六章两条命令操作。