解决 Android Termux 下 OpenClaw Browser Control 问题

现象

在 Android 的 Termux 里跑 OpenClaw,一旦启用 browser control,常撞上这几种表现:

  • 浏览器无法启动;
  • 提示找不到 Chrome / Chromium;
  • browser tool 直接显示不可用。

根因

这几种现象指向同一个原因:OpenClaw 需要的是一个 Linux 环境里的浏览器可执行文件,而 Android 系统自带的 Chrome 是普通 Android App,不是 Termux 能直接调用的 chromium 二进制程序。

两者不是一回事——系统 Chrome 装在 Android 应用层,Termux 的命令行根本拿不到它的可执行文件。所以只要环境里没有一个真正的 chromium 二进制,无论怎么配都是上面那些报错。

对症的处置就是:在 Termux 里装一个 Chromium,再把它的路径写进 OpenClaw 配置。

处置

1. 安装 Chromium

Termux 的 Chromium 在 x11-repo 仓库里,先启用 X11 源,再安装:

Terminal window
pkg install x11-repo
pkg install chromium

2. 确认可执行路径

Terminal window
command -v chromium-browser

正常会输出:

/data/data/com.termux/files/usr/bin/chromium-browser

这个路径就是下一步配置里的 executablePath

3. 写入 OpenClaw 配置

Terminal window
mkdir -p ~/.openclaw
nano ~/.openclaw/openclaw.json
{
"browser": {
"executablePath": "/data/data/com.termux/files/usr/bin/chromium-browser",
"headless": true,
"noSandbox": true
}
}

若已有 ~/.openclaw/openclaw.json不要整文件覆盖,只把 browser 这一段合并进去,否则会冲掉原有配置。

三个字段分别对应一个具体问题:

  • executablePath:告诉 OpenClaw 用 Termux 装的 Chromium,而不是去找系统 Chrome——这正是根因的直接修复;
  • headless: true:无界面启动。Android + Termux 下这样最省事,不必额外配 X11、VNC 或图形桌面;
  • noSandbox: true:关掉 Chromium sandbox。Termux 本身就跑在 Android 应用沙盒里,Chromium 默认 sandbox 往往无法正常工作,必须显式关闭。

验证

先撇开 OpenClaw,单独验证 Chromium 自己能不能在 headless 下跑起来:

Terminal window
chromium-browser --headless --no-sandbox --disable-gpu --dump-dom https://example.com

能打印出 HTML,就说明 Chromium 这一环没问题。

随后重启 OpenClaw,再重新调用 browser control。配置文件通常只在启动时读取,改完 openclaw.json 一定要完整重启一次,否则改动不生效——这也是”改了配置却依旧报错”的常见原因。重启后 OpenClaw 就能在 Android Termux 里找到并启动 Chromium,browser control 随之恢复正常。