张芷铭的个人博客

一、准备工作

  • Android 10+(推荐 11+),arm64 优先
  • 稳定 Wi‑Fi,电量充足或插电
  • 允许安装未知来源应用(后面会开)

二、安装 F‑Droid + Termux(必须)

  1. 手机浏览器打开:https://f‑droid.org
  2. 下载并安装 F‑Droid APK(允许“未知来源”)
  3. 打开 F‑Droid → 搜索 Termux → 安装(作者:fredrikfornwall)
  4. 打开 Termux,等待初始化完成(出现 ~ $

三、在 Termux 里安装 Ubuntu 环境(关键)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 更新包
pkg update && pkg upgrade -y

# 安装 proot‑distro(跑 Linux 子系统)
pkg install -y proot‑distro git curl wget

# 安装 Ubuntu
proot‑distro install ubuntu

# 进入 Ubuntu
proot‑distro login ubuntu

进入后提示符变成 root@localhost:~#


四、在 Ubuntu 里安装 Node.js 22 + OpenClaw

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
# 更新 Ubuntu
apt update && apt upgrade -y

# 安装基础工具
apt install -y curl git build‑essential

# 安装 Node.js 22(OpenClaw 要求)
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs

# 验证版本(必须 ≥22.12.0)
node -v
npm -v

# 全局安装 OpenClaw
npm install -g openclaw@latest --ignore‑scripts

# 验证
openclaw --version

五、Android 专属修复(必做,否则会崩溃)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 修复网络接口报错(Android 内核兼容)
cat <<EOF > /root/hijack.js
const os = require('os');
const orig = os.networkInterfaces;
os.networkInterfaces = () => {
  const ifs = orig();
  delete ifs['lo'];
  return ifs;
};
EOF

# 让每次登录自动加载
echo "node /root/hijack.js" >> ~/.bashrc
source ~/.bashrc

六、初始化并连接到你的 Gateway

6.1 启动 onboarding 向导

1
openclaw onboard

按提示:

  • 选择 Node(不是 Gateway)
  • 输入你的 Gateway 地址(如 ws://192.168.1.100:18789
  • 给节点起个名字(如 android‑phone‑1
  • 当问是否安装 Daemon/System Service选 NO

6.2 在 Gateway 上批准配对

在你的 Gateway 机器(电脑/服务器)上:

1
2
3
4
5
# 查看待批准节点
openclaw nodes pending

# 批准(替换 <requestId>)
openclaw nodes approve <requestId>

七、启动节点 + 保活(防止被杀后台)

1
2
3
4
5
6
7
8
9
# 启动节点
openclaw node --verbose

# 保持唤醒(防止休眠)
termux‑wake‑lock

# 后台保活(可选,用 sv 管理)
source ~/.bashrc
sv up openclaw

八、手机系统设置(必做,否则会断)

  1. 设置 → 应用 → Termux → 电池 → 无限制
  2. 关闭“电池优化”“深度睡眠”
  3. 允许 Termux 后台运行、自启动(不同品牌路径不同)

九、验证是否成功

  • 节点日志出现:Connected to gateway
  • Gateway 上:openclaw nodes list 能看到你的 Android 节点
  • 测试执行:openclaw invoke <node‑name> system.run "echo hello"

十、一键脚本(懒人版)

如果不想一步步敲,可直接在 Termux 里运行(自动做上面大部分):

1
2
3
4
5
pkg install -y git
git clone https://github.com/irtiq7/OpenClaw‑Android.git ~/openclaw‑android‑setup
cd ~/openclaw‑android‑setup
chmod +x *.sh
./setup_claw.sh

完成后再做:

1
2
3
4
openclaw onboard
source ~/.bashrc
sv up openclaw
termux‑wake‑lock

常见问题

  • 连不上 Gateway:检查 IP/端口、防火墙、mDNS 是否被禁;可手动填 ws://<ip>:18789
  • 节点频繁掉线:必须做“电池无限制”+ termux‑wake‑lock
  • 权限不足:确保在 Ubuntu 环境里(root@localhost)运行
  • Node 版本不对:必须是 22.x,用 node -v 检查

Comments