# Android 開發者必須反彙編一個已發佈的 Pixel 庫

Published: 2026-10-14

在 9 月份的 Android 17 Pixel 版本中，一個寬字元掃描錯誤必須通過反彙編已發佈的 Bionic C 庫來診斷，因為公開的 AOSP 源碼是早期的快照。這一事件將 Android 第二季/第四季的源碼發佈節奏與 Google 內部 AI 工程聲明以及 10 月 13 日 Gemini 4 Argon 的付費 API 和 AI Ultra 推廣聯繫起來。

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

## 本影片涵蓋的內容

- Android NDK 問題 #2260 顯示，在 9 月份的 Android 17 Pixel 版本上，當拒絕集包含兩個或更多小於 U+0100 的字元時，Bionic 的 wcscspn() 和 wcspbrk() 在遇到大於或等於 U+0100 的字元時停止。
- AOSP 仍然是開源的，源碼發佈計劃於 2026 年第二季和第四季進行；公開的 android17-release Bionic 分支上次快照是在 2026 年 3 月 28 日，落後於 9 月份的 Pixel 二進制文件。
- Google 的 Bionic 維護者確認了這個錯誤，並在 wchar\_test.cpp:1475 發現了一個內部測試，該測試預期了錯誤的返回值（2 而不是 3）。
- Gemini 4 Argon (gemini-4-argon) 於 10 月 13 日全面開放給付費 Gemini API 和 Google AI Ultra 訂閱者；AI Studio 和 API 文檔排除了 Free 和 Google AI Pro 等級。
- 每百萬輸入 tokens 2 美元和輸出 tokens 10 美元的入門級 API 定價將持續到 2026 年 11 月 30 日，並從 2026 年 12 月 1 日起翻倍至輸入 4 美元和輸出 20 美元。
- 在 Google 長達 11 小時的 ADK 通宵優化運行中，人類維護者在代碼審查期間發佈了 Argon 提出的 6 項優化中的 2 項，並拒絕了 4 項。

## 章節

- 0:00 為什麼 Android 開發者要反彙編 Pixel 庫？
- 0:58 一個表情符號如何破壞 Android 的 C 庫？
- 1:59 為什麼已發佈的 Android 代碼沒有包含在公開源碼中？
- 2:32 Google 如何在自己的代碼庫中使用 Gemini 4 Argon？
- 3:13 現在誰能獲得 Gemini 4 Argon，價格是多少？
- 4:25 Google 自己的單元測試斷言了什麼？
- 4:52 Google 雙速發佈的判決是什麼？

## 翻譯的文字記錄

從英文原文旁白翻譯。可用的音頻和字幕由 YouTube 控制。

### 為什麼 Android 開發者要反彙編 Pixel 庫？

0:00 Android 是開源的，但公開的源代碼卻比二進制文件晚了數月 在 Pixel 手機上。 開發人員不得不反彙編一個已發佈的系統庫，只是為了報告一個表情符號 錯誤。在這段影片中，為什麼一個表情符號會破壞 Pixel 手機上的 C 庫？ 為什麼已發佈的 Android 代碼沒有包含在公共樹中？ 現在誰能真正獲得 Gemini 四 Argon？ 當 Google 維護者檢查私人源代碼樹中的那個錯誤時， 他發現了一些比缺少單元測試更糟糕的東西。

0:26 在判決之前，我會向您展示確切的失敗。 今天是 10 月 14 日星期三，這是 The Daily Diff。 Bionic 是 Android 的核心 C 庫，所有原生應用程式都依賴它來處理 記憶體、文件和文本。 Google 透過 Android 開源專案發佈 Android， 同時也發佈了像 Gemini 四 Argon 這樣的開發者 AI 工具。 這個錯誤出現在 Android 上的 Visual Pinball 中。 在 Pixel 七和 Pixel 八 A 手機上九月的更新之後，

0:51 只要腳本註釋中包含表情符號，彈珠台就無法載入。 一個笑臉表情符號導致彈珠機崩潰。 罪魁禍首是 Bionic 中兩個寬字元搜索函數。

### 一個表情符號如何破壞 Android 的 C 庫？

1:01 程式向它們提供一個字串和一個分隔符號列表， 例如換行符，並詢問在第一個分隔符號之前出現了多少個字元。 在九月的 Android 十七 版本中，當分隔符號列表有 兩個或更多小於十六進制一百的字元時，掃描會在大於或等於十六進制一百的第一個 字元處停止。 這會破壞超過一百一十萬個 Unicode 編碼點， 包括表情符號、西里爾字母和中文字符。

1:24 當一個開源庫損壞時，您通常會閱讀儲存庫。 開發者 francisdb 檢查了六月份公開的 Android 十七分支，發現了一個 運作良好的乾淨循環。 手機二進制文件運行的是不同的代碼。 所以開發人員從 Pixel 手機中提取了 C 庫，並反彙編了 ARM 六十四位指令。 為了加快多字元搜索，二進制文件在堆棧上構建了一個二百五十六 字節的查找表。

1:47 循環將每個字元與十六進制一百進行比較，並且只在字元較低時 繼續掃描。 任何更寬的字元都會退出循環並報告匹配， 這適用於保留字元，但在拒絕它們時會失敗。 Google 的 Bionic 維護者在三小時內回复並確認了這個錯誤。

### 為什麼已發佈的 Android 代碼沒有包含在公開源碼中？

2:02 他正要告訴報告者閱讀源碼， 直到他看到公共分支缺少四月份的更改。 Android 開源專案仍然是開源的。 根據 Google 的二零二六政策，與其主幹穩定模型保持一致， Google 每年發佈兩次 Android 源代碼，分別在第二和第四季度。 Bionic 的公共 Android 十七分支仍然是三月二十八日的一個快照。 Pixel 手機在九月份獲得了季度發佈， 讓外部開發人員在第四季度發佈之前在反彙編器中調試二進制文件。

2:29 當外部開發人員等待源代碼發佈時， Google 內部代碼與 AI 一起運行得更快。

### Google 如何在自己的代碼庫中使用 Gemini 4 Argon？

2:33 Google 聲稱 Gemini 四 Argon 幫助 Chrome 從 Chromium 的四千萬行代碼庫中解開了一個六百萬行的舊版 文件夾， 將數月的工作縮短為數週。 Google Cloud 工程師還通宵運行 Argon 十一小時，用於他們龐大的 Python 代理開發工具包，涵蓋二十萬五千行代碼。 Argon 提出了三十兩個文件中六項優化， 將會話開銷減少了百分之四十。 人類維護者在審查中拒絕了這六項建議中的四項。

2:59 一個緩存可能在垃圾回收後返回過時的會話數據， 刪除頂級導入會破壞二十五個內部 Google 測試，直到 重寫為延遲加載器。 這就引出了模型本身。 當 Google 在九月三十日宣布 Gemini 四 Argon 時，

### 現在誰能獲得 Gemini 4 Argon，價格是多少？

3:14 我將其標記為 NEEDS REVIEW，因為普通開發者無法使用它。 在十月十三日，Google 將 gemini 四 argon 端點標記為普遍可用。 即使是發佈也存在文檔不匹配。 DeepMind 的頁面稱 Argon 今天可用於 Google AI Pro 和 Ultra 訂閱者。點擊 API 定價文檔，警告框指出 Argon 在免費層和 Google AI Pro 上不可用。 在 AI Studio 和 Antigravity 中，您需要 AI Ultra 或付費 API 金鑰。 每百萬輸入 tokens 兩美元和輸出十美元的入門價格

3:45 在十一月之後到期。 在十二月一日，價格翻倍為輸入四美元和輸出二十美元。 在 Artificial Analysis 排行榜上，Argon 在高分中獲得五十三分， 與 GPT 六 Astra 和 Claude Fable 五點一並列， 落後於 Claude Opus 五點五的五十八分。 實時 API 測試平均需要四十四秒的思考時間，然後才返回第一個答案 tokens。Google 還展示了 Argon 控制 Boston Dynamics Spot 機器人 將罐子投入腳踏垃圾桶。

4:14 在移動實體腿之前，Argon 會建立一個 MuJoCo 模擬來練習 三足平衡，由人類技能和攝像頭驗證器提示引導。 現在談談 Google 私有 Bionic 樹中的那個單元測試。

### Google 自己的單元測試斷言了什麼？

4:25 在確認 Pixel 表情符號錯誤後三十五分鐘， Google 的維護者發了一張囧臉。 Bionic 在線十四百七十五有一個寬字元測試， 它斷言了錯誤的返回值二，而不是三。 無論更改是人類在四月編寫的，還是代理在晚上完成的， 源代碼檢查和真實測試都能保持其誠實性。 如果您寧願閱讀而不是聽我說，那麼每天早上都會有免費的 diff 發送到您的收件箱， 網址是 thedailydiff.dev，連結在下方。

4:49 所以今天的判決是 NEEDS REVIEW。

### Google 雙速發佈的判決是什麼？

4:52 使用付費 API 上的 Gemini 四 Argon，我會在一套測試套件支持的限定重構上測試它， 我會繼續推動 Google 在發佈二進制文件時同時發佈 Android 源代碼。 這就是今天的 diff。 我是來自 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
