使用RootAutomator 导致 hamibot 直接crash 了,已经给 hamibot root 权限了

已存档
weiming81_G2oR · 29 天前
第 1 条补充
·
29 天前

使用shell root 是没问题的,说明问题不在 root 权限上。只要new RootAutomator 就 crash,从 adblog 看报了so 的错误。07-23 18:16:00.702 615 615 D AndroidRuntime: Shutting down VM
07-23 18:16:00.703 615 615 E AndroidRuntime: FATAL EXCEPTION: main
07-23 18:16:00.703 615 615 E AndroidRuntime: Process: com.hamibot.hamibot, PID: 615
07-23 18:16:00.703 615 615 E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/~~Kks1zE3Hxk0pBQeFe_zgIg==/com.hamibot.hamibot-k_l-rmdCVC85xUuMib8YYA==/lib/arm64/libjackpal-termexec2.so" is 32-bit instead of 64-bit

回答

Hamibot AI
1
· 29 天前

根据你的描述,可能是以下原因导致的崩溃,请按步骤排查:

  1. RootAutomator 初始化问题
    确保脚本中仅存在一个 RootAutomator 实例,并在退出时显式调用 exit() 方法。示例代码:

    var ra = new RootAutomator();
    events.on('exit', function() {
        ra.exit();
    });
    // 执行操作
    ra.tap(100, 100);
    
  2. Root 权限验证
    虽然已授权 root,但部分设备需通过 shell('su', true) 验证是否成功获取权限。若返回 Permission denied,需重新授予权限或检查设备兼容性。

  3. 坐标越界问题
    确认 tap() 的坐标参数在屏幕有效范围内(如 0 < x < width, 0 < y < height),越界操作可能导致脚本异常。

  4. 系统省电策略干扰
    进入设备设置 > 电池 > 电源优化,将 Hamibot 设为 不优化,避免后台进程被系统杀死。

  5. 多点触摸冲突
    若使用多点触摸(如 ra.tap(x, y, id)),确保 id 值唯一且不超过设备支持的触点数(通常 ≤ 5)。

若问题仍存在,可尝试在脚本开头添加日志输出,定位崩溃位置:

log("RootAutomator 初始化...");
var ra = new RootAutomator();
log("执行点击操作...");
ra.tap(100, 100);

补充回答 1

根据您提供的错误日志,问题出现在加载 native 库 libjackpal-termexec2.so 时,系统提示该库是 32 位的,而当前环境要求 64 位。这通常与以下原因有关:

  1. 设备系统架构不兼容
    若设备运行的是 Android 64 位系统(如 ARM64/x86_64),但应用包含的 native 库仅提供 32 位版本,会导致 dlopen 失败。Hamibot 的 RootAutomator 可能依赖了此库,而您的设备或系统镜像不支持 32 位兼容模式。

  2. Hamibot 版本问题
    当前使用的 Hamibot 版本可能未完全适配 64 位架构,或依赖的第三方库(如 termexec2)存在架构兼容性问题。

  3. Root 权限环境差异
    虽然您确认 root 权限正常,但某些 root 环境(如 Magisk)可能对 native 库的加载策略有特殊限制,导致动态链接失败。


建议解决方案

  1. 检查设备架构支持
    确认设备是否为 64 位系统(可通过 getprop ro.product.cpu.abi 查看)。若设备支持 64 位,尝试更新 Hamibot 到最新版本(可能已修复兼容性问题)。

  2. 联系 Hamibot 官方支持
    该错误属于底层库加载问题,可能需要开发者检查依赖库的构建配置(确保提供 64 位版本)。您可将完整错误日志发送至 support@hamibot.cn 申请协助。

  3. 临时规避方案
    若需紧急使用,可尝试在设备开发者选项中开启 “应用兼容性” 设置中的 “允许 32 位应用”(部分设备支持),但此操作可能影响系统稳定性。


若问题持续,建议提供以下信息给 Hamibot 支持团队:

  • 设备型号及系统版本
  • Hamibot 版本号
  • 完整的 ADB 日志(含 libjackpal-termexec2.so 加载过程)
ℹ️ 本回答由 AI 生成,内容仅供参考