Termux 安装 AI 编程助手教程(手机版)

2026-05-31·📖 10 分钟·TermuxAIClaude CodeOpenCode教程

Termux 安装 AI 编程助手教程(手机版)

只需要一部手机,不用电脑,不用 ADB,全在 Termux 里操作 支持 Claude Code、OpenCode、Kiro CLI 和 Kilo Code,一套环境通吃 适用所有 Android 手机(ARM64)和模拟器(x86_64) 纯 Termux 环境,不使用 proot,不使用 musl 链接器

为什么不用 musl 链接器?

musl 是一个轻量级 C 标准库,但它的 DNS 解析实现与 Android 的网络栈不兼容。如果用 musl 链接器运行这些工具,会导致 DNS 解析错误,无法连接任何 API(报 DNS 或网络错误)。所以必须使用 glibc 链接器,它的 DNS 解析与 Android 完全兼容,网络功能正常。

纯 Termux 层的优势:

优势说明
稳定运行直接使用 Termux 原生进程管理,不会被 Android 系统 OOM 或强行杀死
极致接近原生 Linux无需 proot 虚拟化层,glibc 原生加载,性能无损耗,体验与 Linux 桌面版几乎一致
资源占用低没有双层文件系统和进程虚拟化的开销,内存和 CPU 开销最小
兼容性好不依赖 proot/musl 等额外兼容层,Termux 更新后依然可用

目录

  1. 前提:先配置好 Termux 基础环境
  2. 安装通用依赖
  3. 方案一:Claude Code
  4. 方案二:OpenCode
  5. 方案三:Kiro CLI
  6. 方案四:Kilo Code
  7. 一键脚本(懒人专用)
  8. 常见错误
  9. 多 API 配置(Claude Code)
  10. 架构参数对照

1. 前提:先配置好 Termux 基础环境

本教程假设你已经完成了 Termux 的基础配置。

如果你还没装 Termux,先看《Termux环境配置教程》,完成后再回来:

👉 Termux环境配置教程 🤖 浏览器自动化教程

包含:F-Droid 下载安装 → 更换国内源 → pkg update/upgrade → 存储权限


2. 安装通用依赖

以下步骤无论安装哪个工具都需要,只需执行一次

打开 Termux,逐条输入下面的命令,输完一条按回车,等跑完再输下一条。

2.1 安装 Node.js

bash
pkg install -y nodejs-lts

2.2 安装 Python3

bash
pkg install -y python3

2.3 添加 glibc 仓库

bash
pkg install -y glibc-repo

2.4 安装 glibc

bash
pkg install -y glibc

这一步会下载约 400MB,耐心等待。

2.5 查看手机架构

bash
uname -m
  • 输出 aarch64 → ARM64(绝大多数手机)
  • 输出 x86_64 → x86_64(部分模拟器)

记住结果,后面要用。


3. 方案一:Claude Code

如果你是想用 Claude Code(Anthropic 官方),按这个方案。

3.1 安装 wrapper

bash
npm install -g @anthropic-ai/claude-code

3.2 安装原生二进制

ARM64 用户(uname -m 输出 aarch64):

bash
npm install -g --force @anthropic-ai/claude-code-linux-arm64

x86_64 用户(uname -m 输出 x86_64):

bash
npm install -g --force @anthropic-ai/claude-code-linux-x64

3.3 修补平台检测

bash
python3 << 'PYEOF'
import re
for f in ['install.cjs', 'cli-wrapper.cjs']:
    path = f'/data/data/com.termux/files/usr/lib/node_modules/@anthropic-ai/claude-code/{f}'
    with open(path) as fh: c = fh.read()
    c = c.replace(
        "if (platform === 'android') {\n    return 'linux-' + cpu + '-android'\n  }",
        "if (platform === 'android') {\n    return 'linux-' + cpu\n  }"
    )
    with open(path, 'w') as fh: fh.write(c)
    print(f'已修补: {f}')
PYEOF

3.4 链接原生二进制

bash
node /data/data/com.termux/files/usr/lib/node_modules/@anthropic-ai/claude-code/install.cjs

3.5 创建 Python 启动器

ARM64 用户执行这一段:

bash
cat > $PREFIX/bin/claude-launcher.py << 'PYEOF'
#!/data/data/com.termux/files/usr/bin/python3
import ctypes, os, sys
libc = ctypes.CDLL(None, use_errno=True)
LD = "/data/data/com.termux/files/usr/glibc/lib/ld-linux-aarch64.so.1"
CLAUDE = "/data/data/com.termux/files/usr/lib/node_modules/@anthropic-ai/claude-code-linux-arm64/claude"
LIB = "/data/data/com.termux/files/usr/glibc/lib"
env = {k: v for k, v in os.environ.items() if k != "LD_PRELOAD"}
env.setdefault("HOME", "/data/data/com.termux/files/home")
env.setdefault("PATH", "/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/data/data/com.termux/files/usr/glibc/bin")
env.setdefault("TERM", "xterm-256color")
env.setdefault("LANG", "en_US.UTF-8")
...

x86_64 用户执行这一段:

bash
cat > $PREFIX/bin/claude-launcher.py << 'PYEOF'
#!/data/data/com.termux/files/usr/bin/python3
import ctypes, os, sys
libc = ctypes.CDLL(None, use_errno=True)
LD = "/data/data/com.termux/files/usr/glibc/lib/ld-linux-x86-64.so.2"
CLAUDE = "/data/data/com.termux/files/usr/lib/node_modules/@anthropic-ai/claude-code-linux-x64/claude"
LIB = "/data/data/com.termux/files/usr/glibc/lib"
env = {k: v for k, v in os.environ.items() if k != "LD_PRELOAD"}
env.setdefault("HOME", "/data/data/com.termux/files/home")
env.setdefault("PATH", "/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/data/data/com.termux/files/usr/glibc/bin")
env.setdefault("TERM", "xterm-256color")
env.setdefault("LANG", "en_US.UTF-8")
...

3.6 设置权限和软链接

bash
chmod 755 $PREFIX/bin/claude-launcher.py
bash
ln -sf $PREFIX/bin/claude-launcher.py $PREFIX/bin/claude

3.7 验证

bash
claude --version

看到类似 2.1.150 (Claude Code) 就成功了。

bash
claude --help

4. 方案二:OpenCode

如果你想用 OpenCode(开源 AI 编程助手),按这个方案。 通用依赖(Node.js、Python、glibc)已经在第 2 节装好了,这里直接开始。

4.1 下载二进制

用官方安装脚本下载(会自动识别你的架构并下载最新版):

bash
curl -fsSL https://opencode.ai/install | bash

安装脚本会把 OpenCode 安装到 ~/.opencode/bin/opencode

安装完成后脚本可能会问是否修改 PATH,输入 n 跳过,我们后面用 Python 启动器。

4.2 创建 Python 启动器

OpenCode 是 Linux 原生二进制,在 Termux 里不能直接运行。需要通过 glibc 链接器来启动。

ARM64 用户执行这一段:

bash
cat > $PREFIX/bin/opencode << 'PYEOF'
#!/data/data/com.termux/files/usr/bin/python3
import ctypes, os, sys
libc = ctypes.CDLL(None, use_errno=True)
LD = "/data/data/com.termux/files/usr/glibc/lib/ld-linux-aarch64.so.1"
OC = os.path.expanduser("~/.opencode/bin/opencode")
LIB = "/data/data/com.termux/files/usr/glibc/lib"
env = {k: v for k, v in os.environ.items() if k != "LD_PRELOAD"}
env.setdefault("HOME", "/data/data/com.termux/files/home")
env.setdefault("PATH", "/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/data/data/com.termux/files/usr/glibc/bin")
env.setdefault("TERM", "xterm-256color")
env.setdefault("LANG", "en_US.UTF-8")
...

x86_64 用户执行这一段:

bash
cat > $PREFIX/bin/opencode << 'PYEOF'
#!/data/data/com.termux/files/usr/bin/python3
import ctypes, os, sys
libc = ctypes.CDLL(None, use_errno=True)
LD = "/data/data/com.termux/files/usr/glibc/lib/ld-linux-x86-64.so.2"
OC = os.path.expanduser("~/.opencode/bin/opencode")
LIB = "/data/data/com.termux/files/usr/glibc/lib"
env = {k: v for k, v in os.environ.items() if k != "LD_PRELOAD"}
env.setdefault("HOME", "/data/data/com.termux/files/home")
env.setdefault("PATH", "/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/data/data/com.termux/files/usr/glibc/bin")
env.setdefault("TERM", "xterm-256color")
env.setdefault("LANG", "en_US.UTF-8")
...

4.3 设置权限

bash
chmod 755 $PREFIX/bin/opencode

4.4 验证

bash
opencode --version

看到版本号(如 1.x.x)就成功了。

bash
opencode --help

首次运行:

bash
opencode

第一次会进入配置向导,选择你的 AI 提供商和模型。

提示:如果想用 DeepSeek 等第三方 API,配置时选择自定义端点:

  • API 地址:https://api.deepseek.com
  • 模型:deepseek-v4-flash

5. 方案三:Kiro CLI

如果你想用 Kiro CLI(Amazon 推出的 AI 编程助手),按这个方案。 通用依赖(Node.js、Python、glibc)已经在第 2 节装好了,这里直接开始。

注意:Kiro 的安装脚本在 Termux 上会错误检测为 musl 环境。我们手动下载 glibc 版本。

5.1 下载并安装二进制

bash
ARCH=$(uname -m)
bash
[ "$ARCH" = "x86_64" ] && DARCH=x86_64 || DARCH=aarch64
bash
curl -fsSL -o /tmp/kirocli.zip "https://prod.download.cli.kiro.dev/stable/latest/kirocli-${DARCH}-linux.zip"
bash
unzip -q /tmp/kirocli.zip -d /tmp/kirocli
bash
mkdir -p ~/.local/bin
bash
cp /tmp/kirocli/kirocli/kiro-cli ~/.local/bin/kiro-cli
bash
chmod +x ~/.local/bin/kiro-cli
bash
rm -rf /tmp/kirocli.zip /tmp/kirocli

5.2 创建 Python 启动器

ARM64 用户执行这一段:

bash
cat > $PREFIX/bin/kiro-cli << 'PYEOF'
#!/data/data/com.termux/files/usr/bin/python3
import ctypes, os, sys
libc = ctypes.CDLL(None, use_errno=True)
LD = "/data/data/com.termux/files/usr/glibc/lib/ld-linux-aarch64.so.1"
KIRO = os.path.expanduser("~/.local/bin/kiro-cli")
LIB = "/data/data/com.termux/files/usr/glibc/lib"
env = {k: v for k, v in os.environ.items() if k != "LD_PRELOAD"}
env.setdefault("HOME", "/data/data/com.termux/files/home")
env.setdefault("PATH", "/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/data/data/com.termux/files/usr/glibc/bin")
env.setdefault("TERM", "xterm-256color")
env.setdefault("LANG", "en_US.UTF-8")
...

x86_64 用户执行这一段:

bash
cat > $PREFIX/bin/kiro-cli << 'PYEOF'
#!/data/data/com.termux/files/usr/bin/python3
import ctypes, os, sys
libc = ctypes.CDLL(None, use_errno=True)
LD = "/data/data/com.termux/files/usr/glibc/lib/ld-linux-x86-64.so.2"
KIRO = os.path.expanduser("~/.local/bin/kiro-cli")
LIB = "/data/data/com.termux/files/usr/glibc/lib"
env = {k: v for k, v in os.environ.items() if k != "LD_PRELOAD"}
env.setdefault("HOME", "/data/data/com.termux/files/home")
env.setdefault("PATH", "/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/data/data/com.termux/files/usr/glibc/bin")
env.setdefault("TERM", "xterm-256color")
env.setdefault("LANG", "en_US.UTF-8")
...

5.3 设置权限

bash
chmod 755 $PREFIX/bin/kiro-cli

5.4 验证

bash
kiro-cli --version

看到版本号就成功了。

bash
kiro-cli --help

首次运行需要登录:

bash
kiro-cli

会显示登录链接和一次性验证码,用手机浏览器打开链接完成登录即可。


6. 方案四:Kilo Code

如果你想用 Kilo Code(最流行的开源 AI 编程助手之一,OpenCode 的上游),按这个方案。 通用依赖(Node.js、Python、glibc)已经在第 2 节装好了,这里直接开始。

6.1 下载并安装二进制

bash
ARCH=$(uname -m)
bash
[ "$ARCH" = "x86_64" ] && GHARCH=x64 || GHARCH=arm64
bash
curl -fsSL -o /tmp/kilo.tar.gz "https://github.com/Kilo-Org/kilocode/releases/latest/download/kilo-linux-${GHARCH}.tar.gz"
bash
mkdir -p /tmp/kilo-extract ~/.local/bin
bash
tar -xzf /tmp/kilo.tar.gz -C /tmp/kilo-extract
bash
cp /tmp/kilo-extract/kilo ~/.local/bin/kilo 2>/dev/null || \
  find /tmp/kilo-extract -name "kilo" -type f -exec cp {} ~/.local/bin/kilo \;
bash
chmod +x ~/.local/bin/kilo
bash
rm -rf /tmp/kilo.tar.gz /tmp/kilo-extract

6.2 创建 Python 启动器

ARM64 用户执行这一段:

bash
cat > $PREFIX/bin/kilo << 'PYEOF'
#!/data/data/com.termux/files/usr/bin/python3
import ctypes, os, sys
libc = ctypes.CDLL(None, use_errno=True)
LD = "/data/data/com.termux/files/usr/glibc/lib/ld-linux-aarch64.so.1"
KILO = os.path.expanduser("~/.local/bin/kilo")
LIB = "/data/data/com.termux/files/usr/glibc/lib"
env = {k: v for k, v in os.environ.items() if k != "LD_PRELOAD"}
env.setdefault("HOME", "/data/data/com.termux/files/home")
env.setdefault("PATH", "/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/data/data/com.termux/files/usr/glibc/bin")
env.setdefault("TERM", "xterm-256color")
env.setdefault("LANG", "en_US.UTF-8")
...

x86_64 用户执行这一段:

bash
cat > $PREFIX/bin/kilo << 'PYEOF'
#!/data/data/com.termux/files/usr/bin/python3
import ctypes, os, sys
libc = ctypes.CDLL(None, use_errno=True)
LD = "/data/data/com.termux/files/usr/glibc/lib/ld-linux-x86-64.so.2"
KILO = os.path.expanduser("~/.local/bin/kilo")
LIB = "/data/data/com.termux/files/usr/glibc/lib"
env = {k: v for k, v in os.environ.items() if k != "LD_PRELOAD"}
env.setdefault("HOME", "/data/data/com.termux/files/home")
env.setdefault("PATH", "/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/data/data/com.termux/files/usr/glibc/bin")
env.setdefault("TERM", "xterm-256color")
env.setdefault("LANG", "en_US.UTF-8")
...

6.3 设置权限

bash
chmod 755 $PREFIX/bin/kilo

6.4 验证

bash
kilo --version

看到版本号就成功了。

bash
kilo --help

首次运行:

bash
kilo

会提示登录,输入 kilo auth login 按提示完成验证即可。


7. 一键脚本(懒人专用)

6.1 Claude Code 一键安装

复制下面全部内容,在 Termux 里长按粘贴,然后按回车:

bash
set -e
echo "=== 1/6 安装通用依赖 ==="
pkg install -y nodejs-lts python3 glibc-repo && pkg install -y glibc
echo "=== 2/6 安装 Claude Code ==="
npm install -g @anthropic-ai/claude-code
ARCH=$(uname -m)
if [ "$ARCH" = "aarch64" ]; then
  npm install -g --force @anthropic-ai/claude-code-linux-arm64
elif [ "$ARCH" = "x86_64" ]; then
  npm install -g --force @anthropic-ai/claude-code-linux-x64
else
  echo "不支持的架构: $ARCH"; exit 1
...

6.2 OpenCode 一键安装

bash
set -e
echo "=== 1/3 安装通用依赖 ==="
pkg install -y nodejs-lts python3 glibc-repo && pkg install -y glibc
echo "=== 2/3 下载 OpenCode ==="
curl -fsSL https://opencode.ai/install | bash
echo "=== 3/3 创建 Python 启动器 ==="
ARCH=$(uname -m)
if [ "$ARCH" = "aarch64" ]; then
  SYS=221; LDS=ld-linux-aarch64.so.1
elif [ "$ARCH" = "x86_64" ]; then
  SYS=59; LDS=ld-linux-x86-64.so.2
else
...

6.3 Kiro CLI 一键安装

bash
set -e
echo "=== 1/3 安装通用依赖 ==="
pkg install -y nodejs-lts python3 glibc-repo && pkg install -y glibc
echo "=== 2/3 下载 Kiro CLI ==="
ARCH=$(uname -m)
[ "$ARCH" = "x86_64" ] && DARCH=x86_64 || DARCH=aarch64
curl -fsSL -o /tmp/kirocli.zip "https://prod.download.cli.kiro.dev/stable/latest/kirocli-${DARCH}-linux.zip"
unzip -q /tmp/kirocli.zip -d /tmp/kirocli
mkdir -p ~/.local/bin
cp /tmp/kirocli/kirocli/kiro-cli ~/.local/bin/kiro-cli
chmod +x ~/.local/bin/kiro-cli
rm -rf /tmp/kirocli.zip /tmp/kirocli
...

6.4 Kilo Code 一键安装

bash
set -e
echo "=== 1/3 安装通用依赖 ==="
pkg install -y nodejs-lts python3 glibc-repo && pkg install -y glibc
echo "=== 2/3 下载 Kilo Code ==="
ARCH=$(uname -m)
[ "$ARCH" = "x86_64" ] && GHARCH=x64 || GHARCH=arm64
curl -fsSL -o /tmp/kilo.tar.gz "https://github.com/Kilo-Org/kilocode/releases/latest/download/kilo-linux-${GHARCH}.tar.gz"
mkdir -p /tmp/kilo-extract ~/.local/bin
tar -xzf /tmp/kilo.tar.gz -C /tmp/kilo-extract
cp /tmp/kilo-extract/kilo ~/.local/bin/kilo 2>/dev/null || \
  find /tmp/kilo-extract -name "kilo" -type f -exec cp {} ~/.local/bin/kilo \;
chmod +x ~/.local/bin/kilo
...

8. 常见错误

8.1 通用

Could not find a PHDR: broken executable?

原因:没用 Python 启动器,libtermux-exec.so 拦截了进程创建。

解决

bash
ls -la $PREFIX/bin/claude $PREFIX/bin/opencode $PREFIX/bin/kiro-cli $PREFIX/bin/kilo

确认指向对应的 Python 启动器(.py 文件),而不是直接指向二进制。

原因:glibc 没安装或路径不对。

解决

bash
ls /data/data/com.termux/files/usr/glibc/lib/libc.so.6
ls /data/data/com.termux/files/usr/glibc/lib/ld-linux-*

command not found

原因$PREFIX/bin 不在 PATH 中,或启动器没创建成功。

解决

bash
echo $PATH | grep -q usr/bin && echo "PATH OK"
ls -la $PREFIX/bin/claude $PREFIX/bin/opencode $PREFIX/bin/kiro-cli $PREFIX/bin/kilo

8.2 Claude Code 专属

npm ERR! code EBADPLATFORM

原因:npm 拒绝在 Android 上安装 Linux 包。

解决:加 --force

更新后 claude 失效

bash
node /data/data/com.termux/files/usr/lib/node_modules/@anthropic-ai/claude-code/install.cjs

重新执行 3.5 ~ 3.6 步骤。

8.3 OpenCode 专属

无法执行二进制文件

bash
~/.opencode/bin/opencode: cannot execute: required file not found

原因:OpenCode 是 Linux 原生二进制,依赖 glibc,不能直接在 Termux 中执行。

解决:确认已创建 Python 启动器:

bash
ls -la $PREFIX/bin/opencode
opencode --version

更新 OpenCode

bash
curl -fsSL https://opencode.ai/install | bash

重新下载最新版二进制后,Python 启动器不需要修改,直接就能用。

8.4 Kiro CLI 专属

下载失败或 404

原因:架构名转换错误。

解决

bash
uname -m

确认是 aarch64x86_64

登录后无法使用

首次运行 kiro-cli 会显示登录链接。用手机浏览器打开并按提示完成验证即可。如果登录页面不显示,尝试:

bash
kiro-cli login

更新 Kiro CLI

bash
ARCH=$(uname -m)
[ "$ARCH" = "x86_64" ] && DARCH=x86_64 || DARCH=aarch64
curl -fsSL -o /tmp/kirocli.zip "https://prod.download.cli.kiro.dev/stable/latest/kirocli-${DARCH}-linux.zip"
unzip -q /tmp/kirocli.zip -d /tmp/kirocli
cp /tmp/kirocli/kirocli/kiro-cli ~/.local/bin/kiro-cli
chmod +x ~/.local/bin/kiro-cli
rm -rf /tmp/kirocli.zip /tmp/kirocli

重新下载后,Python 启动器不需要修改。

8.5 Kilo Code 专属

文件解压后找不到 kilo 二进制

bash
tar -xzf /tmp/kilo.tar.gz -C /tmp/kilo-extract
ls -la /tmp/kilo-extract
find /tmp/kilo-extract -name "kilo" -type f

如果找到的路径不同,手动复制到 ~/.local/bin/kilo

下载 GitHub 文件太慢

可以在手机浏览器打开:

https://github.com/Kilo-Org/kilocode/releases/latest

手动下载对应的 kilo-linux-arm64.tar.gzkilo-linux-x64.tar.gz,然后用 Termux 复制:

bash
cp ~/storage/downloads/kilo-linux-*.tar.gz /tmp/kilo.tar.gz

登录问题

首次运行:

bash
kilo auth login

会显示登录链接和验证码,用手机浏览器打开即可。

更新 Kilo Code

bash
ARCH=$(uname -m)
[ "$ARCH" = "x86_64" ] && GHARCH=x64 || GHARCH=arm64
curl -fsSL -o /tmp/kilo.tar.gz "https://github.com/Kilo-Org/kilocode/releases/latest/download/kilo-linux-${GHARCH}.tar.gz"
mkdir -p /tmp/kilo-extract ~/.local/bin
tar -xzf /tmp/kilo.tar.gz -C /tmp/kilo-extract
cp /tmp/kilo-extract/kilo ~/.local/bin/kilo 2>/dev/null || \
  find /tmp/kilo-extract -name "kilo" -type f -exec cp {} ~/.local/bin/kilo \;
chmod +x ~/.local/bin/kilo
rm -rf /tmp/kilo.tar.gz /tmp/kilo-extract

重新下载后,Python 启动器不需要修改。


9. 多 API 配置(Claude Code)

创建 claude1 命令使用 DeepSeek:

bash
cat > $PREFIX/bin/claude1 << 'EOF'
#!/data/data/com.termux/files/usr/bin/sh
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=sk-你的密钥
export ANTHROPIC_MODEL=deepseek-v4-pro
export CLAUDE_CODE_SUBAGENT_MODEL=deepseek-v4-flash
export CLAUDE_CODE_EFFORT_LEVEL=max
exec claude "$@"
EOF
bash
chmod +x $PREFIX/bin/claude1

之后直接用 claude1 启动。


10. 架构参数对照

参数ARM64(手机)x86_64(模拟器)
uname -maarch64x86_64
glibc 链接器ld-linux-aarch64.so.1ld-linux-x86-64.so.2
syscall 号码22159
Claude 原生包claude-code-linux-arm64claude-code-linux-x64
OpenCode 安装curl ... | bash(自动识别)curl ... | bash(自动识别)
Kiro 下载 URLkirocli-aarch64-linux.zipkirocli-x86_64-linux.zip
Kilo 下载 URLkilo-linux-arm64.tar.gzkilo-linux-x64.tar.gz