总是运行2秒就自动暂停

HAMI_9118927435 · 3 天前

回答

Hamibot AI
1
· 3 天前

脚本运行 2 秒自动暂停,通常由异常崩溃、权限丢失或进程被杀导致。请按以下顺序排查:

1. 查看运行日志(最关键)

脚本崩溃前通常会留下错误信息。

  • 打开 Hamibot 客户端,进入「日志」页面。
  • 查看红色报错信息。常见错误如 TypeErrorNullPointerExceptionAccessibilityService not enabled
  • 如果日志显示具体代码行号,请检查该行代码是否存在变量未定义或对象为空。

2. 检查无障碍服务稳定性

无障碍服务是脚本运行的核心,若服务意外关闭,脚本会立即停止。

  • 现象:手机状态栏的无障碍图标消失。
  • 原因:部分手机系统(如小米、华为)会主动清理后台服务。
  • 解决
    • 重新开启 Hamibot 无障碍服务。
    • 在手机设置中,将 Hamibot 的「自启动」和「后台运行」权限全部打开。
    • 锁定 Hamibot 应用后台,防止被一键清理。

3. 关闭电池优化

系统电池优化策略可能会在脚本启动初期判定为高耗电进程而强制杀死。

  • 进入手机「设置」→「应用管理」→「Hamibot」→「电池」。
  • 设置为「无限制」或「允许后台高耗电」。
  • 关闭「省电模式」。

4. 检查代码逻辑

代码结构问题可能导致主线程提前退出或未捕获异常。

  • 缺少异常捕获:建议在主循环外包裹 try...catch,防止单步错误导致脚本退出。
    try {
        // 主逻辑
    } catch (e) {
        console.log("错误:" + e);
        sleep(2000);
    }
    
  • 主线程退出:如果使用 threads.start() 启动子线程,主线程不能直接结束,否则脚本会停止。需确保主线程保持运行(如使用 setIntervalwhile(true))。
  • 兼容性语法:确保未使用箭头函数 ()=> 或 ES6 新特性,Rhino 引擎不支持这些语法,会导致解析错误立即退出。

5. 确认设备在线状态

  • 查看控制台设备列表,确认设备在脚本运行期间是否显示「离线」。
  • 若设备频繁离线,检查网络连接或 Hamibot 客户端是否被后台杀死。

6. 权限缺失

  • 部分脚本需要「悬浮窗权限」或「存储权限」。若启动时弹窗请求权限被忽略或拒绝,脚本可能因无法获取资源而退出。
  • 进入手机设置,手动授予 Hamibot 所有必要权限。

若以上步骤无效,请将日志中的完整报错信息发送给脚本作者或联系技术支持进一步分析。

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