Android 開發者必須反組譯已出貨的 Pixel 函式庫
由於公開的 AOSP 原始碼是較早期的快照,因此 9 月 Android 17 Pixel 版本中寬字元掃描錯誤必須透過反組譯已出貨的 Bionic C 函式庫來診斷。
由於公開的 AOSP 原始碼是較早期的快照,因此 9 月 Android 17 Pixel 版本中寬字元掃描錯誤必須透過反組譯已出貨的 Bionic C 函式庫來診斷。此事件將 Android 第二季/第四季的原始碼發佈節奏與 Google 內部 AI 工程聲明,以及 10 月 13 日付費 API 和 Gemini 4 Argon 的 AI Ultra 推出連結起來。
本影片重點
- Android NDK issue #2260 顯示 Bionic 的 wcscspn() 和 wcspbrk() 在 9 月 Android 17 Pixel 版本上,當拒絕集包含兩個或更多個小於 U+0100 的字元時,會在字元 >= 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 文件不包含免費和 Google AI Pro 層級。
- 每 1M token 的輸入 2 美元和輸出 10 美元的入門級 API 定價將持續到 2026 年 11 月 30 日,並從 2026 年 12 月 1 日開始翻倍至輸入 4 美元和輸出 20 美元。
- 在 Google 的 11 小時隔夜 ADK 優化運行中,人類維護人員發佈了 Argon 提出的 6 項優化中的 2 項,並在程式碼審查期間拒絕了 4 項。
翻譯文字稿
譯自英文原版旁白。可用的音訊和字幕由 YouTube 控制。
為什麼 Android 開發者要反組譯 Pixel 函式庫?
0:00 Android 是開源的,但公開的原始碼比二進位檔落後數個月 在 Pixel 手機上。 一位開發人員必須反組譯一個已出貨的系統函式庫才能報告一個表情符號 錯誤。在這段影片中,為什麼一個表情符號會破壞 Pixel 手機上的 C 函式庫? 為什麼已出貨的 Android 程式碼從公開樹中遺失了? 現在誰能獲得 Gemini 4 Argon? 當 Google 維護人員檢查該錯誤的私有原始碼樹時, 他發現了一些比缺少單元測試更糟糕的事情。
0:26 我將在判決之前向您展示確切的失敗。 今天是 10 月 14 日星期三,這是 The Daily Diff。 Bionic 是 Android 的核心 C 函式庫,是每個原生應用程式賴以生存的層,用於 記憶體、檔案和文字。 Google 透過 Android 開源專案發佈 Android, 同時也推出 Gemini 4 Argon 等開發者 AI 工具。 這個錯誤出現在 Android 上的 Visual Pinball 中。 在 Pixel 7 和 Pixel 8a 手機於 9 月更新後,
0:51 只要腳本註解中包含表情符號,彈珠台就無法載入。 一個笑臉讓彈珠台崩潰了。 罪魁禍首在於 Bionic 中的兩個寬字元搜尋函式。
一個表情符號如何破壞 Android 的 C 函式庫?
1:01 程式向它們提供一個字串和一個分隔符號列表, 例如換行符,並詢問在第一個 分隔符號之前出現了多少個字元。在 9 月的 Android 17 版本中,當分隔符號列表包含 兩個或更多個小於十六進位 100 的字元時,掃描會在第一個 等於或大於十六進位 100 的字元處停止。 這會破壞超過一百萬個 Unicode 程式碼點, 包括表情符號、西里爾字母和中文字元。
1:24 當開源函式庫發生故障時,您通常會閱讀儲存庫。 開發人員 francisdb 檢查了 6 月的公開 Android 17 分支,發現一個 乾淨的迴圈運行正常。 手機的二進位檔運行了不同的程式碼。 於是開發人員從 Pixel 中提取了 C 函式庫,並反組譯了 arm 64 位元指令。 為了加速多字元搜尋,二進位檔在堆疊上構建了一個 256 位元組的查詢表。
1:47 迴圈將每個字元與十六進位 100 進行比較,並僅在字元較小時繼續掃描。 只要字元較低。任何較寬的字元都會退出迴圈並報告匹配, 這適用於保留字元,但在拒絕它們時會失敗。 Google 的 Bionic 維護人員在三小時內回覆並確認了這個錯誤。 他正要告訴報告者閱讀原始碼,
為什麼已出貨的 Android 程式碼未包含在公開原始碼中?
2:02 直到他發現公開分支缺少 4 月份的更改。 Android 開源專案仍然是開源的。 根據 Google 的 2026 年政策,與其主幹穩定模型保持一致, Google 每年發佈兩次 Android 原始碼,分別在第二季度和第四季度。 Bionic 的公開 Android 17 分支仍然停留在 3 月 28 日的快照。Pixel 手機在 9 月收到了季度發布, 讓外部開發人員在反組譯器中偵錯二進位檔,直到第四 季度發布。當外部開發人員等待原始碼發佈時,
2:29 Google 內部程式碼在 AI 的協助下運行得更快。 Google 聲稱 Gemini 4 Argon 幫助 Chrome 理清了 Chromium 4000 萬行程式碼庫中一個 600 萬行的舊版
Google 如何在其自己的儲存庫中使用 Gemini 4 Argon?
2:33 資料夾,將數個月的工作縮短為數週。 Google Cloud 工程師還在他們的 Python Agent Development Kit 上運行 Argon 11 小時,涵蓋 205,000 行程式碼。 Argon 在 32 個檔案中提出了 6 項優化, 將會話開銷減少了 40%。 人類維護人員在審查中拒絕了這六項提案中的四項。 一個快取可能會在垃圾回收後傳回過時的會話資料, 刪除頂層導入會破壞 25 個內部 Google 測試,直到
2:59 重寫為延遲載入器。 這將我們帶到模型本身。 當 Google 在 9 月 30 日宣布 Gemini 4 Argon 時, 我將它標記為 NEEDS REVIEW,因為一般開發人員無法使用它。 10 月 13 日,Google 將 gemini 4 argon 端點標記為全面
現在誰能獲得 Gemini 4 Argon,價格是多少?
3:14 可用。甚至 rollout 也存在文件不匹配。 DeepMind 的頁面說 Argon 今天可供 Google AI Pro 和 Ultra 訂閱者使用。點擊 API 定價文件,一個警告框說明 Argon 在免費層和 Google AI Pro 上不可用。 在 AI Studio 和 Antigravity 中,您需要 AI Ultra 或付費 API 金鑰。 每百萬輸入 token 兩美元和輸出 token 十美元的入門價格 在 11 月之後到期。 12 月 1 日,價格翻倍,輸入 4 美元,輸出 20 美元。
3:45 在 Artificial Analysis 排行榜上,Argon 獲得 53 分高分, 與 GPT 6 Astra 和 Claude Fable 5.1 並列, 落後於 Claude Opus 5.5 的 58 分。 即時 API 測試平均需要 44 秒的思考時間,然後才傳回第一個答案 token。Google 還展示了 Argon 控制波士頓動力公司的 Spot 機器人 將罐子投入腳踏式垃圾桶。 在移動實體腿之前,Argon 會建立一個 MuJoCo 模擬來練習 三條腿平衡,由人類技能和攝影機驗證器提示引導。
4:14 現在,關於 Google 私有 Bionic 樹中的那個單元測試。 確認 Pixel 表情符號錯誤 35 分鐘後, Google 的維護人員發布了一個扶額的表情。
Google 自己的單元測試斷言了什麼?
4:25 Bionic 在第 1475 行有一個寬字元測試, 它斷言了錯誤的傳回值 2 而不是 3。 無論是人類在 4 月編寫的更改,還是代理在隔夜編寫的更改, 原始碼檢查和真實測試都能使其保持誠實。 如果您寧願閱讀而不是聽我說,那麼 diff 每天早上都會免費傳送到您的收件匣, 網址是 thedailydiff.dev,連結如下。 所以今天的判決是 NEEDS REVIEW。 對於付費 API 上的 Gemini 4 Argon,我會在由測試套件支援的受限重構上測試它,
4:49 我會繼續推動 Google 在二進位檔發佈時發佈 Android 原始碼。
Google 兩階段發布的裁決是什麼?
4:52 這就是今天的 diff。 我是來自 Axrisi 的 Niko。 負責任地合併。 負責任地合併。 我是來自 Axrisi 的 Niko。 負責任地合併。
來源
- [BUG] bionic: wcscspn()/wcspbrk() treat every wchar_t >= 0x100 as a match (Android 17, CP3A.260905.009) · #2260android/ndk
- Android Open Source Project site updates — 2026 Changes to AOSP (Q2 and Q4 schedule)Android Open Source Project
- fix: avoid wcspbrk, broken for chars >= U+0100 on Android 17 bionic · PR #41vpinball/libwinevbs
- Gemini API Release Notes — October 13, 2026 (Gemini 4 Argon GA)Google AI for Developers
- Gemini Developer API Pricing — Gemini 4 ArgonGoogle AI for Developers
- Google AI plans in AI StudioGoogle AI for Developers
- Gemini 4 Argon — model overview and Chrome refactoring case studyGoogle DeepMind
- Optimizing a 200,000-line Python codebase overnight with Gemini 4 ArgonGoogle for Developers Blog
- Gemini 4 Argon for RoboticsGoogle for Developers Blog
- Gemini 4 Argon (High) Intelligence, Performance & Price AnalysisArtificial Analysis



