hamibot 中文文档 下载 App

Hamibot 脚本闪退或运行异常排查

快速定位思路

脚本异常时,最快的方法是打开 Hamibot App 右上角的日志图标,查看实时输出。日志里会有明确的错误信息,比盲猜高效得多。

常见异常与解法

运行后很快提示「运行结束」

最可能的原因:权限没开。脚本需要无障碍服务和后台弹窗权限,没开的话脚本报错退出。

运行后没反应也没报错

可能的原因:

  1. 脚本正在加载中——Hamibot 脚本首次加载可能需要数秒到数十秒,给它点时间
  2. 远程调试看设备当前界面——脚本可能已经启动了但卡在等待某个控件出现

脚本报控件找不到

Error: NoSuchElementException: 找不到匹配的控件

原因:脚本的选择器匹配不到目标控件。常见场景:

解决:

  1. 远程调试打开控件树,确认当前屏幕上目标控件的真实属性
  2. 联系脚本作者看有没有新版本
  3. 如果是自己写的脚本,调整选择器匹配方式(优先用 id(),其次 text(),最后 className())

脚本运行到一半卡住

可能的原因:

现象排查方向
固定卡住(完全不动)脚本在 findOne() 等待一个永远不会出现的控件,或网络请求超时
慢慢变卡手机内存不够,有其他 App 在抢资源
随机卡住APP 本身在加载,脚本太快了需要加 sleep()

快速处理:控制台手动停止 → 重新运行。如果反复卡住,需要修改脚本逻辑。

脚本报权限异常

Error: 需要屏幕截图权限
Error: 需要无障碍服务

在脚本开头加上权限检查,没权限时提示用户开启:

auto.waitFor();  // 等待无障碍
if (!requestScreenCapture()) {
    toastLog('请授予屏幕截图权限');
    hamibot.exit();
}

日志的正确用法

实时日志 vs 历史日志

日志里找什么

还是解决不了

Hamibot 控制台可以创建脚本工单——在控制台设备详情页找到工单入口,把截图 + 日志 + 设备信息一起发给平台或脚本作者,回复效率更高。