Apache 2.0 开源

Android 自动化
基于 Lua 脚本

Lynx 是一个面向 Android 的 Lua 脚本自动化平台,兼容懒人精灵 API。
无需客户端 APK,通过 adb + HTTP 调试接口实现实时交互与远程控制。

核心能力

从底层设备控制到上层脚本引擎,覆盖自动化全链路

Lua 5.4 脚本引擎

基于 Rust mlua 的高性能运行时,50+ 内置 API,支持脚本暂停/取消/重启

HTTP 调试 API

内嵌 NanoHTTPD 服务器 (端口 3465),支持 adb forward 实时调试与资源管理

无障碍服务自动化

完整 AccessibilityService,30+ 节点选择器,手势分发与节点树序列化

触控 / 输入模拟

支持 tap、swipe、多点触控、按键注入、文本输入,无障碍与 Root 双模式

视觉 / OCR 识别

三种截图后端,像素取色、多点找色、模板匹配,支持 OCR 文字识别

MQTT 远程管理

前台 MQTT 服务,设备状态上报、远程命令下发,加密凭证持久化存储

加密与安全

AES (ECB/CBC/CFB/OFB/CTR) + RSA (PKCS#1 v1.5),文件系统沙箱隔离

HUD 悬浮层

可拖拽悬浮控制栏,脚本运行/取消/暂停按钮,自定义 HUD 覆盖文字

原生插件系统

动态加载 extern "C" Rust .so 插件,通过 rustbridge.call() 热扩展

三层架构

Android 宿主 + Rust 引擎 + IntelliJ 插件,各司其职

Android App

Jetpack Compose 现代 UI,无障碍服务 + 前台 Service,NanoHTTPD 调试服务器

Kotlin Compose OkHttp NanoHTTPD MQTT JNI

Rust 原生引擎

mlua Lua 5.4 运行时,15+ 桥接模块,跨平台交叉编译

Rust mlua JNI serde cargo-ndk

IntelliJ IDEA 插件

设备管理、Lua 代码补全、项目向导、一键运行配置

Kotlin IntelliJ SDK EmmyLua2 ADB

IDE 插件

在 IntelliJ / Android Studio 中完成全流程开发

01

设备管理工具窗口

刷新 ADB 设备、端口转发、APK 部署、截图捕获,可拖拽分割面板与可折叠输出区域

02

运行配置

自定义 Run Configuration,选择项目根目录、入口文件和 ADB 目标设备,一键部署运行

03

Lua 代码自动补全

基于 EmmyLua2 PSI 解析器,自动从 Rust 桥接源码生成 162 个 API 函数的补全提示

04

Lynx 项目向导

New → Lynx Lua 项目,自动生成 lynx.toml 配置 + src/main.lua 入口模板

快速开始

三种方式使用 Lynx

1

直接安装 APK

下载 Debug APK 安装到设备,开启无障碍服务,通过 adb forward 连接 IDE 插件进行调试

# 端口转发
adb forward tcp:3465 tcp:3465
# 运行脚本
curl -X POST http://localhost:3465/v1/run \
  -H "Content-Type: application/json" \
  -d '{"script":"print(\"hello lynx\")"}'
2

IntelliJ IDEA 插件

安装 Lynx 插件到 IntelliJ IDEA 或 Android Studio,从 IDE 内管理设备、编辑脚本、一键运行

# 构建插件
./gradlew :lynx-ide-plugin:buildPlugin
# 启动沙箱 IDE
./gradlew :lynx-ide-plugin:runIde
3

MQTT 远程控制

设备注册到 MQTT Broker,通过云端远程下发脚本、获取状态,适合批量设备管理场景

50+
Lua API 函数
15+
桥接模块
3
捕获模式
162
自动补全项