AutoGo ScriptEngine
AutoGo 的脚本引擎扩展方案,为 AutoGo 提供 JavaScript 和 Lua 脚本语言支持,让开发者可以用熟悉的脚本语言编写自动化任务。
为什么选择 ScriptEngine
- 降低准入门槛 - 使用脚本语言开发,无需深入理解 Go 语言和 Android 开发,降低学习成本
- 代码保护 - 脚本代码易于混淆加密,有效保护业务逻辑
- 热更新支持 - 脚本可动态加载,无需重新编译即可更新功能
功能特性
- 双引擎支持:同时支持 JavaScript 和 Lua 脚本语言
- 丰富的 API:提供应用管理、设备控制、图像识别、OCR 等多种功能
- 方法注册系统:支持动态注册、重写和恢复方法
- 协程支持:Lua 引擎支持协程操作
- 文档生成:可自动生成 API 文档
安装
go get github.com/ZingYao/autogo_scriptengine@v0.0.5
📚 详细文档
🔥 重要提示:查看以下详细文档以获取完整的 API 参考和使用指南
🌐 HTML 在线文档
推荐:查看美观的 HTML 在线文档,提供更好的阅读体验
使用方法:
# 生成/更新 HTML 文档
python3 scripts/convert_to_html.py
📖 Markdown 文档
如果您更喜欢阅读 Markdown 格式的文档,可以查看以下链接:
JavaScript 引擎文档
模块文档
📖 Lua 引擎文档
核心文档
模块文档
环境要求
- Go 1.25.4 或更高版本
- AutoGo 框架(已在项目中集成)
- Android 设备(用于实际运行自动化脚本)
兼容性说明
Android 版本兼容性
某些依赖包在特定的 Android 版本下可能会出现内存引用错误(Memory Reference Error)。如果遇到此类问题,可以尝试以下解决方案:
- 修改引入的包:根据您的 Android 版本,可以修改项目中引入的相关包
- 禁用问题模块:在引擎配置中禁用导致问题的特定模块
- 使用替代方案:某些功能可能有多种实现方式,可以尝试使用替代方案
Windows 开发环境
在 Windows 环境下开发时,如果引入了某些使用 C 语言的包,可能会遇到以下错误:
The command line is too long.
这是 Windows 命令行长度限制导致的。解决方案:
- 避免引入问题包:尽量减少使用包含 C 代码的依赖包
- 使用 WSL:在 Windows Subsystem for Linux (WSL) 环境中开发
- 调整项目结构:将项目拆分为多个子项目,减少单个项目的依赖复杂度
常见问题处理
如果遇到兼容性问题,建议:
- 检查您的 Android 设备版本和 SDK 版本
- 查看项目的 GitHub Issues,了解已知的兼容性问题
- 根据错误信息调整配置或代码
- 如有必要,可以 Fork 项目并根据您的环境进行修改
依赖
与 AutoGo 的关系
本项目是 AutoGo 的扩展方案,通过封装 AutoGo 提供的原生 API,为开发者提供更灵活的脚本编写方式:
- AutoGo - 提供 Android 自动化的核心能力(无障碍服务、图像识别、触摸模拟等)
- ScriptEngine - 为 AutoGo 添加脚本语言支持,让开发者可以用 JavaScript 或 Lua 编写自动化脚本
许可证
MIT License