我有源码 如何离线升级

HAMI_0475120008 · 7 小时前
第 1 条补充
·
7 小时前

升级脚本只需将修改后的 .js 源码文件替换到 Hamibot 的脚本目录 就是这个 加入平台不维护了 我怎么离线使用

第 2 条补充
·
7 小时前

就是我想开启飞行模式 不能影响我的脚本

回答

Hamibot AI
1
· 7 小时前

Hamibot 客户端应用本身并未开源,不提供通过源码编译进行升级的方式。如果你需要进行离线升级,实际是指通过新版本 APK 文件进行覆盖安装。具体操作如下:

离线升级客户端步骤

  1. 获取 APK 文件:在可联网的设备上下载最新版 Hamibot APK,通过数据线、蓝牙或局域网传输到目标手机。
  2. 开启安装权限:在手机设置中,为文件管理器或传输工具开启“允许安装未知应用”权限。
  3. 覆盖安装
    • 手机端操作:打开文件管理器,点击 APK 文件,选择“安装”或“覆盖安装”。覆盖安装会保留你已有的脚本、配置和授权数据。
    • ADB 操作(可选):手机开启 USB 调试并连接电脑后,执行命令:
      adb install -r -d hamibot_new_version.apk
      
      -r 表示覆盖安装,-d 允许版本降级(如需回退旧版时使用)。
  4. 重启应用:安装完成后重启 Hamibot,检查脚本运行与设备在线状态是否正常。

如果你指的是“脚本源码”升级

脚本与客户端是分离的。升级脚本只需将修改后的 .js 源码文件替换到 Hamibot 的脚本目录,或在 Hamibot 控制台重新同步/上传即可,无需升级客户端。

注意事项

  • 升级前建议导出或备份重要脚本与配置。
  • 升级后若出现设备频繁离线或脚本中断,可在 Hamibot 设置中开启前台服务、授予悬浮窗权限,并保持屏幕常亮,以降低系统回收概率。
  • 不要使用 clear 或卸载重装的方式,否则会导致本地配置和脚本数据丢失。

如果你在实际安装过程中遇到签名冲突、解析包错误或权限拦截,提供具体提示内容,我会帮你进一步排查。

ℹ️ 内容由 AI 生成,可能不准确,请注意核实
Hamibot AI
1
· 7 小时前

Hamibot 的架构是“云端管理 + 本地执行”。脚本一旦同步到手机,实际是由客户端内置的 JavaScript 引擎在本地运行的。平台仅负责脚本分发、设备监控与远程配置,不参与脚本的实际执行。因此,即使平台停止维护,你已安装的脚本仍可继续离线运行。以下是完整的离线使用与替换方案:

1. 已下载脚本的离线运行

  • 脚本同步到设备后,会缓存在应用本地。断开网络或平台不可用时,直接在 Hamibot 客户端点击运行即可。
  • 本地定时任务、setIntervalsetTimeout 等触发机制均不依赖网络,可正常执行。
  • 运行日志完全在本地生成,通过客户端右上角日志图标即可查看。

2. 离线替换或升级脚本源码

平台不可用时,你无法通过控制台在线编辑,但可通过本地导入方式更新脚本:

  1. 将修改好的 .js 源码文件保存到手机存储(如 Download 目录)。
  2. 打开 Hamibot 客户端 → 进入「脚本」页面 → 点击右上角菜单 → 选择「导入本地脚本」。
  3. 选择你的 .js 文件,导入后会覆盖同名脚本或作为新脚本添加。
  4. 导入完成后直接运行,无需联网。

注意:导入的脚本若依赖云端配置(如 hamibot.env 中的远程变量),需改为读取本地 JSON 文件或硬编码,否则运行时会报错。

3. 平台停服后的功能影响

功能 离线状态是否可用
脚本本地执行 ✅ 可用
本地定时任务 ✅ 可用
本地日志查看 ✅ 可用
脚本市场安装/更新 ❌ 不可用
云端控制台远程启停 ❌ 不可用
多设备同步与分组管理 ❌ 不可用
hamibot.env 云端变量 ❌ 不可用(需改本地配置)

4. 离线使用最佳实践

  • 提前备份:在平台可用时,通过控制台或客户端将所有常用脚本导出为 .js 文件,并备份 hamibot.config 与本地数据文件。
  • 配置本地化:将依赖云端的配置改为读取手机本地文件。示例(兼容 Rhino 1.7.15):
    // 文档地址 https://docs.hamibot.com/
    var files = require('files');
    var configPath = files.cwd() + '/config.json';
    var config = files.exists(configPath) ? JSON.parse(files.read(configPath)) : {};
    var targetApp = config.appName || 'com.example.app';
    
  • 保持客户端稳定:离线使用依赖当前已安装的 Hamibot 版本。建议备份当前稳定版 APK,避免系统升级或误卸载导致环境丢失。
  • 权限与保活:离线运行时仍需保持 Hamibot 的无障碍服务、悬浮窗、后台运行权限开启,并在系统电池优化中设为“无限制”,防止脚本被系统回收。

如果你需要针对特定脚本(如依赖云端 API、多设备协同或复杂定时逻辑)做离线适配,提供脚本类型或核心逻辑,我会给出具体的改造步骤与兼容写法。

ℹ️ 内容由 AI 生成,可能不准确,请注意核实
Hamibot AI
1
· 7 小时前

开启飞行模式不会影响 Hamibot 脚本的本地执行。Hamibot 的脚本由客户端内置的 JavaScript 引擎在本地运行,飞行模式仅关闭蜂窝网络、Wi-Fi 和蓝牙,不干扰本地进程、CPU 调度或无障碍服务。但为确保脚本在断网环境下稳定运行,你需要完成以下检查与适配:

1. 确认脚本无网络依赖

  • 检查脚本中是否包含 http.get()http.post()、远程 WebView 加载、文件下载等操作。如有,需移除或改为使用本地缓存数据。
  • 若脚本使用 hamibot.env 读取云端配置,飞行模式下会返回空或抛出异常。需改为读取本地配置文件。示例(兼容 Rhino 1.7.15):
    // 文档地址 https://docs.hamibot.com/
    var files = require('files');
    var configPath = files.cwd() + '/config.json';
    var config = {};
    if (files.exists(configPath)) {
      config = JSON.parse(files.read(configPath));
    }
    var targetValue = config.myKey || 'default_value';
    

2. 保持必要权限与保活设置

飞行模式本身不会关闭无障碍服务,但部分 Android 系统会在断网后触发更严格的后台清理策略。请确保:

  • 无障碍服务已开启,且在系统设置中锁定为“始终允许”。
  • 授予 Hamibot “后台弹出界面”与“悬浮窗”权限。
  • 在电池优化中将 Hamibot 设为“无限制”或“不优化”。
  • 在 Hamibot 客户端设置中开启“前台服务”或“保持唤醒”,防止 CPU 休眠中断脚本循环。

3. 定时任务与触发方式

  • 云端控制台下发的定时任务依赖网络同步,飞行模式下无法生效。如需定时执行,请使用脚本内置的 setTimeout / setInterval,或通过 Android 本地工具(如系统闹钟、Tasker、MacroDroid)触发 Hamibot 运行。

4. 验证步骤

  1. 在联网状态下将脚本同步至手机,确认本地缓存完整。
  2. 开启飞行模式,等待 10 秒让网络完全断开。
  3. 手动启动脚本,观察界面操作是否按预期执行。
  4. 打开 Hamibot 客户端右上角日志面板,确认无网络超时、配置读取失败或权限拦截报错。

注意事项

  • 飞行模式下设备会在 Hamibot 控制台显示“离线”,属于正常现象,不影响本地执行。
  • 若脚本需要局域网通信或蓝牙控制,可在开启飞行模式后手动重新打开 Wi-Fi 或蓝牙,Android 允许在飞行模式下单独启用这些模块。
  • 不要清除 Hamibot 应用数据或卸载重装,否则本地脚本与配置会丢失。

完成上述适配后,脚本可在飞行模式下长期稳定运行。如果你的脚本包含特定网络请求、云端同步或复杂定时逻辑,提供具体代码片段,我会帮你改为纯离线兼容写法。

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