在 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)
- 不要用 Google Play 版本(已停止维护)
- 下载地址:https://f-droid.org/en/packages/com.termux/
- 安装后打开,授予存储权限:
termux-setup-storage
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 ubuntu→openclaw 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 上稳定运行。


失落的羊9 个月前
研究计划导入公众号文章。
失落的羊1 年前
研究插件:挂载点研究、文件读写研究、API读取数据、设置、前台显示
失落的羊1 年前
今日申请十年之约博客成员!
失落的羊1 年前
启用新的访问统计.
失落的羊1 年前
重新整理长篇连载栏目