Claude Code for Android
无需 root、无需电脑和 SSH,直接用 Termux 或 AVF 在 Android 手机上原生运行 Claude Code CLI。
- Star 数
- ★ 303
- 最近更新
- 3 天前
- License
- MIT
- 主语言
- Shell
- FA 评分
- 69/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 平台专用Claude Code · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 手边只有一台 Android 手机、临时需要一个能读写项目文件的编码 Agent 的开发者。
- 不适合
- 不愿让 AI Agent 接触手机本地照片、消息和账户的用户
- 仅持有 32 位 Android 手机或不愿安装 Termux 的人
- 需要 Anthropic 官方支持与背书的团队
- 源码审查
- 69/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
这是一个社区维护的安装与兼容层项目,目标是在 Android 手机本地运行 Anthropic 官方的 Claude Code 命令行工具。它提供三条安装路径:Path A 通过 Termux 兼容层运行官方 Linux 二进制,并由仓库自带的 launcher 负责每日检查更新、验证下载完整性、保留回滚备份;Path B 在 Termux 内用 proot-distro 安装 Ubuntu,再走 Anthropic 官方安装器,代价约 2 GB 存储和更高资源占用;Path C 使用 Android 内置的 Linux development environment(AVF)运行真实 Debian 虚拟机。项目仓库版本为 2.9.5,采用 MIT 许可,由维护者 Ferrum_Flux_Fenice(Erin)独立开发,明确声明与 Anthropic、Google、OpenAI 无隶属关系。除安装脚本外,仓库还附带设备兼容性记录、安全模型、故障排查与 FAQ 文档,并说明安装器不会主动开启任何额外权限。
仓库的核心是可执行的 install.sh:它从 GitHub raw 拉取脚本后先询问两个是/否问题,然后自动配置 Termux 环境、安装 Node.js 与 Claude Code,并把 claude 命令替换为仓库的 launcher。该 launcher 每天检查一次新版本,对新版本做启动崩溃检测,可用时保留上一版本作为备份,并在启动检查发现崩溃时尝试已保存的版本,claude --update-now 可立即触发检查。对 Android 8/9/10 设备,install-pinned.sh 会安装固定在 2.1.112 的旧版 Claude Code;Path B 则通过 proot-distro 建立 Ubuntu 根文件系统并由 Anthropic 官方安装器安装。Path A 默认把 Claude Code 自身的 DNS 解析指向 8.8.8.8 与 8.8.4.4 以规避已知的连接挂起问题。装上之后,claude 就是一个正常的交互式 CLI Agent,可在手机上读文件、执行命令、联网;配合 Termux:API 与无线 ADB 还能访问麦克风、位置、短信、通知和跨应用操作,维护者本人就用它修好了 Claude Code 语音模式在 Android 16 上只录到静音的问题。
- 手边只有一台 Android 手机、临时需要一个能读写项目文件的编码 Agent 的开发者。
- 想在通勤或外出时继续跑 Claude Code 会话,又不想把工作负载放到远程电脑上的人。
- 希望在手机上同时跑多个 Claude Code 会话、做多 Agent 工作流,甚至直接在设备上编译 C/C++ 代码的重度用户。
- 想在 Pixel 6 / Pixel 10 Pro 等支持 AVF 的机型上用隔离的 Debian 虚拟机跑 Claude Code、避免与手机主系统混在一起的人。
- 手上是 Moto G7 Power(Android 10)或 Galaxy S7(Android 8)这类旧机型,愿意接受固定版本 2.1.112 或走 Path B 的用户。
- 想把 Claude Code 与 Termux:API、ADB 结合起来做地理围栏提醒、语音对话、通知整理等 Android 自动化的折腾型用户。
如何安装或部署这个 Agent?
前置条件:从 F-Droid 或 GitHub 安装 Termux(不要用 Google Play 版本),手机为 64 位(Termux 中 uname -m 应输出 aarch64),并准备好 Claude 订阅或 Console/API 账户。
在 Termux 中执行:
curl -fsSL https://raw.githubusercontent.com/ferrumclaudepilgrim/claude-code-android/main/install.sh -o install.sh
bash install.sh脚本会询问两个是/否问题后自动运行,网络良好时约 5 到 10 分钟。Android 8、9、10 请改用固定版本脚本:
curl -fsSL https://raw.githubusercontent.com/ferrumclaudepilgrim/claude-code-android/main/install-pinned.sh -o install-pinned.sh
bash install-pinned.sh也可以选择 Path B(Termux 内 proot-distro Ubuntu,约需 2 GB 存储)或 Path C(在系统设置中开启开发者选项后找到「Linux development environment」,走 AVF Debian 虚拟机,仅限支持的机型)。
如何使用这个 Agent?
安装完成后关闭并重开 Termux 会话,然后启动:
claude立即检查更新而不等待每日检查:
claude --update-now从本仓库的旧安装升级:重新执行上面的 install.sh 即可获得最新 launcher,登录状态与设置会保留;如果是从 npm 安装的固定版 2.1.112 迁移,请按文档中的迁移步骤操作而不是直接覆盖安装。遇到启动崩溃、连通性检查卡住或登录问题,先查 docs/troubleshooting.md;需要用麦克风、位置、短信、通知或跨应用操作时,再引入 Termux:API 与无线 ADB,并按安全模型逐项授权。
这个 Agent 有哪些优点和局限?
- 真正做到端侧运行:Claude Code 直接跑在手机上,不需要桌面、SSH 或云 VM,也不需要 root。
- 仓库自带 launcher 具备每日更新检查、下载完整性验证、保留备份版本和启动崩溃回退,比单纯替换二进制更可恢复。
- 提供三条差异化路径(原生 Termux、proot-distro Ubuntu、AVF Debian 虚拟机),覆盖新机到 Android 8 老机型的跨度。
- 文档把安全代价写明:默认 DNS 指向 Google、Termux:API/ADB 权限的泄露面、prompt injection 风险,并说明安装器不会自动开启任何权限。
- 兼容性结论基于实机证据(Pixel 6、Pixel 10 Pro、Galaxy S26 Ultra、Moto G7 Power、Galaxy S7)而非 Android 版本号推断。
- 绑定 Anthropic 单一供应商与 Claude 订阅/API 账户,无法换用其他模型提供商。
- 必须使用 F-Droid 或 GitHub 版 Termux,且仅支持 aarch64;32 位手机和 Google Play 版 Termux 无法使用。
- Path B 需要约 2 GB 存储并显著占用内存与存储;Path C 仍标记为实验性且依赖特定机型与 Android 17。
- Path A 默认把 Claude Code 的 DNS 解析改到 8.8.8.8/8.8.4.4,会绕过 VPN 或 Pi-hole 的 DNS 服务器。
- Path A 信任仓库 launcher 下载并打补丁每个新版 Claude Code,只能校验完整性,无法证明来源未被篡改;旧机型被固定在 2.1.112 不再更新。
- 由单人维护,维护者自述并非安全专业人士,文档定位为有证据支撑的参考而非权威保证。
这个 Agent 与同类方案有什么区别?
README 明确列出了几种替代路线。gtbuchanan/claude-code-termux 把同样的「打补丁二进制」思路打包成 apt .deb,本项目的做法即起源于该项目;Ishabdullah/claude-code-termux 走更老的 npm 路线,与本仓库的固定版回退同源。若已有能运行 Claude Code 的电脑,Anthropic 官方的 Remote Control 让工作在电脑上执行、手机只做屏幕,而维护者正是因为这条路线的功能不足才转做本地方案。此外仓库还提到社区项目 google/artemis 与 openai/codex 作为参考,而非直接替代。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Claude Code for Android 当前 | 69 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 303 | 3 天前 | Shell | Claude Code · Claude API |
| OpenClaw on Android | 46 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.8k | 15 天前 | Kotlin | — |
| Harness Remote | 69 · 存在缺口 | 桌面应用 | ★ 429 | 今天 | JavaScript | Codex · Claude Code |
| TermFold Debian 编程终端 | 51 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 26 | 28 天前 | Kotlin | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
安全模型文档明确说明安装器不授予 Android 权限、不启用共享存储/ADB/MCP,并建议按需授权、事后收回,最小权限处理较好(2)。但推荐工具包默认包含 termux-api 命令包,且默认将 Claude 运行时 DNS 指向 Google 8.8.8.8/8.8.4.4,属于默认外部数据流向,扣分(data_flow_transparency 2、external_effects 1)。依赖安全方面仅描述 glibc-runner/patchelf 与校验和验证,未提供依赖版本锁定或漏洞审查证据(1)。回滚有版本缓存、.blocklist、迁移备份与 restore.sh,但明确承认不保证可用(2)。来源归属清晰标注 Anthropic/Termux/gtbuchanan 及非官方声明(2)。
文档内部对路径、版本号(仓库 2.9.x 与 Claude 2.1.x)区分一致,且多处自我限定(2)。依赖可用性依赖 Termux 镜像、glibc-runner、上游二进制与 npm registry,均为外部可变来源,仅给出估算与镜像切换建议(1)。故障信息非常详尽,按症状给出错误文本、原因与修复(3)。
面向 Android 8+ ARM64 用户,区分三条安装路径与设备证据,场景覆盖充分(3)。能力边界说明透彻:明确无 OS 沙箱、hook 非强制、Bash 仍可联网(3)。触发精度方面,本仓库是安装/包装工具而非带触发条件的 Agent 清单,缺少可评的触发规则(1)。环境适配覆盖 Termux/proot/AVF,但 AVF 为实验性、旧机型需固定版本,扣分(2)。
README 与 docs 结构清晰、锚点与交叉链接完善(3)。安装说明详尽含前置条件、磁盘估算、卸载与迁移(3)。命名稳定性一般:仓库版本与 Claude 版本并存易混淆,虽已解释(2)。FAQ 与示例丰富(3)。已知限制章节充分(3)。MIT 许可证完整(3)。缺少 CHANGELOG 文件本体,仅在工作流注释中提及(1)。维护责任由单一维护者声明并自述非安全专家(2)。
输出可用性依赖外部二进制与网络,文档给出验证步骤但未提供可执行产物(2)。边际价值在于让 Claude Code 在 Android 原生运行,属真实痛点但为社区变通方案(2)。成本收益:约 280MB 安装、自动更新与缓存占用,文档诚实披露权衡(2)。
多数主张附有日期、上游 issue 链接与设备证据表引用(2)。跨源佐证有限:设备结果多为维护者自测,Path B 明确说明无保存记录(1)。事实与推断分离做得很好,多处标注“未验证”“不保证”“估算而非基准”(3)。
- Path A 默认将 Claude 运行时 DNS 指向 Google 8.8.8.8/8.8.4.4,会绕过私有/VPN DNS 解析器,需自行评估或修改 setdns.js。
- 推荐工具包默认包含 termux-api 命令包;若已安装配套应用并授权,现有权限可能被 Termux 内任意进程使用。
- 安装器与启动器从本仓库下载并修补上游二进制,校验和仅防传输损坏,无法证明上游未被篡改。
- 自动更新无法关闭,且会保留旧版本二进制,占用数百 MB 存储;回滚依赖存在可用的缓存版本。
- 设备兼容性证据多为维护者自测,Path B 无保存记录,AVF 路径为实验性。
- 发布者身份未经 FollowAgents 注册表验证,属未知而非可疑,但更新路径与维护责任需自行核实。
常见问题
它需要 root 或电脑吗?
为什么不通过 Google Play 安装 Termux?
uname -m 输出 aarch64。用了它我的数据会被多暴露多少?
Android 8/9/10 的老手机还能用吗?
更新失败或启动崩溃了怎么办?
claude --update-now 手动触发;最坏情况下重跑 install.sh 重装 launcher,登录与设置会保留。