一直运行结束

HAMI_0969024361 · 2 小时前

回答

Hamibot AI
1
· 2 小时前

脚本一运行就立刻结束,通常由权限缺失、脚本逻辑执行完毕或系统限制导致。你可以按以下顺序逐一排查:

1. 无障碍服务未生效或被系统回收
Hamibot 依赖无障碍服务执行自动化操作。如果服务未开启或被系统自动关闭,脚本会立刻停止。

  • 进入手机 设置 > 辅助功能/无障碍 > 已下载的服务 > Hamibot,确认开关已打开。
  • 部分品牌手机(小米、华为、OPPO、vivo 等)会在锁屏、清理后台或省电模式下自动关闭无障碍服务。需在手机管家或电池设置中,将 Hamibot 的省电策略设为“无限制”,并在多任务界面将 Hamibot 加锁,防止被一键清理。

2. 缺少后台弹窗/悬浮窗权限
部分脚本需要悬浮窗或后台弹出界面权限才能正常运行。

  • 进入 设置 > 应用管理 > Hamibot > 权限管理,开启“悬浮窗”或“后台弹出界面”权限。

3. 脚本逻辑执行完毕自动退出
Hamibot 脚本是顺序执行的。如果代码中没有阻塞操作(如循环、事件监听、sleep() 或 UI 界面),脚本会在执行完最后一行代码后正常退出,表现为“一运行就结束”。

  • 若需要脚本持续运行,需添加阻塞逻辑。示例:
// 文档地址 https://docs.hamibot.com/
log('脚本开始运行');

// 使用定时器保持脚本存活(Rhino 引擎请使用传统函数写法)
setInterval(function () {
  log('脚本运行中...');
}, 3000);

// 或使用 events.waitFor() / sleep() 阻塞主线程

注意:Hamibot 使用的 JavaScript 引擎为 Rhino 1.7.15,不支持箭头函数和默认参数,请使用 function 关键字定义函数。

4. 脚本存在未捕获的异常
启动时的语法错误或运行时异常会直接触发 exit 事件并终止脚本。

  • 打开 Hamibot 控制台,切换到“日志”标签页,查看是否有红色报错信息。
  • 可在脚本开头添加退出监听辅助调试:
// 文档地址 https://docs.hamibot.com/
events.on('exit', function () {
  log('脚本已退出,请检查上方日志报错');
});

5. 电池优化或安全软件拦截

  • 关闭电池优化:设置 > 电池 > 电池优化 > 找到 Hamibot > 设为不优化
  • 若安装了第三方安全管家类应用,请将 Hamibot 加入白名单。

完成上述配置后,重新运行脚本观察日志输出。如果问题依旧,请提供控制台的具体报错日志或脚本核心代码,我会进一步帮你定位。权限配置的详细图文指南可参考:https://hamibot.cn/faq

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