找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

5249

积分

0

好友

702

主题
发表于 昨天 21:54 | 查看: 3| 回复: 0

最近,Bun 官方宣布了一项重大更新:下一个版本的 Bun 将实验性地支持 Android 平台。当然,官方也特别强调,别把“能在 Android 上跑 Bun”误解成“能用 Bun 开发 Android App”,那并没有实际意义。它真正的定位,与 Node.js 对 Android 的支持类似,本质上是把这个高性能的 JavaScript 运行时移植到了安卓系统上

Bun 官方发布推文宣布将与下个版本实验性支持 Android,配图为举着安卓机器人的卡通包子形象

简单来说,今后你可以在安卓手机的 Termux 环境里直接安装 Bun,然后跑各种 JS/TS 项目,其中就包括 Claude Code。这背后的逻辑很清晰:Bun 此前已被 Anthropic 收购,而 Claude Code 目前正是基于 Bun 构建的 CLI Agent 工具。

其实,在官方支持之前,开源实战社区就有人搞定了这件事。比如 Termux 社区推出的 bun-termux-loader,通过 proot-distro 装个 Ubuntu 再跑 Bun,并打上各种补丁,硬是让 Claude Code、OpenCode、Amp 这些由 Bun 打包的 AI Agent 在手机上跑了起来。

曲折的移动端之路

事情的发展并非一帆风顺。Claude Code 自 v2.1.113 版本起,从纯 Node.js 入口切换到了原生的可执行二进制文件,不再依赖打包好的 JavaScript。这直接导致它之前在 Termux/Android 上的那套玩法彻底失效。

Claude Code v2.1.113 更新日志,红框高亮显示已切换到原生二进制文件

GitHub Issue 页面显示在 Termux/Android 上因缺少 glibc 且平台被识别为 android 导致原生二进制执行失败

针对这个问题,官方在 GitHub 的 #50270 Issue 中回应称,Android 场景需要等待 Bun 的后续支持才能恢复

Collaborator ant-kurt 在帖子里说明需等待 Bun 提供 android-arm64 或 static musl 目标才能恢复对安卓的支持

那退回到旧版本的 Claude Code 先凑合用行不行?恐怕不行。旧版本里有好几个大坑,覆盖了三到四月的多个版本,具体可以参考这篇分析:《Claude Code 自己把自己写降智》

所以,解铃还须系铃人,全村的希望又回到了 Bun 身上。而现在,随着 Bun 官方正式开启对 Android 的支持,之前那些费时费力的折腾步骤全都可以省了。一旦官方支持落地,你只需在 Termux 里装上 Bun,就能丝滑地运行 Claude Code。 更进一步,你还可以通过 adb 让手机控制自己。比如,首次用电脑开启 adb tcpip 5555 并配对无线调试,之后手机就能自行连接 localhost。这时,Claude Code 便能通过 adb 指令操控你的手机,实现一种类似“手机 Agent”的有趣场景。

手机运行 Claude Code 的复古像素风界面截图,展示启动欢迎语及主题选择

不止是 Claude Code,其他所有兼容 Bun 的项目都能受益。官方支持后,你只需在 Termux 里执行 pkg install bun,就能在手机上跑比 Node.js 更快的 JS/TS 脚本或服务了。

嵌入与原生支持

另一个令人兴奋的玩法是动态库嵌入。这意味着,开发者可以通过动态库的形式,直接把 Bun 运行时加载到自己的 Android App 里,从而为应用内置一套高性能的 JS/TS 脚本和服务能力。

Bun 官方跟帖回应:这不是让你用来构建 Android App,而是在 Termux 里用或者嵌入到 Android 应用中

此次 Bun 的 PR 实现,是通过交叉编译来完成的,新增了 aarch64-linux-androidx86_64-linux-android 两个目标平台。

  • 用主机 clang 21 + Android NDK r27c(API 28)的 sysroot
  • Zig 负责处理 Bionic libc(这是安卓的 libc)的头文件
  • 强制输出 PIE(Position Independent Executable),因为安卓禁止执行非 PIE 的二进制文件

使用方式类似于:bun build --compile --target=bun-linux-arm64-android your-script.ts

看得出来,Bun 基本上把 Android 当作一个特殊的 Linux 发行版来对待,只是需要兼容 Bionic libc 和 SELinux 等限制。通过 NDK sysroot 进行交叉编译,并辅以大量兼容性补丁,让 Bun 能在安卓上顺畅地跑起来。

无论如何,这都是一件大好事。更原生、更快的选择出现了,至少我们的骚操作空间又大了不少。作为一种高性能的 Runtime,Bun 在移动端作为 Node.js 的本地替代品是个不错的选择,启动和运行速度上的优势非常明显,许多 TS 类 Agent 工具也能直接迁移过来用。

相关 PR 地址:




上一篇:Flutter 3.41.8 紧接 hotfix,修复 3.41.7 给 profile 模式埋的“挂起”坑
下一篇:GopherCon 2026门票开售,Go提案与工具精选 | 2026第18周周报
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-5-3 01:52 , Processed in 0.642650 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表