# opencode-for-android **Repository Path**: simplecoder-1/opencode-for-android ## Basic Information - **Project Name**: opencode-for-android - **Description**: 一个turmux端运行的opencode - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-27 - **Last Updated**: 2026-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README opencode for Termux (Android) 这是 opencode 的 Termux 原生支持分支。上游发布的二进制按 glibc/musl 动态链接,无法在 Android 的 bionic libc 上运行;本分支让 opencode 完全在 Termux 环境内构建和运行(使用 Termux 自带的 bun 运行时),并修正了所有平台相关的路径与下载假设。 改动清单(相对上游) 文件 改动 packages/core/src/platform.ts(新增) Termux/Android 检测(TERMUX_VERSION、$PREFIX、process.platform === "android")、XDG 目录回退到 $HOME、$PREFIX/tmp 临时目录、LSP 下载平台映射(android → linux,静态 gnu 构建可在 bionic 上运行)、平台标签 packages/core/src/global.ts 全局数据/缓存/配置/状态目录在 Termux 下落到 $HOME/.local/share、$HOME/.cache 等,tmp 使用 $PREFIX/tmp(与 Termux TermuxConstants 约定一致) packages/opencode/src/lsp/server.ts 7 处 LSP 语言服务器发布资产的平台名从 process.platform 改为 downloadPlatform(),android 映射到 linux 资产 packages/opencode/src/session/system.ts 系统提示中 Platform 显示 android (termux) packages/opencode/src/config/managed.ts 托管配置目录:android 下使用 $PREFIX/etc/opencode(/etc 不可写) packages/opencode/src/cli/cmd/tui.ts TUI worker 解析增加 JS bundle 布局回退(worker.js 与入口同级) packages/opencode/script/build.ts 新增 --termux 目标:产出可被 Termux bun 直接运行的 JS bundle(bun build --compile 尚无 android target)+ 启动脚本 packages/opencode/script/postinstall.mjs 检测 Termux 时不再尝试安装 glibc 二进制,改为安装基于 bun 的源码 shim install(根) 检测 Termux 时给出正确指引,不再下载无法运行的二进制 install-termux.sh(新增) Termux 一键安装脚本 在 Termux 上安装 bash # 在本仓库检出目录内执行 bash install-termux.sh 脚本会: pkg install -y bun git bun install 安装 workspace 依赖 bun run build -- --termux --skip-embed-web-ui 产出 packages/opencode/dist/opencode-termux/bin/ 把 bundle 装到 $PREFIX/lib/opencode,并在 $PREFIX/bin/opencode 创建启动器 验证: bash opencode --version 日常开发模式(不打包) bash pkg install -y bun git bun install bun run --cwd packages/opencode src/index.ts # CLI bun run --cwd packages/opencode src/index.ts tui # TUI 注意事项 bun 是硬依赖:Termux 版以 JS bundle 分发,由 Termux 官方仓库的 bun 运行(pkg install bun)。 ** Phantom 进程查杀**:Android 可能杀掉长时间后台进程;建议在 Termux 前台会话内使用,或配合 termux-wake-lock。 LSP:zls / kotlin-lsp / lua-language-server / texlab / terraform-ls / tinymist 等按 linux 资产下载(静态或自带运行时,通常可在 bionic 上运行);gopls/rubocop 等通过包管理器从源码安装,天然兼容。 外部调用集成:Termux 的 RUN_COMMAND intent(需 allow-external-apps=true)可让其他 App 在 Termux 中启动 opencode,本分支无需 app 层改动。