Bun 官方将正式支持 Android,Claude Code 未来可以直接在手机上跑

最近 Bun 官方正式宣布,下个版本 Bun 将正式支持 Android ,当然官方也说了,不要别把「能在 Android 手机上跑 Bun 」误解成「能用 Bun 开发 Android App 」,用 Bun 开发 Android App 毫无意义,它的定位更多是和 Node.js 的 Android 支持类似,本质是官方把 Bun 这个 JS 运行时移植到了 Android 平台

也就是,你可以在 Android 的 Termux 里直接装 Bun,然后在手机上跑各种 JS 项目了,包括 Claude Code因为 Bun 就是被 Anthropic 收购,而 Claude Code 现在就是基于 Bun 的 CLI Agent

其实在官方支持之前就有人干了这事,比如是 Termux 社区做的 bun-termux-loader ,通过在 proot-distro 里装 Ubuntu 再跑 Bun,然后通过各种 patch 让 Claude Code、OpenCode、Amp 等 Bun 打包的 AI Agent 在手机上跑。

另外,Claude Code 从 v2.1.113 版本开始就切换到原生可执行二进制,不再是纯 Node.js,这样导致之前 Node.js 的 Termux/Android 上支持 Claude Code 无法正常工作

而官方在 #50270 也表示了, Android 场景需要 bun 的后续支持

你说停留在旧版本 Claude Code 就可以了?NO 兄弟,旧版本有好几个大坑,覆盖了从 3 月到 4 月的版本:《Claude Code 自己把自己写降智》

所以,全村的希望又回到了 Bun ,而现在 Bun 官方开始支持 Android 后,前面这些麻烦步骤就都不需要了,官方 Android 支持落地后,你可以在 Termux 里安装 Bun,就可以更轻松地运行 Claude Code ,然后允许手机通过 adb 控制(比如第一次用电脑开启 adb tcpip 5555 + 无线调试,后续手机自己就能连 localhost ),之后 Claude Code 就可以通过 adb 控制你的手机,做到类似手机 Agnet 的场景。

当然,其他支持 Bun 的项目都可以跑,官方支持后,你只需要在 Termux 里直接 pkg install bun ,就是直接在手机跑比 Node.js 更快的 JS/TS 脚步或者服务。

另一个就是可以通过动态库的形式,直接把 Bun 运行时加载到你的 App 里,这时候你就可以在 Android App 里直接内置更高性能的 JS/TS 脚本和服务能力。

而这次 Bun 的 PR 实现是通过交叉编译来完成,具体就是新增 aarch64-linux-androidx86_64-linux-android Target :

  • 用主机 clang 21 + Android NDK r27c(API 28) 的 sysroot
  • Zig 负责处理 Bionic libc(Android 的 libc)头文件
  • 强制输出 PIE(Position Independent Executable),因为 Android 不允许非 PIE 二进制

类似于 bun build --compile --target=bun-linux-arm64-android your-script.ts

所以可以看出来,Bun 把 Android 当成一个特殊的 Linux(Bionic libc + SELinux 限制),用 NDK sysroot 交叉编译配合大量兼容 Patch 来让 Bun 可以跑在 Android 上,事实上其实就是一个特殊 Linux 场景支持。

不管怎么说,这都是一个好事,至少可用的骚操作支持多了,并且作为 Runtime ,Bun 的性能还是可以的,如果作为官方支持,用来本地替代 Node.js 也是一个不错的选择,至少速度上就会好不少,一些 TS Agent 也可以直接挪过来用。

链接

github.com/oven-sh/bun...

github.com/oven-sh/bun...

相关推荐
黄林晴2 小时前
Kotlin 2.4.0-Beta2 发布,语法与多平台能力全线革新
android·kotlin
晓得迷路了2 小时前
栗子前端技术周刊第 126 期 - Rspack 2.0、TypeScript 7.0 Beta、Git 2.54...
前端·javascript·ai编程
nLYA SCOL2 小时前
MySQL数据的增删改查(一)
android·javascript·mysql
小小码农Come on2 小时前
单例 QtObject 全局配置
开发语言·前端·javascript
摸鱼仙人~2 小时前
HTTP状态码全量详解(定义+核心区别+业务场景+前端常见诱因+排查方案+工程处理)
前端·网络协议·http
XindaBlack2 小时前
OpenSpec+OpenCode 扫地机器人需求演练
ai编程
Kapaseker2 小时前
高阶函数到底高阶在哪里?
android·kotlin
Go 言 Go 语2 小时前
Claude Code 核心加载机制详解
服务器·前端·数据库
朝阳392 小时前
CSS【详解】给子元素添加间距的最佳实践(含space 和 gap 的区别图解和面试的标准答案)
前端·css