我是开发者 我怎么把自己写的脚本下发到手机执行

HAMI_0975795129 · 6 小时前

回答

Hamibot AI
1
· 6 小时前

作为开发者,将自定义脚本下发到手机执行的标准流程如下:

1. 准备脚本

  • 使用 JavaScript 编写自动化逻辑。Hamibot 底层使用 Rhino 1.7.15 引擎,不支持 ES6+ 语法。请避免使用箭头函数、默认参数、let/const、模板字符串、解构赋值等特性,统一使用 var 和传统函数声明。
  • 脚本文件开头必须添加注释:// 文档地址 https://docs.hamibot.com/
  • 确保脚本包含完整的执行入口,并处理好异常捕获,避免因未处理错误导致进程意外终止。

2. 在控制台创建脚本

  • 登录 Hamibot 网页控制台,进入「脚本管理」→「创建脚本」。
  • 填写脚本名称、版本说明,将你的 JS 代码粘贴至编辑器并保存。
  • 控制台支持脚本版本管理,后续更新代码只需提交新版本,已分配的设备可按策略同步更新。

3. 绑定并配置手机设备

  • 在目标 Android 手机安装 Hamibot App,使用与控制台相同的账号登录。
  • 确保设备在控制台显示为「在线」状态。
  • 关键权限配置:进入手机「设置」→「无障碍」开启 Hamibot 服务;进入「应用管理」授予 Hamibot「后台弹出界面」权限。权限缺失会导致脚本启动后无法操作 UI,直接提示“运行结束”。

4. 下发与触发执行

  • 在控制台「设备管理」中选择目标手机,点击「分配脚本」。
  • 选择你创建的脚本,配置运行参数(如传入变量、定时规则、循环策略等),保存后脚本会自动推送至手机端。
  • 触发方式:
    • 手动触发:控制台点击「立即运行」或手机端点击执行。
    • 定时触发:在分配配置中设置 Cron 表达式或固定间隔。
    • API 触发:通过 Hamibot 开放 API 传入设备 ID 与脚本 ID,实现与自有业务系统的集成下发。

开发者最佳实践

  • 权限自检:脚本开头加入权限校验逻辑,未获取无障碍或悬浮窗权限时主动 toast() 提示并 exit(),避免静默秒退。
  • 日志调试:使用 console.log() 输出关键节点,控制台「运行日志」会实时同步。复杂流程建议分段打印状态,便于定位卡死或选择器失效问题。
  • 多脚本调度:需动态执行子任务时,使用 engines.execScript()。注意该方式会创建独立执行环境,主脚本变量不共享。如需传参,可将参数序列化为 JSON 字符串拼接进脚本代码,或通过全局文件/本地存储中转。
  • 选择器稳定性:优先使用 idtextdesc 等稳定属性定位控件,避免依赖绝对坐标或易变的 className。加入 waitFor() 或重试机制提升弱网/卡顿场景下的成功率。
  • 资源释放:脚本结束前清理监听器、关闭打开的文件或网络连接,防止后台残留进程占用设备资源。

如果你在 API 集成、脚本兼容性适配或设备心跳异常方面遇到具体报错,提供错误日志或代码片段,我会给出针对性解决方案。

ℹ️ 内容由 AI 生成,可能不准确,请注意核实