※本記事は、Jamal Eason氏(Androidの開発者エクスペリエンス担当)とTor Norbye氏(Android開発者ツール・ライブラリのエンジニアリングリード)による動画「What's New in Android Development Tools」の内容を基に作成されています。動画の詳細情報は https://www.youtube.com/watch?v=N4GgGBKnHe4 でご覧いただけます。本記事では、動画の内容を要約しております。なお、本記事の内容は登壇者の見解を正確に反映するよう努めていますが、要約や解釈による誤りがある可能性もありますので、正確な情報や文脈については、オリジナルの動画をご視聴いただくことをお勧めいたします。また、Google I/O 2026のAndroidセッション一覧(https://goo.gle/Android-at-IO2026 )や、Android Developersのチャンネル(https://goo.gle/AndroidDevs )もあわせてご参照ください。
1. イントロダクションと開発ロードマップの方針
1-1. 登壇者紹介とセッションの狙い
Jamal: 私はJamalです。Android開発ツールにおける開発者エクスペリエンスを担当しています。本日は「What's New in Android Development Tools」と題して、Android開発ツールの進化についてお話しします。
Tor: 私はTorです。Android開発者向けツールとライブラリのエンジニアリングをリードしています。
Jamal: 皆さんがAIエージェントを主な開発手段として全面的に採用している方であっても、あるいはアプリのあらゆる細部を自分の手でアーキテクチャしている方であっても、またその中間のどこかに位置している方であっても構いません。今日は皆さんがAndroid開発者として成功するための最新のアップデートについてお伝えしていきます。開発スタイルがどうであれ、皆さんの助けになる内容をご紹介するつもりです。
本日の進行としては、まず私から最近のロードマップについてお話しし、その後Torから最新ツールのライブデモをお見せします。そして最後に私が戻って、追加のアップデートをご紹介するという構成です。
1-2. Agent Mode導入とフィードバック
Jamal: まず、皆さんが見落としているかもしれない、製品ロードマップに関する最近の変化についてお話しさせてください。昨年のGoogle I/Oで、私たちはAgent Modeを導入しました。これは、単なるAIアシスタントとしての開発フローから、最新のAIモデルを使ってコードを生成できる半自律的なエージェントへと、開発の流れを一段階進めるものでした。それ以来、皆さんから非常に多くの肯定的なフィードバックをいただいています。
1-3. 開発者とAIエージェント両方への機能開発
Jamal: このフィードバックを踏まえて、Android DevToolsチームは今後の機能開発の進め方を転換しました。私たちはこれからは、Android開発者である皆さんが生産的に働けるようにするための機能と、皆さんがコードベースにデプロイするAIエージェントのための機能の、両方を作っていきます。私たちは、プロフェッショナルなアプリ開発者の大多数にとって、目標はアプリやゲームをGoogle Playに公開し、世界中の消費者の手に届けることだと理解しています。私たちは、この目標に向けて皆さんが生産的に取り組めるよう、引き続きAndroid DevToolsへの投資を続けています。
1-4. スピードと正確性のトレードオフ
Jamal: Android開発者である皆さんは、最終的に自分のアプリのコードが正しく動作することに対して責任を負っています。もしコーディングエージェントがミスを犯したり、意図しない方向に進んでしまったりすれば、それは皆さんのビジネスに影響を与えます。この責任は皆さんにあるということを、私たちは理解しています。ですから、これはトレードオフの問題なのです。
一方には、コーディングエージェントがどれだけ速くコードを生成できるかという「スピード」があります。もう一方には、技術的負債を生み出すことなく、アプリのコードを継続的にテストし検証できるかという「正確性」があります。このスピードと正確性のトレードオフを考えたとき、私たちはAndroid Studioこそが、エージェントによるワークフローと、深いレベルでの技術的なアプリ開発の両方を扱うための最良の場所だと考えています。
今日はAndroid開発を始めるための新しい方法を数多くご紹介しますが、プロフェッショナルな開発者の皆さんがエコシステム全体のあらゆるデバイスに向けてアプリをスケールさせていくための推奨パスは、やはりAndroid Studioを使うことです。それでは、Android Studio Otterで見落としているかもしれないいくつかの機能アップデートについてお話ししましょう。
2. Android Studio Otter/Pandaにおけるモデル・ツール群の拡張
2-1. Gemini Enterprise・Google One・APIキー対応
Jamal: まず皆さんに、Android Studio内で最新のGeminiモデルにアクセスしやすくなったことをお伝えします。以前から私たちは、Gemini Enterpriseと呼ばれるエンタープライズアカウントをサポートしてきました。Android Studioで、Google Workspaceのアカウントやフェデレーションされた企業のメールアドレスでログインすることで、企業が承認・管理するモデルにGemini Enterprise経由でアクセスできます。
Android Studio Otterでは、個人のGoogleアカウントで開発している場合に向けて、Google Oneのサポートも追加しました。Google AI ProやUltraプランをお持ちであれば、Android Studioにログインすることで、無料の制限付きデフォルト階層を超えたデータモデルの容量とGeminiモデルにアクセスできるようになります。さらに、Google AIプランの利用上限を超えたクォータが必要な方や、モデル選択においてより高い柔軟性を求めるAIパワーユーザーの方に向けては、Google AI StudioのGemini APIキーをAndroid Studioに設定することもできます。
2-2. 独自モデルの持ち込みとモデルピッカー
Jamal: 私たちは、開発者の皆さんが持つAIに対するニーズが非常に幅広いことを理解しています。そして、Android Studioのツール群をすべてのAndroid開発者に届けることにコミットしています。そこでAndroid Studio Otterでは、ローカルモデルとリモートモデルのどちらかを選んで、独自のモデルをAndroid Studioに持ち込めるようにしました。リモートモデルの選択機能は便利ですし、あるいは企業として特定のLLMモデルの利用が義務付けられている場合でも、それをAndroid Studioに持ち込むことができます。
一度、リモートあるいはローカルのモデルに接続すると、そのモデルはAndroid Studio内のModel Pickerに表示されるようになり、開発中にモデルを切り替える柔軟性が得られます。
2-3. Android Bench
Jamal: モデル選択の話に関連して、モデルの性能はほぼ週単位で変化しているという状況があります。そこで私たちは最近、どのモデルを使うべきかを判断する助けとなるAndroid Benchを公開しました。このベンチマークは大きく二つの役割を果たしています。一つ目は、一般的なコーディングパズルやコーディングチャレンジに頼るのではなく、皆さんが日々使っている実際のAndroidのタスクをもとに構築されているという点です。二つ目は、開発者の選択を後押しするという点です。LLMを作る企業各社がAndroid Benchに対してベンチマークを改善していくにつれて、それはAndroid開発のためのより幅広いモデル選択肢を生み出すことにもつながります。
プロプライエタリなモデルに加えて、今週からはオープンモデルもAndroid Benchに追加しました。これにより、皆さんにとって最適なモデルを選ぶ際の選択肢がさらに広がります。近いうちには、1日から2日ほどかかるような長時間タスクや、エージェントの評価も追加していく予定です。これによって、さまざまなエージェントモデルが他のモデルと比べてどのようなパフォーマンスを発揮するかを評価できるようになります。Android Benchの詳細や最新のリーダーボードは、d.android.com/benchでご覧いただけます。
2-4. ローカルLLMランナーとGemma 4
Jamal: Android Benchを確認したうえで、ラップトップやローカルエリアネットワーク上でローカルモデルを使いたい場合、Android StudioにはOllamaやLLM Studioのようなローカルのllmランナーを指定するオプションがあります。これにより、コミュニティが提供するさまざまなオープンウェイトモデルをダウンロードできます。
もしラップトップのスペックが対応できるのであれば、私たちがAndroid Studioとの組み合わせで推奨するローカルモデルはGoogleのGemma 4です。このモデルにはいくつかの特長があります。一つ目は、ネイティブなエージェント的ツール呼び出しに対応していること、つまり組み込みの推論能力を持っており、Agent Modeのようなものと互換性があるという点です。二つ目は、Android向けに最適化されている点です。このモデルはAndroidのAPIとKotlinのプログラミングを学習しています。そして三つ目は、統合されているという点です。私たちはこのモデルがOllamaやLLM Studioといった一般的なランナーで動作することを確認しています。他のオープンソースモデルと同様に、このローカルモデルは完全にオフラインで実行でき、ラップトップ側のセキュリティを活用することもできます。Android Benchに基づくと、Gemma 4はトップクラスのプロプライエタリモデルと比較しても、非常に良好な結果を示しています。
2-5. UIコンテキスト変換・App Links・MCP・Knowledge Base
Jamal: モデルプロバイダーの選択機能に加えて、私たちはAndroid特有のワークフローや側面、たとえばUIに特化した機能も導入しました。多くの場合、コーディングエンジンに対して、自分のUIの何が問題なのかを正確に伝えるのは難しいものです。特に視覚的な要素についてはそうです。そこで現在Android Studioでは、Compose Preview上で右クリックし、デザインサーフェス上で変換をトリガーすることで、エージェントに正しいコンテキストを渡せるようになりました。
アプリの中でWebへの直接リンクを扱っている方に向けては、リンクの整理を助ける新しいAI搭載のApp Linksアシスタントを用意しました。このツールはAIを使ってURLを検証・接続し、それらが最初から正しく動作することを確認します。
次に、サードパーティのツールをAndroid Studio AIに統合できるよう、MCPサーバーのサポートを追加しました。私たちは、よく使われるMCPサーバーの組み込みギャラリーを用意しています。これにより、Figmaから入力デザインを取得したり、Firebaseのデータベースに接続したりすることができ、Android Studio内でエージェントをこれらのMCPサーバーに直接接続できます。
また、Android Studioに組み込まれているものとしてAndroid Knowledge Baseがあります。この機能はいくつかの点で役立ちます。一つ目は、ドキュメントが常に最新であるという点です。私たちが新しいAndroid APIをリリースし文書化するたびに、それがAndroid Studioにそのまま反映されます。二つ目は、エージェントに特化しているという点です。皆さんが何か追加の作業をする必要は一切なく、質問の内容に基づいてエージェントが自ら、質問に答えたり結果を実行したりするために使うべきコンテキストを判断します。そして最後に、対象はAndroidだけではないという点です。実際には、KotlinとFirebaseの知識もこのナレッジベースに含めています。Android Studio Otterは四つの小規模リリースにまたがっており、それに加えて数多くの新機能と安定性の修正が含まれています。
2-6. 新テンプレートとプロジェクトウィザード
Jamal: 続いてAndroid Studio Pandaについてです。このリリースでは、Getting Startedの体験に時間を割きました。まず、Android Automotive向けの新しいテンプレートを追加しました。これは、Android AutoやAndroid Automotive向けに、運転に最適化されたアプリの作成を効率化するものです。
また、Gemini APIをアプリに追加するために使われるGemma APIテンプレートも更新しました。この更新には、バックエンドのセットアップを担い、アプリ内でのAPIキー漏洩のリスクを最小化するFirebase AI Logicとの統合が含まれています。組み込みのテンプレートを使うことの良い点は、AIトークンを一切使わずにそのまますぐに使い始められるという点です。
さらに一歩進めたい場合に向けては、エージェントベースの新規プロジェクトウィザードを立ち上げました。プロンプトと有料プランまたはAPIキーを組み合わせるだけで、Gemini Nano Bananaによって美しくデザインされ、適切な依存関係がすべて揃った、アダプティブなカスタムAndroidプロジェクトを作成できます。アプリが生成された後は、組み込みのAndroid Geminiエージェントを使って引き続きイテレーションを重ねることができます。
2-7. Android SkillsとAgent Planning Mode
Jamal: このリリースにはAndroid Skillsも含まれています。これは重要なポイントです。最新のモデルのトレーニングやドキュメントがあってもなお、エージェントが正しいアクションを実行するためには、もう少しステアリングが必要になる場合があります。そこで登場するのがAndroid Skillsです。私たちは、最新のアダプティブAPIの統合や、XMLからComposeへの変換といった、現在のモデルが少し苦手とする主要な開発タスクについて、約10個のスキルを用意しています。スキルについて詳しく知りたい方は、github.com/android/skillsをご覧ください。
最後に、このリリースではAgent Planning Modeも追加しました。これは、複雑な問題や複数段階にわたる課題に対して、モデルがもう少し事前に考え抜く必要がある場合に役立つものです。このモードでは、エージェントがまず実装計画を作成し、皆さんがそれをレビューできます。そのうえで、エージェントはその計画を実行に移します。以上がAndroid Studio Pandaにおける最新のアップデートです。Otterと同様に、こちらも四つのリリースと、その間の数多くのコンシューマー向けCanaryリリースがあります。なお、このリリースには新しい権限モデルも含まれていますが、それについては後ほどのライブデモでお話ししたいと思います。
3. Android CLIとエコシステムの拡大
3-1. Androidエージェントファーストという設計方針
Jamal: ここで、Android Studio Quailについて触れておきます。これは、最新かつ知性的なプラットフォーム強化と、これから少し後のライブデモでお見せする改善や生産性機能とのバランスを取ったリリースです。そして、Android Studioに加えて、私はAndroid Command Line Interfaceの登場についてもお話ししたいと思っています。
私たちはこれを、Androidエージェントファーストという考え方で構築しました。LLMがAndroidアプリを構築・作成する際に、正しく物事を進めるのに苦労しているということが分かったため、その問題を解決するためにこのツールを作りました。コマンドラインツールとして、これは軽量であり、システム上の他のプロセス、たとえば他のLLMやAndroid Studioへの接続も含めて、プログラムから利用できるインターフェースとして機能します。
3-2. Android Skills・Knowledge BaseのCLI連携
Jamal: このCLIはさらに、Android SkillsとKnowledge Baseも公開しており、LLMが最新のベストプラクティスやドキュメントを活用できるようにしています。そして最後に、外部のSDKマネージャーを必要とすることなく、CLI自体をシームレスに更新することもできます。
3-3. 社内テストによる効果測定
Jamal: 現在、私たちのワークフローをサポートするためにAndroid CLIを使っており、すでにモデルにおいて顕著な改善が見え始めています。社内でのテストに基づくと、Android CLIを使った場合、汎用的なLLMツールのみを使って同じタスクに取り組んだ場合と比較して、Android開発タスクが3倍速く完了しました。また、汎用的なLLMツールと比較して、Android CLIを使って新規プロジェクトを作成する際には、LLMのトークン消費が70%以上削減されることも確認しています。Android CLIにバンドルされているスキルパッケージのおかげで、幅広いLLMをサポートするようにCLIを拡張することも容易になっています。
3-4. AI Studio・Antigravityとの連携
Jamal: Android Studioが依然としてプロフェッショナルなアプリ開発にとって最良の場所であることに変わりはありませんが、私たちはAndroid CLIを使って、開発者とクリエイターの両方がKotlin製のAndroidアプリを構築するための新しいサービスを拡張しています。たとえば、私たちはGoogle AI Studio上でのAndroidアプリ作成をちょうど立ち上げたところです。これにより、素早いプロトタイプや個人的なアプリを作成できるようになります。プロンプトだけで、デバイスに直接デプロイできる高品質なAndroidアプリを作成することができます。この裏側では、実際にはAndroid Studioの新規プロジェクトウィザードを移植し、CLIのスキルを追加することで、この新しい体験を実現しています。
また、他の開発バックグラウンドから来た方にとっては、Google Antigravityも良い出発点になります。こちらも現在、Android CLIとAndroid Skillsをバンドルしているためです。皆さんのアプリがAI StudioやAntigravityのいずれかを通じて成長していく過程でも、Android CLIのおかげで、Android Studioに簡単にインポートできるAndroidプロジェクトであることが保証されます。これにより、Android Studioの開発者向けツールを使ってアプリを磨き上げ、Androidデバイスのエコシステム全体にリーチさせることが容易になります。以上のアップデートを踏まえて、いくつかのデモに進みたいと思います。Tor、お願いします。
4. ライブデモ:エージェントによるコーディング支援体験
4-1. コマンドラインツールとAntigravity CLI
Jamal: それでは、いくつかのデモに進みたいと思います。Tor、お願いします。
Tor: ありがとうございます。昨日のデベロッパーキーノートで、FlorinaとAadharshがAndroid開発者向けの8つの新機能を紹介してくれました。彼らのデモを超えることはできませんので、代わりに、私たちが取り組んでいる別のものをお見せしたいと思います。ただ、あちらのデモも見逃さないようにぜひチェックしてください。
まずはコマンドラインから始めます。私たちはADB、AAPT、Dex Dumpなど、Androidの黎明期からコマンドラインツールを持ってきましたが、今回新しいものが加わりました。基本的には「android」という単一のコマンドで、Gitのようにいくつものサブコマンドを持っています。たとえば、android infoを実行すると、呼び出し元のツールにSDKがどこにインストールされているかを教えてくれます。Android SDK toolを使えば、SDKを一覧表示したりインストールしたりできます。もう一つ興味深いコマンドがあります。emulator startコマンドです。これまでもエミュレーターを起動するのは簡単でしたが、このコマンドはエミュレーターが実際に立ち上がって動作するまで待ってから終了するので、たとえばデバイス上でシェルコマンドを実行するといった後続の処理につなげることができます。
それでは、Android Studioを実行してみます。何が起きると思いますか。実はAndroid Studioが新たに起動するわけではありません。これは、すでに実行中のAndroid Studioのインスタンスと会話するものです。つまり、Studioが持つクールな機能の数々を、他のエージェントから利用できるようにするということです。他のエージェントといえば、現在私たちはAntigravity CLIも用意しています。ここでは、いくつかのジャーニーテストを作成しました。これもAntigravityにやってもらいました。アプリの中で試すべき手順のリストです。そして今から、このプロンプトを取り出して、Antigravity CLIに対して、そのフォルダの中のファイルを見て、実際に実行して動作を検証し、もし動かなければ何が問題かを教えてほしいと依頼します。これはバックグラウンドで実行させておいて、他の作業をしている間に進めておき、後で結果を確認します。
4-2. AI Studioでのアプリ生成とエクスポート
Tor: 私たちは、Android開発者や新しくAndroid開発を始める方に向けて、より多くのサーフェスをサポートする方向に広げています。次にお見せするのはブラウザ上のものです。AI StudioについてはJamalがすでに触れていますが、ここでネイティブなAndroidアプリを作成できます。私がここで行ったのは、通貨コンバーターの作成を依頼したことです。これは、自分がいる場所に基づいて対象となる通貨を判断してくれるというアプリです。なかなか良いアイデアだと思ったのですが、おそらく既に誰かが作っているでしょう。これから、Gradle、Kotlinなどすべてを使ってネイティブなAndroidアプリが作成されます。だいたい10秒ほどでデザインを選ぶよう聞かれ、その後エミュレーター上で実行されます。今回は事前に一度やってあります。ここでエミュレーターを再起動する必要がありますが、しばらくすると自動的にスリープしてしまうためです。ただ、すべてのコードをたどって確認することもできます。デザインの承認を求められているか確認してみましょう。はい、デザインの承認画面が出ましたので、これを承認して進めてもらいます。
ここは実際にはアプリをイテレーションし続ける場所ではありません。アイデアがあって、アプリを作り、それをPlayストアに公開するという流れです。もし引き続きイテレーションしたい場合は、コードをエクスポートできます。zipファイルとしてすべて取得し、Android Studioにインストールすることも、Antigravityにエクスポートすることもできます。それでは、こちらをやってみます。これは、すべてを含むバンドルを作成することを申し出てきて、パッケージ化を行い、まもなくローカルのAntigravityインストールに起動コマンドを送信するはずです。出てきました。「Antigravityで開く」です。これが、インポートされたプロジェクトです。ここで、たとえば「このアプリを批評して、バグを見つけて修正して」と依頼することができます。
4-3. Quail 2 CanaryとAgent V2
Tor: さて、こちらの処理も進めておきましょう。私たちにはAI Studio、Antigravity、Antigravity CLI、そしてもちろんAndroid Studioがあります。今週、私たちはAndroid Studio Quail 2 Canaryをリリースしました。これは数多くの機能が詰め込まれています。エージェントを完全に書き直しました。これをAgent V2と呼んでいます。ご覧の通り、ここにはサブエージェントや並列ツール呼び出しなどが含まれています。そして現在、裏側の基盤をAntigravity SDKに切り替えている最中です。ここでは、新しいプロジェクトエージェントを使って先ほどの通貨コンバーターを作成しました。それでは、いくつかの新機能をご紹介していきます。
4-4. Gemma 4実行と並列タスク管理
Tor: まず、Gemma 4のサポートが加わりました。モデルプロバイダーの画面に入ることで、サードパーティのツールをインストールする必要なく利用できるようになっています。ダウンロードしたいモデルをクリックするための新しいモデルプロバイダーがあり、私はすでにいくつかインストールしてあります。ここでGemmaを選択し、あるタスクに取り組ませてみます。これは私の通貨アプリのスクリーンショットです。読みにくいプレースホルダーのラベルがあるので、「Placeholder Data Onlyというラベルを赤くして、もっと大きくしてください」と依頼します。
これがGemmaです。すでに動き始めています。もう一つの新機能は、複数の作業を並行して実行できることです。新しい会話を開始できますし、実際には別のタブに新しいエージェントタブとして開くこともできます。これによって、より広い作業スペースを確保できます。こちらのタブでは、すでに実行中のものを表示させておきます。それがGemmaで、右側にあります。それでは、「URI Handlerはどこで定義され、どこで使われているか」と聞いてみます。これは昨日リリースされたばかりのGemma 3.5 Flashを使っています。まもなく、コードを見つけるためにセマンティックなツールを呼び出すはずです。会話ごとにトピックが自動的に選ばれるようになったこともお分かりいただけると思います。サーバーが混み合っているようですね。
Gemmaの方は、もう終わったようです。それは早いですね。何をしたか見てみましょう。ラベルが赤く大きくなっていることが確認できます。スクリーンショットテストについては、新しいライブラリで正式にサポートするようになりました。必要な手順をすべて説明する案内がここにあります。ただ、面倒であればそれをやる必要はありません。私が実際にやったのは、Gemma 4にこの変換作業をやらせたことです。この会話をご覧いただけます。31Bのモデルで、ビルドファイルをすべて更新し、テストを作成してくれました。このプロジェクトにはすでにテストが設定されています。そして、ゴールデンファイルを更新する新機能があります。「リファレンス画像を更新して」と言うだけです。これで現在の挙動のレンダリングが実行され、リファレンス画像と新しい画像の間の視覚的な差分が表示されます。ご覧の通り、想定通りラベルの違いが出ていますので、これを新しいゴールデン画像としてチェックインします。これでテストは通り続けるはずです。
では、こちらの状況を確認してみましょう。ああ、うまくいっていないようですね。もう一度試してみます。これはAIがうまく動いていないという、かなり短いデモになりそうです。別のタスクをやってみましょう。別のモデルを試してみます。「URI Handlerはどこで定義され、どこで使われているか」を、今度はデフォルトモデルで試してみます。こちらは問題なく動いているようです。
4-5. コード検索とシンボルリンク
Tor: ここでいくつかお見せできるのは、find usagesとfind declarationです。これらは、二つのものが同じ名前で呼ばれているからといって、実際には同じものを指しているとは限らないということを理解する、言語的なスマートさを備えています。今回は小さなプロジェクトなのでこれらは高速な操作ですが、私はこのエージェントを1500万行規模のコードベースでも使ったことがあります。インデックスを持っているかどうかで大きな差が出ます。あれだけの量をgrepで探し回りたくはありませんから。もう一つお見せしたいのは、シンボルを直接リンク化するようになったという点です。以前のようにファイル名だけではなく、クラスへの直接のポインターになっています。それでは、「これを実装して」と言ってみます。これは、途中で終わっているクラスで、中に大きなTODOが残っています。
4-6. 自動実装と警告修正
Tor: ここではエージェントに、このクラスの実装を完成させるよう依頼しました。ご覧の通り、それを実行してくれています。ただ、ここで小さな警告が出ました。AIはコードを修正したのですが、その後、私たち、というよりエージェント自身が「新しい警告を持ち込んでしまった」と指摘しました。KTXライブラリにもっと良いメソッドがあるので、それを使うべきだというものです。すると、AIはすぐに「その通りです、直します」と応じ、より正しい慣用的なやり方にコードを修正してくれました。
4-7. シェルコマンドの安全性解析
Tor: エージェントはシェルコマンドを呼び出すのが好きです。「現在のコミットは何か」と聞いてみると、おそらくシェルコマンドが実行されるはずです。実際に実行されました。git rev-parseを呼び出しています。そして、このコマンドを実行するのに許可を求めてこなかったことに注目してください。これは、私がコンピューターの制御を丸ごと与えているからではありませんし、「git」で始まるものや「git rev」で始まるものを許可リストに入れているからでもありません。理由は、私たちが非常に多くのコマンド、何十種類ものコマンドを解析しており、何百ものフラグについて把握していて、どのコマンドが安全でどれが安全でないかをエージェントに教え込んでいるからです。ここでカーソルを合わせると、このコマンドは、すでに承認済みのフォルダ内での読み取り操作だと分かっているために承認された、ということが分かります。もし「現在の変更をチェックインして」と言えば、さらにいくつかのgitコマンドが実行されることになります。git statusのように安全なものもありますが、git commitはそれほど安全ではありません。ですから、こちらについては私はまだ実行の許可を与えていません。これによって、この仕組みが扱いやすくなっていると思います。AIがやりたがる細々としたことすべてについて、いちいち私を煩わせることがないのです。
4-8. File Criticと隠しデバッグモード
Tor: 先ほどファイルクリティックについて触れましたが、面白いものをお見せしたいと思います。これは開発用に用意している隠しモードで、「toggle show mapped tool calls」というものです。これを使うと、AIが実際に行ったこと、ここではシェルコマンドを呼び出していたのですが、実際にはヒアドキュメントを使ったcatコマンドを新しいファイルにパイプしていた、ということが分かります。ただ私たちは、それに対してパッチとファイルクリティックを伴う、完全なIDE相当の扱いを与えていました。これは、私たちがシェルコマンドを解析しているためです。sed、awk、perl、cat、lsといったシェルコマンドを見つけると、それらをネイティブな呼び出しに変換し直して、より良い統合を実現しています。特にファイルクリティックについては、IDEにはLintとIntelliJの検査で約3000件もの検査項目があり、それらがファイルの書き込みの前後で常に実行されています。これによって、AIが正しいことを行うよう、常に導いているのです。
4-9. サンドボックスとフォルダ設定
Tor: 権限モデルについて最後に一つ触れておきたいのが、サンドボックスです。私たちはさまざまなサンドボックス環境をサポートしています。ここで面白いのは、サンドボックスを実行してGradleを動かそうとすると失敗するという点です。というのも、Gradleはホームフォルダ内の.gradleに触れようとしますが、それはサンドボックスの中には存在しないからです。ここで「Show Command」をクリックすると、マウントされているすべてのフォルダが表示されます。これには、皆さんが手動で承認したフォルダだけでなく、Android SDKのようなものも含まれています。なぜそのフォルダが必要なのかについてのコメントも入れてあります。そして本当に良い点は、これを編集できることです。フォルダに対して読み取りや書き込みのための追加コマンドを加えて、「Save As Custom Command」としてクリックすることができます。次回からはそちらが代わりに実行されます。こうして、サンドボックスを自分の望む動作に合わせてカスタマイズできるのです。
4-10. コードレビュー体験の改善
Tor: さて、私自身、同僚がエージェントを使ってより多くの成果を出すようになったことや、自分自身がエージェントとイテレーションを重ねることによって、コードレビューをする機会がますます増えています。ただ正直なところ、ファイルシステムの順番通りに、ファイルごとにレビューしていくというやり方は好きではありません。そこで、これをもっと良くしようと取り組みました。ここで私が行ったのは、change drawerのアクションにある「review this code」をクリックすることです。これによって、作業内容をレビューするようエージェントに依頼する新しい会話が始まります。新しい会話であるため、すでに立てた仮定に影響されたりバイアスがかかったりすることがありません。そして、これはエージェント自身が行った作業をレビューするためだけのものではありません。ランダムなGitのチェックインからのCLをレビューするためにも使うことができます。実際、私は今これを日常的に使っています。同僚から長いコードレビューの依頼が来たときに、それをチェリーピックして、このレビューツールを使うのです。そのほうがずっと快適だからです。ここでは、Gitビューに入り、「Review」ボタンをクリックします。すると、このレポートが表示されます。
これは、AIがコミット全体をレビューして、それが何であるかを要約しているものです。これは単なるコミットメッセージの要約ではありません。そのコミットが実際に何をしているのかを示すものです。もし問題が見つかれば、それを一覧にして提示してくれます。私が「AIに何かをやらせて、それをレビューしてもらう」という早い段階のループにいるときは、この内容を読み込むところから始めることはしません。「これはやっていないよね、直してほしい」というサイクルを何度か繰り返していきます。ですから、望むように修正させて、イテレーションさせることもできます。ただ、エージェントが自信を持って「これは良いコミットだ」と言ってきたときに、初めて個々の差分をレビューし始めます。なぜなら、これが本番環境に反映されたり、同僚に送られたりするのであれば、私の評判がかかっているからです。
ですから、しっかりと見ておきたいのです。今回私たちが行ったのは、すべての差分のチャンクを取り出し、私はすべての差分チャンクにサインオフするつもりなので、それらを論理的なグループに再構成し、理解しやすい順序に並べ替えるということです。理にかなった場所から始められるようになっています。ご覧の通り、何が起きているかを説明してくれるツアーのようなものが表示されます。一つひとつチェックを入れながら、差分を確認していくことができます。これを、ローカル変数とパラメーターの違いを理解しているような、非常に優れたセマンティックなシンタックスハイライトと、単語単位での差分表示とともに行うことができます。私にとって、このレビュー体験は、ブラウザ上でレビューするよりもはるかに優れています。
6. 追加アップデートとまとめ
6-1. Developer Verification対応
Jamal: それでは、締めくくる前に、もういくつかアップデートをお伝えします。Android Studio Quailでは、Android Developer Verificationのサポートも追加しました。アプリバンドルを公開する準備が整った際に、私たちがアプリのネームスペースを確認し検証したうえで、Google Playに公開する前に登録済みであることを確認します。
6-2. Wireless Debugging 2.0
Jamal: 続いて、Wireless Debugging 2.0についてです。私たちは、Wi-Fiネットワーク経由でADBを使う際の信頼性向上に、引き続き投資をしています。Android 17のデバイスとAndroid Studio Quailの組み合わせであれば、ネットワークを切り替えたり、ラップトップを再起動したりしても、Androidデバイスとの接続が維持されるようになります。かなり便利です。
6-3. R8スキルとMonzoの事例
Jamal: 最新バージョンのAndroid Studioでは、R8スキルもバンドルするようになりました。皆さんがやるべきことは、Android Studio内のエージェントに対して、アプリのR8を作成し最適化するよう依頼するだけです。それだけです。そうすると、エージェントが最適なR8設定にするためのコード変更を提案してくれます。R8を使うことは、コードの難読化のためだけに有用なのではなく、コードを効率化し、ANRを減らすことにもつながります。たとえば、Monzoは、R8の設定を更新しただけで、ANRを35%以上削減しました。
6-4. Jetpack Composeのデバッグモード
Jamal: そして最後に、Jetpack Composeの最新アップデートでは、共有要素トランジションを手動で調整したり詳細に検査したりするための新しいデバッグモードを追加しました。
6-5. まとめ
Jamal: まとめに入っていきますが、エージェントファーストのワークフローと、より手を動かしてアーキテクチャや介入を必要とするワークフローの両方の機能をお見せしてきました。ただ、最終的にはどちらも、Androidアプリ開発者としての皆さんの生産性を高めるものです。ですから、Google AI StudioでこのKotlinサポートを使って新しいアプリをプロトタイピングしている方であれ、ターミナルでのLLM作業を自動化・加速するためにAndroid CLIを使っている方であれ、あるいはGoogle Antigravity 2.0の新しいエージェントマネージャーを使って複数のエージェントをオーケストレーションしている方であれ、私たちはAndroidアプリを作成できるサービスの範囲を広げ続けています。
そして、皆さんがアプリを磨き上げ、Androidデバイスのエコシステム全体をターゲットにしていく過程においても、Android Studioは皆さんの生産性を高めるために、これまで以上に強化されています。新しいAIエージェントモードのスキル、パフォーマンスツール、マイグレーションツール、そして新しいビルドシステムの先行プレビューによって、皆さんは高品質なAndroidアプリを作るうえで、スピードと正確性のバランスを取るための準備が整っています。
どのサーフェスから始めた方であっても、私たちはAndroidエコシステム全体にわたって、皆さんがより簡単に、より効率的に開発できるようにすることに注力しています。私、そしてTorを代表して、ご視聴とフィードバックに感謝します。