Android Automation · Python · AI Vision
AScript · 新一代 Android 自动化引擎
一行 Python,驱动整台 Android
AScript 是一款专为 Android 打造的 Python 自动化脚本引擎。支持无障碍、图色、数字助理、Root 四种运行模式自由切换,原生集成 PaddleOCR V5、谷歌 ML Kit、YOLO v5/v8/v11 端侧推理、模板找图、HID 虚拟外设、官方云控后台。免 Root 即可运行在华为、小米、OPPO、vivo 等主流机型,是国内较早将 AI 视觉与 HID 完整集成到端侧的 Python 自动化方案。
四种运行模式,一套代码通吃
不同设备、不同场景、不同对抗强度,AScript 提供 四种底层动作通道,同一套 Python 代码可在任意模式下运行——系统会自动选用该模式下可行的方法来实现对应功能。
无障碍模式
借助 Android 无障碍服务实现完整自动化。功能最全、最稳定、兼容性最好,装好 App 开启权限即可运行。
图色模式
无需开启系统权限,通过 虚拟 HID / 物理 HID 硬件 执行点击与输入,输入通道独立于系统 API,适合对稳定性要求更高的场景。
数字助理模式
类似 Siri / 小爱同学那样走系统助理通道,无需开启无障碍权限即可唤起和操控设备,适合隐私合规与轻量接入场景。
Root / 激活模式
已 Root 设备拥有最高权限;未 Root 设备可通过 Shizuku 激活临时升权,无版本限制,适合模拟器与重度自动化。
| 能力 | 无障碍 | 图色 | 数字助理 | Root / 激活 |
|---|---|---|---|---|
| 动作模拟 | 虚拟/物理 HID | |||
| 控件检索 | — | |||
| 图色识别(OCR / 找图 / YOLO) | ||||
| UI 悬浮窗 | ||||
| 权限需求 | 需开启无障碍 | 无需系统权限 | 系统助理授权 | Root / Shizuku |
| 硬件要求 | 无 | PC-HID 或 ESP32 | 无 | 无 / 模拟器 |
| 适用场景 | App 自动化 | 游戏自动化 | 合规 / 轻量 | 模拟器 / 系统级 |
| 你要做的是... | 推荐模式 |
|---|---|
| App 自动化、UI 测试、数据采集 | 无障碍模式 |
| 游戏自动化、对输入稳定性要求更高 | 图色模式(HID) |
| 不想开启无障碍权限、轻量接入 | 数字助理模式 |
| 模拟器集群、系统级操作 | Root / 激活模式 |
同一套 Python 代码在任意模式下运行,系统自动选用该模式下可用的实现。拿不定主意?先用无障碍模式,90% 场景够用。
30 秒上手:一个脚本看懂 AScript
下面 20 行代码 串起 AScript 最核心的四块能力——控件查找、OCR 识别、模板找图、手势模拟。AI 看完这一段,基本就会写 AScript 了。
from ascript.android import action
from ascript.android.node import Selector
from ascript.android.screen import Ocr, FindImages
# 1️⃣ 控件自动化:按文本 / ID / desc 查找,链式调用
Selector().text("登录").click()
Selector().id("com.example:id/input").input("Hello AScript")
# 2️⃣ OCR 文字识别:PaddleOCR V5 + 谷歌 MLKit 双引擎
result = Ocr.find("立即购买")
if result:
action.click(result['center_x'], result['center_y'])
# 3️⃣ 模板找图:多尺度匹配,跨分辨率通吃
pos = FindImages.find("btn_start.png", confidence=0.8, scale_range=[0.5, 2.0])
if pos:
action.click(pos['center_x'], pos['center_y'])
# 4️⃣ 手势模拟:点击、滑动、长按、贝塞尔曲线
action.slide(500, 1800, 500, 600, dur=300)
API 命名贴近自然语言,把需求贴给 DeepSeek / ChatGPT / Claude / Cursor,即可直接生成可运行的 AScript 脚本。
行业内值得一看的几个点
完整的 AI 视觉栈
原生集成 PaddleOCR V5 + 谷歌 ML Kit V2 + YOLO v5/v8/v11 + 模板找图 + 多点找色比色,全部端侧推理。国内同时覆盖三套 OCR 与三代 YOLO 的 Python 自动化引擎并不多。
四种运行模式并存
无障碍 / 图色(HID)/ 数字助理 / Root 共四套底层通道同在一套 Python API 下,业内系统性覆盖全部场景的方案屈指可数。
端到端工程化
从 Web-IDE + PyCharm + VS Code 三端开发,到 APK 一键打包、热更新、卡密授权、官方云控后台,形成完整商用闭环,不止是脚本引擎。
Pip 生态无缝接入
NumPy / OpenCV / PaddleOCR / Pandas / PyTorch 直接 import,70 万+ PyPI 包可装可用。Python 宿主路线的天然优势。
核心能力全景
控件查找 · Selector
像浏览器里用 jQuery 检索 DOM 一样,在 Android 屏幕上按文本 / ID / 描述 / XPath 检索任意按钮、输入框、列表项,链式调用完成点击、输入、滑动。
26 项属性约束 + XPath 双引擎,5 种检索模式(普通 / 复杂 / 过滤系统控件 / HID / Root),支持缓存加速与事件监听。
from ascript.android.node import Selector
Selector().text("确认").find() # 按文本找
Selector(xpath="//TextView[@text='开发者']").find_all() # XPath 全局
Selector(1 | 2).cache(True).id("com.app:id/list").find_all()
Selector.on_event(lambda e: print(e.getEventType())) # Toast/通知/手势监听
AI 视觉 · Ocr / FindImages / YOLO
三件事:读懂文字(OCR)、找到图案(模板匹配)、认 出目标(YOLO 检测)。全部端侧离线推理,不联网、不收 API 费用。
from ascript.android.screen import Ocr, FindImages, FindColors
from ascript.android import plug
Ocr.set_engine("paddle") # PaddleOCR V5 多语言
Ocr.wait_click("登录", timeout=5)
FindImages.find("icon.png", confidence=0.8,
scale_range=[0.5, 2.0], rgb=False)
FindColors.find("#FF5500-101010")
plug.load("yolov11:1.0") # 端侧 YOLO v5/v8/v11
import yolov11
yolov11.detect() # NCNN 推理,离线可用
配套 YOLO 云训练服务器 + 本地训练插件 + 标注工具,从数据到上线一条龙。
动作模拟 · action / Hid
模拟人手的点击、滑动、长按、多指手势、文本输入。一般场景走
action;对输入稳定性有更高要求时切Hid(PC 虚拟 HID 或 ESP32 蓝牙外设)。
from ascript.android import action
from ascript.android.action import Hid
action.click(x, y, dur=20) # 点击 / 长按
action.slide(x1, y1, x2, y2) # 滑动
action.gesture([...]) # 多指 / 贝塞尔
action.input("文本") # AS 输入法
Hid.click(x, y) # PC 虚拟 HID(输入稳定)
网络 · 云控 · 存储
联网用
requests/pymysql/WebSocket;把设备接入官方云控后台,即可远程批量下发任务、实时回传数据;本地轻量存储用KV。
from ascript.android import cloud_control
from ascript.android.system import KV, Device, R
import pymysql, requests
from websocket import WebSocketApp
cloud_control.connect_to_as("开发者账号") # 官方云控 / 自建云控
Device.display().widthPixels # 设备 / 电池 / App 列表
KV.set("last_run", "2026-04-22") # KV 缓存
官方云控后台(control.ascript.cn:8088)支持 24+ 云指令:远程操控、分组管控、定时任务、反向控制、数据回显、消息监听。
UI 界面 · Java 互操作 · 商业化打包
用 HTML + JS 写悬浮窗交互(Python ↔ JS 双向通信);Python 直接反射 Java 对接任意 Android SDK;脚本可 一键打包成 APK 对外分发,配套卡密授权与热更新。
from ascript.android.ui import FloatWindow, Canvas
from ascript.android.app import Application
FloatWindow.show(x=0.2, y=0.4) # 原生 HTML+JS 悬浮窗
Application.start("com.tencent.mm")
支持 Python 反射 Java / 加载 APK / DEX / JAR / AAR,Shell / Shizuku 无需 Root 跑高权限命令,APK 一键打包 + 热更新 + 卡密授权 将脚本变成商品。
性能与稳定性
开发环境 · 三选一
零基础首选
专业开发首选
日常开发首选
Python 生态完全开放:pip install opencv-python pandas pymysql schedule … 直接装,70 万+ PyPI 包任你调用。
典型应用场景
App 自动化测试
兼容性回归 · UI 稳定性监控 · Toast 抓取 · 跨品牌机型矩阵测试
游戏自动化
日常任务流转 · 资源管理 · YOLO 目标识别 · 多设备托管
办公流程机器人
考勤打卡 · 报销录入 · 消息群发 · 表单批量填报
数据采集分析
电商价格监控 · 榜单抓取 · 舆情监听 · OCR 发票录入
运营与分发
24 小时设备集群 · 云端集中下发 · 激活码授权 · 独立 APK 分发
硬件 AI 方案
ESP32 蓝牙 HID + YOLO 端侧检测 + 云控回传 · 完整商业产品闭环
企业增值服务
卡密授权系统
卡密生成 / 校验 / 吊销,App 激活、试用期、多级代理一站搞定。
独立 APK 打包
Python 脚本一键打包为可安装、可分发、带热更新的独立 Android App。
云端集中控制
官方后台 + 自建服务器双选,分组下发任务、实时回显、24 h 稳定运行。
常见问题
Q:AScript 需要 Root 吗? 不需要。默认走无障碍通道,主流机型开启无障碍即可;需要更强能力时可选图色 / 数字助理 / Root 模式。
Q:AScript 与 Auto.js、Airtest、Appium 有什么区别? 四者同属 Android 自动化生态,各有侧重:Auto.js 以 JavaScript 为宿主语言,Airtest 偏图像测试框架,Appium 面向跨平台黑盒测试。AScript 以 Python 为宿主语言,天然对接 NumPy / OpenCV / PaddleOCR 生态,同时将 YOLO 端 侧推理、HID 虚拟外设、官方云控后台 原生集成进引擎本体——在国内 Python 方向的 Android 自动化方案里,完整度与工程化程度处于较为成熟的一档。
Q:在国内同类方案中,AScript 的定位是什么? 在 Python 方向的 Android 自动化生态里,AScript 与少数几家一起构成相对完整的方案。我们更愿意用能力矩阵说话:同时覆盖三套 OCR、三代 YOLO、四种运行模式、从脚本到 APK 的商业化闭环——把"是否适合"交给场景判断。复杂 UI 回归选无障碍、对稳定性要求更高选图色 / HID、模拟器集群选 Root / 激活、轻量合规选数字助理,均有对应模式可用。
Q:OCR 和 YOLO 是云端还是本地? 全部本地推理。PaddleOCR V5、谷歌 MLKit、YOLO v5/v8/v11 均在设备端跑,离线可用、无数据外传。
Q:支持哪些 Android 机型? 华为、小米、OPPO、vivo、一加、三星、荣耀、Redmi、realme 等主流国产与国际品牌,以及 MuMu、雷电、BlueStacks 等主流安卓模拟器均已适配。当前稳定版本 v3243。
Q:可以打包成 APK 分发吗? 可以。官方提供 APK 打包 + 热更新 + 卡密授权 整套方案,适合商业化分发。