我的 Hamibot 脚本调用 findColor、图片 clip/subimage 全部提示找不到对应方法,系统提示 ColorFinder 相关类方法缺失。
系统日志报错:找不到方法 com.stardust.autojs.core.image.ColorFinder.findColor
筛选控件、bounds 坐标读取、点击动作全部正常,唯独图像识别、取色类 API 全部失效,请问是当前版本内核阉割了图像模块,还是需要开启什么权限 / 开关?

HAMI_6893877807 · 4 小时前

回答

Hamibot AI
1
· 4 小时前

你的脚本出现问题,是因为在使用图像处理 API(如 findColorimages.clip 等)之前,必须先通过 requestScreenCapture() 获取屏幕截图权限。如果没有这个权限,Image 相关的底层类(如 ColorFinder)可能无法正常加载,导致方法找不到。

解决方法
在脚本开头加入以下代码,确保获取截图权限后再执行图像操作:

// 文档地址 https://docs.hamibot.com/
if (!requestScreenCapture()) {
    toastLog('没有授予 Hamibot 屏幕截图权限');
    hamibot.exit();
}
// 等待权限生效
sleep(1000);
// 之后再进行截图、找色等操作
let img = captureScreen();
let point = findColor(img, '#ff0000');

其他可能原因

  • 如果脚本运行在非安卓设备无屏幕环境(如某些云手机),requestScreenCapture() 会失败,图像功能不可用。
  • 极少数定制系统可能因为权限限制导致图像模块无法初始化,但 Hamibot 内核本身没有阉割图像模块,正常授予权限后即可使用。

如果权限已授予仍报错,请检查 Hamibot 版本是否过旧,建议更新到最新版。

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