Android開発者は出荷されたPixelライブラリを逆アセンブルしなければならなかった
9月のAndroid 17 Pixelビルドにおけるワイド文字スキャンバグは、公開されているAOSPソースが古いスナップショットに基づいているため、出荷されたBionic Cライブラリを逆アセンブルして診断する必要がありました。
9月のAndroid 17 Pixelビルドにおけるワイド文字スキャンバグは、公開されているAOSPソースが古いスナップショットに基づいているため、出荷されたBionic Cライブラリを逆アセンブルして診断する必要がありました。この出来事は、Androidの第2四半期/第4四半期のソース公開サイクルと、Googleの社内AIエンジニアリングに関する主張、そして10月13日に有料APIとAI Ultra向けに展開されたGemini 4 Argonを結びつけます。
この動画の要点
- Android NDK issue #2260は、Bionicのwcscspn()およびwcspbrk()が、9月のAndroid 17 Pixelビルドにおいて、拒否セットにU+0100未満の2つ以上の文字がある場合、U+0100以上の文字で停止することを示しています。
- AOSPはオープンソースであり、ソースの公開は2026年の第2四半期と第4四半期に予定されています。公開されているandroid17-release Bionicブランチは、最後に2026年3月28日にスナップショットが作成され、9月のPixelバイナリよりも遅れています。
- GoogleのBionicメンテナはバグを確認し、誤った戻り値(3ではなく2)を期待する社内テストがwchar_test.cpp:1475にあることを発見しました。
- Gemini 4 Argon (gemini-4-argon)は、有料のGemini APIおよびGoogle AI Ultraサブスクライバー向けに10月13日に一般提供が開始されました。AI StudioおよびAPIドキュメントには、FreeおよびGoogle AI Proティアは含まれていません。
- 100万トークンあたり入力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フォンでは。 開発者は、絵文字のバグを報告するためだけに、出荷されたシステムライブラリを逆アセンブルしなければなりませんでした。 このビデオでは、なぜ1つの絵文字が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の2つのワイド文字検索関数にあります。
どのようにして1つの絵文字がAndroidのCライブラリを壊したのか?
1:01 プログラムはそれらに文字列と区切り文字のリスト( 改行など)を渡し、最初の区切り文字の前に何文字出現するかを尋ねます。 9月のAndroid 17ビルドでは、 区切り文字リストに16進数の100未満の2つ以上の文字がある場合、 スキャンは16進数の100以上の最初の文字で停止します。 16進数の100以上の最初の文字で停止します。 これにより、絵文字、キリル文字、中国語文字を含む110万以上のUnicodeコードポイントが壊れます。 絵文字、キリル文字、中国語文字が含まれます。
1:24 オープンソースライブラリが壊れた場合、通常はリポジトリを読みます。 開発者のfrancisdbは、6月の公開されているAndroid 17ブランチをチェックし、問題なく動作する クリーンなループを発見しました。 電話のバイナリは異なるコードを実行していました。 そこで開発者はPixelからCライブラリを抜き出し、arm 64命令を逆アセンブルしました。 複数文字検索を高速化するため、バイナリはスタック上に256バイトのルックアップテーブルを構築します。 スタック上に256バイトのルックアップテーブルを構築します。
1:47 ループは各文字を16進数の100と比較し、文字が低い間だけスキャンを続けます。 文字が低い間だけスキャンを続けます。 より広い文字はループを終了し、一致を報告します。 これは文字を保持する場合には機能しますが、それらを拒否する場合には失敗します。 GoogleのBionicメンテナは3時間以内に返信し、バグを確認しました。
なぜ出荷されたAndroidコードは公開ソースにないのか?
2:02 彼は記者にソースを読むように伝えようとしていましたが、 公開ブランチに4月の変更がないことに気づきました。 Androidオープンソースプロジェクトは引き続きオープンソースです。 Googleの2026年ポリシーに基づき、そのトランク安定モデルに沿って、 GoogleはAndroidソースを年に2回、第2四半期と第4四半期に公開しています。 Bionicの公開されているAndroid 17ブランチは、3月28日のスナップショットのままです。 Pixelフォンは9月に四半期リリースを受け取りましたが、 外部の開発者は第4四半期のドロップまで
2:29 逆アセンブラでバイナリをデバッグすることになりました。 外部の開発者がソースの公開を待つ間、
Googleはどのようにして自社のリポジトリ内でGemini 4 Argonを使用しているのか?
2:33 Google社内ではAIでコードがより速く動いています。 Googleは、Gemini 4 ArgonがChromeがChromiumの4000万行のコードベース内にある600万行のレガシーフォルダーを 解きほぐすのに役立ち、数ヶ月かかっていた作業を数週間に短縮したと主張しています。 数ヶ月かかっていた作業を数週間に短縮しました。 Google Cloudのエンジニアも、20万5千行に及ぶPython Agent Development Kit上でArgonを夜通し11時間実行しました。 Argonは32ファイルにわたる6つの最適化を提案し、 セッションオーバーヘッドを40%削減しました。
2:59 人間のメンテナは、レビューでその6つの提案のうち4つを却下しました。 あるキャッシュはガベージコレクション後に古いセッションデータを返すリスクがあり、 トップレベルのインポートを削除すると、25個のGoogle社内テストが壊れたため、 遅延ローダーとして書き直されました。 これでモデル自体に話が移ります。
現在、Gemini 4 Argonは誰が利用でき、価格はいくらか?
3:14 Googleが9月30日にGemini 4 Argonを発表したとき、 私は一般の開発者がそれを使用できなかったため、NEEDS REVIEWと評価しました。 10月13日、Googleはgemini-4-argonエンドポイントが一般提供開始になったと発表しました。 展開でさえ、ドキュメントの不一致があります。 DeepMindのページには、Argonは本日Google AI ProおよびUltra サブスクライバー向けに利用可能であると記載されています。API料金のドキュメントをクリックすると、警告ボックスにArgonは 無料ティアおよびGoogle AI Proでは利用できないと記載されています。 AI StudioとAntigravityでは、AI Ultraまたは有料APIキーが必要です。
3:45 入力トークン100万個あたり2ドル、出力トークン100万個あたり10ドルの導入価格は11月末で終了します。 入力トークン100万個あたり10ドルは11月で期限切れになります。 12月1日には、価格は入力4ドル、出力20ドルに倍増します。 Artificial Analysisのリーダーボードでは、Argonは53の高スコアを記録し、 GPT-6 AstraおよびClaude Fable 5.1と同率で、 Claude Opus 5.5の58には及びません。 ライブAPIテストでは、最初の回答トークンが届くまでに平均44秒の思考時間がかかります。 Googleはまた、ArgonがBoston Dynamics Spotロボットを制御して
4:14 缶をフットペダルビンに落とす様子も披露しました。 物理的な足を動かす前に、ArgonはMuJoCoシミュレーションを構築して、 人間のスキルとカメラ検証プロンプトに導かれて3本足でバランスを取る練習をします。
Google自身の単体テストは何をアサートしたのか?
4:25 さて、GoogleのプライベートBionicツリーにあるその単体テストについてです。 Pixelの絵文字バグを確認してから35分後、 Googleのメンテナは顔文字を投稿しました。 Bionicには1475行目にワイド文字テストがあり、 バグのある戻り値2(3ではなく)をアサートしていました。 4月に人間が書いた変更であろうと、夜間にエージェントが書いたものであろうと、 ソースの検査と実際のテストがそれを正直に保ちます。 これを私が話すのではなく読みたい場合は、毎朝差分があなたの受信箱に届きます。
4:49 thedailydiff.devで無料で、リンクは下記にあります。
Googleの2段階リリースに対する評価は?
4:52 したがって、今日の判決はNEEDS REVIEWです。 有料APIでGemini 4 Argonを使用する場合、私はテストスイートに裏打ちされた限定されたリファクタリングでそれをテストし、 バイナリが出荷されたらGoogleにAndroidソースを公開するよう働きかけ続けます。本日は以上です。 バイナリが出荷されたらGoogleにAndroidソースを公開するよう働きかけ続けます。そして、本日はここまでです。 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



