Termux(Android 终端模拟器)上安装 OpenClaw(AI 智能代理框架),需解决 Android 环境限制、网络接口兼容性、Node.js ARM64 支持 等关键问题。以下是经过验证的 完整安装流程,适用于 Android 7.0+、4GB+ 内存设备,已适配 2026 年最新版 OpenClaw。

重点: 记得要登录
**# # 登录 Ubuntu(后续所有操作在此环境中进行)

proot-distro login ubuntu**

✅ 推荐使用 proot-distro + Ubuntu 方案(兼容性最佳),而非原生 Termux 安装。


? 一、前置准备

1. 安装 Termux(必须从 F-Droid)

2. 更新并安装基础工具

pkg update && pkg upgrade -y
pkg install -y proot-distro git curl wget nano

⚠️ 若下载慢,请配置 Termux 国内镜像(如清华源)。


? 二、安装 Ubuntu 环境(通过 proot-distro)

# 安装 Ubuntu 22.04(ARM64 兼容)
proot-distro install ubuntu

# 登录 Ubuntu(后续所有操作在此环境中进行)
proot-distro login ubuntu

✅ 此步骤创建了一个完整的 Linux 用户空间,绕过 Android Bionic libc 的兼容性问题。


? 三、在 Ubuntu 中配置 Node.js 环境

1. 更新系统 & 安装依赖

apt update && apt upgrade -y
apt install -y curl git build-essential libssl-dev python3

2. 安装 Node.js 22(官方源)

curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs

# 验证
node -v  # 应 ≥ v22.0.0
npm -v   # 应 ≥ 9.x

? 若遇网络问题,可改用国内 npm 镜像:

npm config set registry https://registry.npmmirror.com

?️ 四、修复 Android 网络接口兼容性(关键!)

OpenClaw 在 Android 上会因 os.networkInterfaces() 崩溃,需打补丁:

# 创建网络修复脚本
cat > /root/fix-net.js << 'EOF'
const os = require('os');
os.networkInterfaces = () => ({
  'lo': [{
    address: '127.0.0.1',
    netmask: '255.0.0.0',
    family: 'IPv4',
    mac: '00:00:00:00:00:00',
    internal: true,
    cidr: '127.0.0.1/8'
  }]
});
console.log('✅ Android/PRoot 网络修复补丁已加载');
EOF

# 永久生效
echo 'export NODE_OPTIONS="--require /root/fix-net.js"' >> ~/.bashrc
source ~/.bashrc

✅ 此补丁让 Node.js 跳过 Android 不支持的网络接口检测。


? 五、安装 OpenClaw

# 全局安装(可能需 2~5 分钟)
npm install -g openclaw@latest

# 验证安装
openclaw --version  # 应显示 2026.x.x

⚠️ 若卡在 node-gyp 编译,耐心等待(ARM 编译较慢),或加 --ignore-scripts 跳过部分原生模块。


⚙️ 六、运行配置向导(Onboarding)

openclaw onboard

关键选项建议(按提示选择):

步骤 推荐选择 说明
Model Provider Zhipu AI (智谱)Qwen 国内可用,免费额度充足
API Key 输入你的密钥 智谱开发者平台 获取
Channel Skip for now 先测试 Web UI,后续再接微信/飞书
Skills Yes → 启用 weather, calendar-read, reminders 基础技能
Geolocation No 国内网络可能受限
Image Gen No 非核心功能
Session Memory Yes 启用会话记忆

✅ 完成后生成 ~/.openclaw/openclaw.json


▶️ 七、启动网关并访问 Web UI

1. 启动服务

openclaw gateway run

2. 获取访问 Token

  • 启动日志中会打印类似:
    http://127.0.0.1:18789/?token=abcd1234-xxxx-yyyy
  • 或手动查看:
    cat ~/.openclaw/openclaw.json | grep token

3. 在手机浏览器中访问

打开 Chrome / Edge,输入:

http://127.0.0.1:18789/?token=你的token

✅ 成功标志:进入 OpenClaw 控制面板,可发送消息如 “你好”。


? 八、(可选)配置后台常驻与开机自启

1. 防止 Android 杀进程

  • 关闭电池优化
    设置 → 电池 → 应用电池管理 → Termux → 无限制
  • 锁定 Termux 到最近任务:长按卡片 → 锁定图标

2. 使用 tmux 后台运行(推荐)

# 安装 tmux
pkg install tmux

# 启动会话
tmux new -s claw

# 在会话中运行
proot-distro login ubuntu
openclaw gateway run

# 按 Ctrl+B, D 脱离会话(服务继续运行)
# 重新进入:tmux attach -t claw

❌ 注意:Termux 不支持 systemd,无法真正“开机自启”,但可通过上述方式保持后台运行。


⚠️ 九、常见问题解决

❌ 问题 1:unauthorized: gateway token missing

  • 原因:访问 URL 未带 token
  • 解决:必须使用完整 URL(含 ?token=...

❌ 问题 2:systemd user services are unavailable

  • 原因:模型 API Key 未正确配置
  • 解决:重新运行 openclaw onboard,检查密钥

❌ 问题 3:500 Internal Server Error

  • 原因:模型上下文窗口太小
  • 解决:编辑 ~/.openclaw/openclaw.json,将 contextWindow 改为 ≥16000:
    "models": {
    "providers": [{
      "contextWindow": 32768
    }]
    }

❌ 问题 4:Web UI 白屏(安卓 WebView 问题)

  • 解决:安装 Chromium 内核浏览器(如 Kiwi Browser、Edge)

✅ 十、总结:Termux 安装优势与限制

优势 限制
✅ 无需 root,旧手机即可部署 ❌ 无法真正开机自启(需手动启动)
✅ 成本为零(利用闲置设备) ❌ 后台易被 Android 杀死(需关闭电池优化)
✅ 支持智谱/Qwen 等国产模型 ❌ 本地推理不可行(依赖云端 API)
✅ 可通过 SSH 远程管理 ❌ 大文件处理性能有限

? 最佳实践
将一台 闲置安卓手机 插电 + 连 WiFi + 关闭电池优化,作为 7x24 小型 AI 服务器

按照此流程,你可在 20~30 分钟内 完成 OpenClaw 部署,打造随身 AI 助手!

遇到的错误:
Gateway: bind=loopback (127.0.0.1), port=18789 (env/config)
Probe target: ws://127.0.0.1:18789
Dashboard: http://127.0.0.1:18789/
Probe note: Loopback-only gateway; only local clients can connect.

Runtime: unknown (systemctl not available; systemd user services are required on Linux.)
RPC probe: failed
RPC target: ws://127.0.0.1:18789
gateway closed (1006 abnormal closure (no close frame)): no close reason
Gateway target: ws://127.0.0.1:18789
Source: cli --url
Config: /root/.openclaw/openclaw.json

systemd user services unavailable.
systemd user services are unavailable; install/enable systemd or run the gateway under your supervisor.
If you're in a container, run the gateway in the foreground instead of openclaw gateway.

解决方案:

你遇到的错误信息表明 OpenClaw 网关服务未能正常启动或保持运行,核心问题在于:

systemd user services are unavailable
gateway closed (1006 abnormal closure)

这在 非标准 Linux 环境(如 Termux、Docker 容器、Armbian 无 systemd 用户会话)中非常常见。下面我将根据你的环境(极可能是 Termux + proot-distro容器化 Armbian)提供 精准解决方案


? 问题根源分析

错误片段 含义
systemd user services unavailable OpenClaw 尝试用 systemctl --user 启动后台服务,但当前环境不支持(Termux/容器无 systemd 用户实例)
gateway closed (1006) WebSocket 连接异常断开 → 网关进程已崩溃或未真正启动
run the gateway in the foreground 官方建议:不要用 openclaw gateway(后台模式),改用前台运行

结论:你必须 手动以前台模式运行网关,而不是依赖 openclaw gateway start


✅ 正确解决方案(适用于 Termux / 容器 / 无 systemd 环境)

步骤 1:停止所有残留进程

# 在 proot-distro Ubuntu 中执行
pkill -f openclaw

步骤 2:直接前台运行网关(关键!)

openclaw gateway run

⚠️ 不要用 openclaw gateway start(它会尝试调用 systemd,必然失败)
必须用 openclaw gateway run(前台阻塞式运行,适合容器/Termux)

步骤 3:保持终端窗口开启(或使用 tmux

  • 如果你在 Termux 中,不要关闭窗口
  • 更佳做法:用 tmux 防止中断:
    tmux new -s claw
    openclaw gateway run    # 运行后按 Ctrl+B, D 脱离
    # 重新进入:tmux attach -t claw

步骤 4:访问 Web UI

在手机浏览器中打开:

http://127.0.0.1:18789/

→ 页面会提示输入 Token,从以下位置获取:

cat ~/.openclaw/openclaw.json | grep token

?️ 补充:修复配置(可选但推荐)

编辑配置文件,显式禁用 systemd 尝试

nano ~/.openclaw/openclaw.json

添加或修改以下字段:

{
  "gateway": {
    "bind": "127.0.0.1",
    "port": 18789,
    "daemonize": false,        // 关键:禁止后台化
    "enableSystemd": false     // 显式关闭 systemd
  }
}

保存后重启 openclaw gateway run


? 针对不同环境的特别说明

▶ 如果你在 Termux + proot-distro

  • 不要期望开机自启:Android 会杀死后台进程;
  • 必须手动启动:每次重启手机后需重新运行 proot-distro login ubuntuopenclaw gateway run
  • 防杀策略
    • 关闭 Termux 电池优化;
    • 锁定 Termux 到最近任务(长按 → 锁定图标)。

▶ 如果你在 Docker 容器

  • 启动命令应为:
    CMD ["openclaw", "gateway", "run"]
  • 不要使用 openclaw gateway start

▶ 如果你在 Armbian 但无图形界面

  • 虽然 Armbian 有 systemd,但 root 用户可能未启用用户级 systemd
  • 解决方案同上:openclaw gateway run + tmux 最可靠。

✅ 验证成功标志

当你运行:

openclaw gateway run

看到类似输出即成功:

✅ OpenClaw Gateway v2026.3.1 ready!
? Listening on http://127.0.0.1:18789
? Token: abcd1234-xxxx-yyyy
➡️ Open your browser to: http://127.0.0.1:18789/?token=abcd1234-xxxx-yyyy

此时在浏览器访问该 URL 即可使用。


? 终极建议:创建一键启动脚本

~/.bashrc 中添加:

alias claw='cd ~ && openclaw gateway run'

以后只需输入 claw 即可启动。


总结

错误原因 正确做法
试图用 systemd --user 启动服务 改用 openclaw gateway run 前台运行
网关进程崩溃未捕获 tmux 保持会话,查看实时日志
配置未适配无 systemd 环境 设置 "daemonize": false, "enableSystemd": false

按照上述步骤操作,你的 OpenClaw 网关将在 Termux、容器或轻量 Armbian 上稳定运行。