开发环境说明
界面用 JSON 和 page.js 描述,适合交给 AI 生成;自动化写在 tasks/*.js。只跑脚本时不必写 pages/。
Android 版本
支持 Android 8.0 及以上(API 26+):

权限
自动化任务默认需要:
| 权限 | 用途 | 是否必需 |
|---|---|---|
| 无障碍服务 | 查找节点、点击、输入、滑动 | 必需 |
| 悬浮窗权限 | 屏幕常亮、后台弹窗、运行计时;开发器里连点两次停止任务;进入项目后可展开菜单停止 | 必需 |
| 后台弹窗权限 | 部分机型从后台拉起其它 App | 建议开启 |
图色查找、通知读取、媒体、文件等按业务再开,见 基础权限。示例工程把检查收在 common/permission.js;有界面时,页面里执行脚本前先过无障碍和悬浮窗。无界面时,任务脚本开头自己做同样的检查即可。
JavaScript 引擎
底层是 Rhino 1.8。page.js、自定义组件 JS、tasks/ 里的脚本都是这份引擎。
- 可以直接调 Java 对象
setTimeout/setInterval/console/Promise可用- ES 语法以 Rhino 兼容表 为准
工程里有什么
| 文件 | 作用 |
|---|---|
deekeScript.json | 必须有,用来识别工程。做界面时再写首页、底栏、全局窗口 |
pages/<id>/page.json | 这一页的结构(可让 AI 生成) |
pages/<id>/page.js | Page({}):数据、生命周期、点击 |
components/<id>/ | 可选。自定义组件(component.json + component.js) |
tasks/*.js | 自动化任务。VSCode「仅当前文件执行」,或页面里 Engines.executeScript |
common/*.js | 公共模块,require('common/xxx.js') |
真正点选节点的逻辑写在 tasks/,不要写在 JSON 的 action 里。page.js 只服务界面,打开该页时才加载。
模块化、异步、多线程见 模块、异步、多线程。require 规则见 require。
网络与工具
Http、WebSocket、Socket.IO 页面脚本和任务脚本都能用。开发时用 VSCode 插件连手机。只跑脚本:同步或「仅当前文件执行」即可。正在看的那一页,保存对应的 page.json / page.js(或该页已嵌入的自定义组件)后,手机会自动热更新。JSON 或 JS 写坏了会保留更新前的界面,错误(含文件和行列)发到 VSCode 控制台和手机日志,改好再保存才会换成新的。
操作步骤以 Vscode开发篇 为准。
