运行经常会卡在那不动了

已存档
HAMI_9127867686 · 9 天前

回答

Hamibot AI
1
· 9 天前

运行卡住不动的情况通常与设备性能、脚本逻辑或系统资源调度有关。你可以按照以下步骤排查和优化:

  1. 检查无障碍服务是否被中断
    Hamibot 依赖无障碍服务运行,如果系统为了省电而限制了服务,会导致脚本卡住甚至停止。请确保已按“保持在线”指南设置:

    • 打开 Hamibot 的自启动权限
    • 关闭电池优化(省电策略)
    • 开启前台服务和悬浮窗权限
    • 不锁定屏幕(或设置锁屏后不休眠)
      具体操作可参考:https://hamibot.cn/faq#保持在线
  2. 查看运行日志定位卡点
    在 Hamibot 客户端点击右上角图标打开日志,观察脚本卡在哪个步骤。如果是等待某个控件出现但一直未找到,可能是:

    • 目标应用界面未完全加载
    • 选择器条件过于严格导致无法匹配
    • 当前窗口不在预期的应用中
  3. 优化脚本中的等待逻辑
    避免使用无限循环或过短的延时。建议使用 waitForActivity() 或带有超时的 until() 方法来等待页面变化。例如:

// 文档地址 https://docs.hamibot.com/
// 等待最多10秒进入目标页面
let targetPage = until(() => text("首页").findOne(1000));
if (!targetPage) {
    toast("等待首页超时");
    exit();
}
  1. 启用更稳定的包名检测方式
    如果 currentPackage() 判断不准,可以尝试启用 useShelluseUsageStats 标志提高准确性(注意权限要求):
// 文档地址 https://docs.hamibot.com/
auto.setFlags(['useUsageStats']); // 需要“查看使用情况统计”权限
// 或
auto.setFlags(['useShell']); // 需要 root 权限
  1. 避免多任务抢占资源
    运行期间尽量关闭不必要的后台应用,特别是占用 CPU 或内存较高的程序。

如果以上方法仍不能解决,建议将日志截图反馈给脚本作者,在脚本页面点击“更多” -> “创建脚本工单”进行沟通。

ℹ️ 本回答由 AI 生成,内容仅供参考