#Android #termux #codex
https://github.com/aeewws/codex-mobile
https://github.com/MerverliPy/codexui
https://github.com/DioNanos/codex-termux
https://github.com/friuns2/codex-mobile
---
命令安装原链接
需要 Termux 里的本地 Codex 后端
https://github.com/aeewws/codex-mobile
https://github.com/MerverliPy/codexui
https://github.com/DioNanos/codex-termux
自身或者 termux 安装 code
https://github.com/friuns2/codex-mobile
---
命令安装原链接
cat > ~/fix_codex.sh << 'EOF'
#!/usr/bin/env bash
# Termux 下修复 / 安装 Codex CLI(cargo 版)
# 目标版本:codex-cli 0.65.0(tag = rust-v0.65.0)
# 全程无需交互,自动安装依赖并安装 / 升级 codex-cli
set -euo pipefail
CODEX_VERSION="0.65.0"
CODEX_TAG="rust-v${CODEX_VERSION}"
echo "============================================================"
echo "[fix_codex] Termux Codex CLI 安装 / 升级脚本"
echo "目标版本:codex-cli ${CODEX_VERSION}(tag: ${CODEX_TAG})"
echo "============================================================"
echo
echo "[1] 打印环境信息"
echo "HOME=$HOME"
echo "SHELL=${SHELL:-unknown}"
echo "CARGO_HOME=${CARGO_HOME:-~/.cargo( 默认)}"
echo "PATH=$PATH"
echo
# 计算 cargo bin 目录
BIN_DIR="${CARGO_HOME:-$HOME/.cargo}/bin"
mkdir -p "$BIN_DIR"
echo "[2] 列出 ${BIN_DIR} 当前内容(如果有)"
ls -la "$BIN_DIR" || true
echo
echo "[3] 尝试运行当前已安装的 codex(如果存在)"
if [-x "$BIN_DIR/codex"]; then
echo ">> 绝对路径运行当前 codex:"
"$BIN_DIR/codex" --version || true
else
echo ">> ${BIN_DIR}/codex 当前不存在,将进行全新安装"
fi
echo
echo "[4] 安装基础依赖(幂等,可重复执行,无需手动确认)"
pkg update -y || true
pkg upgrade -y || true
pkg install -y rust git clang make pkg-config openssl openssl-tool
echo
echo "[5] 为 Termux 写入 cargo profile(profile = termux)"
mkdir -p "$HOME/.cargo"
cat > "$HOME/.cargo/config.toml" <<'EOCARGO'
[profile.termux]
inherits = "release"
lto = "off"
codegen-units = 8
opt-level = "s"
EOCARGO
echo ">> 已写入 ~/.cargo/config.toml"
echo
echo "[6] 确保当前 shell PATH 包含 ~/.cargo/bin"
export PATH="$HOME/.cargo/bin:$PATH"
echo "当前 PATH: $PATH"
echo
echo "[7] 使用 cargo 安装 / 升级 Codex CLI 到 ${CODEX_TAG}"
echo ">> 执行:cargo install --git https://github.com/openai/codex --tag ${CODEX_TAG} codex-cli --force --locked --profile termux"
cargo install --git https://github.com/openai/codex --tag "${CODEX_TAG}" codex-cli --force --locked --profile termux
echo
echo "[8] 确保 PATH 永久包含 ~/.cargo/bin(写入 .bashrc / .profile,自动去重)"
touch "$HOME/.bashrc" "$HOME/.profile"
grep -qxF 'export PATH="$HOME/.cargo/bin:$PATH"'"$HOME/.bashrc"2>/dev/null || printf'\n# Cargo bins\nexport PATH="$HOME/.cargo/bin:$PATH"\n'>>"$HOME/.bashrc"grep -qxF'export PATH="$HOME/.cargo/bin:$PATH"'"$HOME/.profile" 2>/dev/null || printf '\n# Cargo bins\nexport PATH="$HOME/.cargo/bin:$PATH"\n' >> "$HOME/.profile"
# 刷新当前 shell 的可执行缓存
hash -r
echo ">> PATH 已写入 .bashrc / .profile 并刷新 hash"
echo
echo "[9] 再次验证 codex 安装情况"
echo "type -a codex 输出:"
type -a codex || true
echo
echo "which codex 输出:"
which codex || true
echo
if [-x "$BIN_DIR/codex"]; then
echo ">> 绝对路径运行:${BIN_DIR}/codex --version"
"$BIN_DIR/codex" --version || true
fi
echo
echo ">> PATH 方式运行:codex --version"
if command -v codex >/dev/null 2>&1; then
codex --version || true
else
echo "!! 警告:当前 shell 中未找到 codex 命令,请重新打开 Termux 或执行:"
echo "export PATH=\"$HOME/.cargo/bin:\$PATH\""
fi
echo
echo "============================================================"
echo "[✓] Codex CLI 安装 / 升级步骤执行完毕(目标版本:${CODEX_VERSION})"
echo "若上面 codex --version 输出中包含 ${CODEX_VERSION} 即表示安装成功。"
echo "之后可直接运行:"
echo "codex --sandbox danger-full-access --ask-for-approval never"
echo "======================================================
termux 复制粘贴
======"
echo
EOF
chmod +x ~/fix_codex.sh
~/fix_codex.sh