# Android 开发者不得不反汇编已发布的 Pixel 库

Published: 2026-10-14

由于公开的 AOSP 源代码停留在较早的快照上，因此九月份 Android 17 Pixel 版本中宽字符扫描错误必须通过反汇编已发布的 Bionic C 库来诊断。这起事件将 Android 的第二季度/第四季度源代码发布节奏与谷歌内部的 AI 工程声明以及 10 月 13 日 Gemini 4 Argon 的付费 API 和 AI Ultra 发布联系起来。

Canonical: https://thedailydiff.dev/zh-CN/video/2026-10-14-google-source-argon/

## 本视频涵盖的内容

- Android NDK issue #2260 显示，在九月份的 Android 17 Pixel 版本中，当拒绝集包含两个或更多 &lt; U+0100 的字符时，Bionic 的 wcscspn() 和 wcspbrk() 在字符 &gt;= U+0100 处停止。
- AOSP 仍然是开源的，源代码发布计划在 2026 年第二季度和第四季度；公开的 android17-release Bionic 分支最后一次快照是在 2026 年 3 月 28 日，落后于九月份的 Pixel 二进制文件。
- 谷歌的 Bionic 维护人员确认了该错误，并在 wchar\_test.cpp:1475 处找到了一个内部测试，该测试预期错误的返回值（2 而不是 3）。
- Gemini 4 Argon (gemini-4-argon) 于 10 月 13 日向付费 Gemini API 和 Google AI Ultra 订阅者全面推出；AI Studio 和 API 文档不包括免费和 Google AI Pro 层级。
- 每 100 万个输入 token 2 美元和输出 token 10 美元的 API 初始定价持续到 2026 年 11 月 30 日，并从 2026 年 12 月 1 日开始翻倍至输入 token 4 美元和输出 token 20 美元。
- 在谷歌 11 小时通宵 ADK 优化运行中，人工维护人员发布了 Argon 提出的 6 项优化中的 2 项，并在代码审查中拒绝了 4 项。

## 章节

- 0:00 为什么 Android 开发者要反汇编 Pixel 库？
- 0:58 一个 emoji 如何破坏了 Android 的 C 库？
- 1:59 为什么已发布的 Android 代码不在公开源代码中？
- 2:32 谷歌如何在自己的代码库中使用 Gemini 4 Argon？
- 3:13 谁现在能获得 Gemini 4 Argon，价格是多少？
- 4:25 谷歌自己的单元测试断言了什么？
- 4:52 谷歌的两速发布有什么定论？

## 翻译的文字记录

译自英文原版旁白。可用音频和字幕由 YouTube 控制。

### 为什么 Android 开发者要反汇编 Pixel 库？

0:00 Android 是开源的，但公开的源代码比二进制文件落后几个月 在 Pixel 手机上。 一位开发者不得不反汇编一个已发布的系统库，只是为了报告一个 emoji 错误。在这个视频中，为什么一个 emoji 破坏了 Pixel 手机上的 C 库？ 为什么已发布的 Android 代码在公共树中缺失？ 现在谁能获得 Gemini 4 Argon？ 当谷歌维护者检查私有源代码树中的那个错误时， 他发现了一些比缺失单元测试更糟糕的事情。

0:26 我会在判决之前向你展示确切的失败。 今天是 10 月 14 日星期三，这里是 The Daily Diff。 Bionic 是 Android 的核心 C 库，是每个原生应用程序都依赖的层，用于 内存、文件和文本。 谷歌通过 Android 开源项目发布 Android， 同时还发布了 Gemini 4 Argon 等开发者 AI 工具。 该错误出现在 Android 上的 Visual Pinball 中。 在 Pixel 7 和 Pixel 8a 手机九月份的更新之后，

0:51 只要脚本注释中包含 emoji，弹球桌就无法加载。 一个笑脸导致弹球机崩溃。 罪魁祸首在于 Bionic 中的两个宽字符搜索函数。

### 一个 emoji 如何破坏了 Android 的 C 库？

1:01 程序向它们提供一个字符串和一个分隔符列表， 例如换行符，并询问在第一个分隔符之前出现了多少个字符。 在九月份的 Android 17 版本中，当分隔符列表有 两个或更多小于十六进制一百的字符时，扫描会在第一个 大于或等于十六进制一百的字符处停止。 这破坏了超过一百一十万个 Unicode 码点， 包括 emoji、西里尔文和中文字符。

1:24 当一个开源库出现故障时，你通常会查看存储库。 开发者 francisdb 检查了六月份的公共 Android 17 分支，发现了一个 干净的循环，运行良好。 手机二进制文件运行的代码不同。 于是开发者从 Pixel 中提取了 C 库并反汇编了 arm 64 指令。 为了加快多字符搜索，二进制文件在堆栈上构建了一个 256 字节的查找表。

1:47 循环将每个字符与十六进制一百进行比较，并且只在字符较小时继续扫描。 任何更宽的字符都会退出循环并报告匹配， 这适用于保留字符，但在拒绝字符时失败。 谷歌的 Bionic 维护者在三小时内回复并确认了该错误。 他正要告诉报告者查看源代码，

### 为什么已发布的 Android 代码不在公开源代码中？

2:02 直到他发现公共分支缺少四月份的更改。 Android 开源项目仍然是开源的。 根据谷歌的 2026 年政策，与其主干稳定模型保持一致， 谷歌每年发布两次 Android 源代码，分别在第二季度和第四季度。 Bionic 的公共 Android 17 分支仍然停留在 3 月 28 日的快照上。Pixel 手机在九月份获得了季度发布， 导致外部开发者必须通过反汇编器调试二进制文件 直到第四季度

2:29 发布。当外部开发者等待源代码发布时， 谷歌内部的代码在 AI 的帮助下移动得更快。

### 谷歌如何在自己的代码库中使用 Gemini 4 Argon？

2:33 谷歌声称 Gemini 4 Argon 帮助 Chrome 理清了 Chromium 四千万行代码库中一个六百万行的旧文件夹， 将数月的工作缩短为数周。 谷歌云工程师还通宵运行 Argon 11 小时，处理了他们 20.5 万行的 Python Agent 开发工具包。 Argon 提出了 32 个文件中的 6 项优化， 将会话开销降低了 40%。 人工维护者在审查中拒绝了这六项提案中的四项。 一个缓存可能在垃圾回收后返回过时的会话数据，

2:59 删除顶级导入破坏了 25 个内部谷歌测试，直到被重写为延迟加载器。 这让我们回到了模型本身。 当谷歌在 9 月 30 日宣布 Gemini 4 Argon 时， 我给它打上了 NEEDS REVIEW 标签，因为普通开发者无法使用它。 10 月 13 日，谷歌将 gemini 4 argon 端点标记为正式可用。

### 谁现在能获得 Gemini 4 Argon，价格是多少？

3:14 即使是发布也存在文档不匹配。 DeepMind 的页面称 Argon 今天可供 Google AI Pro 和 Ultra 订阅者使用。点击 API 定价文档，一个警告框显示 Argon 在免费层级和 Google AI Pro 上不可用。 在 AI Studio 和 Antigravity 中，你需要 AI Ultra 或付费 API 密钥。 每百万输入 token 2 美元和输出 token 10 美元的初始价格在 11 月后失效。 12 月 1 日，价格翻倍至输入 4 美元和输出 20 美元。 在 Artificial Analysis 排行榜上，Argon 的高分是 53 分，

3:45 与 GPT 6 Astra 和 Claude Fable 5.1 并列， 落后于 Claude Opus 5.5 的 58 分。 实时 API 测试平均需要 44 秒的思考时间才能收到第一个答案 token。 谷歌还展示了 Argon 控制波士顿动力公司的 Spot 机器人，将罐头放入脚踏垃圾桶。 在移动物理腿之前，Argon 会构建一个 MuJoCo 模拟来练习三腿平衡， 由人类技能和摄像头验证器提示指导。 现在来看看谷歌私有 Bionic 树中的那个单元测试。 在确认 Pixel emoji 错误 35 分钟后，

4:14 谷歌的维护人员发了一个捂脸表情。 Bionic 在第 1475 行有一个宽字符测试， 它断言了错误的返回值 2 而不是 3。

### 谷歌自己的单元测试断言了什么？

4:25 无论是人类在四月编写的更改，还是代理通宵完成的更改， 源代码检查和实际测试都能保持其真实性。 如果你更喜欢阅读而不是听我说，那么每天早上，diff 都会免费发送到你的收件箱， 请访问 the daily diff dot dev，链接在下方。 所以今天的判决是 NEEDS REVIEW。 对于付费 API 上的 Gemini 4 Argon，我会在有测试套件支持的限定重构上进行测试， 我还会继续敦促谷歌在发布二进制文件时发布 Android 源代码。 这就是今天的不同之处。

4:49 我是 Axrisi 的 Niko。

### 谷歌的两速发布有什么定论？

4:52 负责任地合并。 负责任地合并。 负责任地合并。 负责任地合并。 我是 Axrisi 的 Niko。 负责任地合并。

## 来源

- [\[BUG\] bionic: wcscspn()/wcspbrk() treat every wchar\_t &gt;= 0x100 as a match (Android 17, CP3A.260905.009) · #2260](https://github.com/android/ndk/issues/2260) — android/ndk
- [Android Open Source Project site updates — 2026 Changes to AOSP (Q2 and Q4 schedule)](https://source.android.com/docs/whatsnew/site-updates?year=2026) — Android Open Source Project
- [fix: avoid wcspbrk, broken for chars &gt;= U+0100 on Android 17 bionic · PR #41](https://github.com/vpinball/libwinevbs/pull/41) — vpinball/libwinevbs
- [Gemini API Release Notes — October 13, 2026 (Gemini 4 Argon GA)](https://ai.google.dev/gemini-api/docs/changelog) — Google AI for Developers
- [Gemini Developer API Pricing — Gemini 4 Argon](https://ai.google.dev/gemini-api/docs/pricing) — Google AI for Developers
- [Google AI plans in AI Studio](https://ai.google.dev/gemini-api/docs/google-ai-plans) — Google AI for Developers
- [Gemini 4 Argon — model overview and Chrome refactoring case study](https://deepmind.google/models/gemini/) — Google DeepMind
- [Optimizing a 200,000-line Python codebase overnight with Gemini 4 Argon](https://developers.googleblog.com/optimizing-a-200000-line-python-codebase-overnight-with-gemini-4-argon/) — Google for Developers Blog
- [Gemini 4 Argon for Robotics](https://developers.googleblog.com/gemini-4-argon-for-robotics/) — Google for Developers Blog
- [Gemini 4 Argon (High) Intelligence, Performance &amp; Price Analysis](https://artificialanalysis.ai/models/gemini-4-argon) — Artificial Analysis
