私たちは Android Studio を I/O 2013 (動画/日本語の自動字幕あり) で初めて発表しました。そのとき、Android アプリ デベロッパーに特化した最高の統合開発環境 (IDE) を提供することをお約束しました。それから 10 年が経ちましたが、デベロッパーの生産性に対するこの約束は、チームが新しいツールやソリューションを提供し、世界中の開発チームがユーザーのためにすばらしいアプリ体験を作れるようにするための原動力であり続けています。Android Studio Hedgehog では、AI の力を日々の生活に活用できるようにするという Google の取り組みの一環として画期的な機能が導入されます。それは、生産性向上を目的とした AI による会話型エクスペリエンスです。
この最新版 IDE では、コーディングの生産性を向上するとともに、さまざまなフォーム ファクタ向けの開発に役立つ優れたツールを提供します。これによってもたらされる新たな知見、デバッグ、テスト ソリューションが、アプリの品質向上に貢献します。こういったすべての改善が、現在 Beta チャンネルで公開されている Android Studio Giraffe に搭載されている多くのアップデートに加わります。そのため、Kotlin DSL のサポートによる簡単なビルド設定、新しいデータとガイドによる同期時間の改善、新しい Android SDK アップグレード アシスタントによる最新の Android SDK バージョンのターゲット設定などを実現できます。
Studio Bot を含む実際の新機能のハイライトを確認したい方は、Google I/O 2023 の Android デベロッパー ツールの新機能についてのセッションをご覧ください。
Android 開発ツールの新機能 - Studio Bot デモを含む (*日本語字幕は YouTube の自動翻訳機能で日本語を選択してください) |
さっそく Android Studio Hedgehog をダウンロード (英語) して体験するか、以下で期待の新機能について詳しくお読みください。(* 2023 年 5 月 10 日時点、Studio Bot はまだ日本向けには未公開)
コーディングの生産性
Android Studio Bot の導入
私たちの使命の中心にあるのは、皆さんが高品質な Android コードを書けるようにすることです。今回のリリースでは、Studio Bot (英語) という AI を活用した会話型エクスペリエンスを導入します。(* 2023 年 5 月 10 日時点、Studio Bot はまだ日本向けには未公開) PaLM 2 から派生した Google のコーディング向け基盤モデルである Codey を利用してアプリのコードを生成することで、生産性を向上します。Android 開発について詳しく学んだり、既存コードのエラーを修正するために、質問をすることもできます。いずれの操作でも、Android Studio を離れる必要は一切ありません。Studio Bot はまだかなり初期のバージョンであり、質問の答えをさらに改善し、ベスト プラクティスの学習に役立ててもらうためのトレーニングを続けています。ぜひ自分で試してみてください。そして Studio Bot から直接フィードバックを共有し、改善に貢献しましょう。
プライバシーは最優先事項です。今回の統合機能で独特な点は、Google にソースコードを送信しなくても Studio Bot を利用できることです。共有されるのは、Studio Bot とのチャット対話のみです。他の AI プロジェクトでの取り組みと同様に、私たちは説明責任を果たすために一連の原則 (英語) を遵守しています。ロールアウトは慎重に行います。今回の初期リリースでは、米国の Android デベロッパーのみが Studio Bot を利用できるようになります。詳細については、こちら (英語) を参照してください。
ライブ編集
ライブ編集は、Compose UI を更新してその変更を実行中のデバイスで確認する際に、中断を最小限にとどめてスムーズに作業できるようにする仕組みです。実行中のアプリをいつ更新するかを制御できる手動モードで使うことも、コードを変更すると即座に実行中のアプリが更新される自動モードで使うこともできます。ライブ編集は、Android Studio Giraffe ベータ版で利用できます。Hedgehog リリースでは、エラー処理やレポートがさらに改善されます。
Compose によるライブ編集ト |
ビルドの生産性
Kotlin DSL とバージョン カタログ
ビルドを設定する際に最新の構文や表記規則を活用できるようにするため、たくさんのアップデートを実施しています。Kotlin は、Android 開発の推奨言語です。Gradle ビルド スクリプトで Kotlin DSL (英語) が正式サポートされたので、ビルド設定でも Kotlin が推奨されるようになります。Kotlin の方が可読性が高く、コンパイル時のチェックや IDE サポートも向上します。さらに、TOML ベースの Gradle バージョン カタログも試験運用版サポートとして追加します。これは、1 か所で依存関係を一元管理し、モジュール間やプロジェクト間で依存関係を共有できる機能です。Android Studio では、エディタの提案、プロジェクト構造ダイアログとの連動、新規プロジェクト ウィザードを通して、簡単にバージョン カタログを設定 (英語) できます。
ここに新しいプロジェクト ウィザードの Kotlin DSL とバージョン カタログ |
アプリ別の言語設定
通常、多言語ユーザーはシステム言語を英語などの 1 つの言語に設定します。しかし、特定のアプリでは、オランダ語、中国語、ヒンディー語などの別の言語を選択したいこともあります。Android 13 でアプリ別の言語設定が導入されましたが、Android Gradle プラグイン 8.1 以降では、自動的にこれをサポートするようにアプリを設定できるようになります。詳細はこちら (最新情報は英語を参照) をご覧ください。
同期時のダウンロードの影響
Android Gradle プラグイン 7.3 以降の [Build] > [Sync] ツール ウィンドウには、依存関係のダウンロードにかかった時間の概要表示と、リポジトリごとのダウンロードの詳細表示が含まれるようになります。そのため、予期しないダウンロードによってビルドのパフォーマンスに影響が発生していないかを簡単に判断できます。さらに、非効率なリポジトリの設定方法になっていないかを確認することもできます。詳細はこちら (最新情報は英語を参照) をご覧ください。
ビルド時のダウンロードの影響を表示する Build Analyzerペースト |
新しい Android SDK アップグレード アシスタント
Android Studio Giraffe で、Android SDK アップグレード アシスタントが導入されます。この新ツールは、アプリがターゲットとする API レベルを表す targetSdkVersion をアップグレードする際に役立ちます。Android SDK アップグレード アシスタントがアプリに関係するカスタムの API 変更点フィルタを準備し、targetSdkVersion レベルのアップグレードを 1 レベルずつガイドしてくれるので、Android SDK リリースで導入されるすべての API の変更点を確認する必要はなくなります。移行の手順ごとに、互換性を破る主な変更点とその対応方法が示されるので、最新バージョンの Android が提供するメリットをいち早く活用できるようになります。Android SDK アップグレード アシスタントは、[Tools] > [Android SDK Upgrade Assistant] から利用できます。[Assistant] パネルでアップグレード先の API レベルを選択すると、ガイドが表示されます。
Android SDK アップグレード アシスタントでアップグレード時間を短縮 |
さまざまなフォーム ファクタの開発
Google Pixel Fold と Tablet 仮想デバイス
これらのデバイスはまだしばらく発売されませんが、大きな画面サイズと機能をフル活用するために、アプリの準備を始めることができます。そのためには、Android Studio Hedgehog で、新しい Google Pixel Fold と Google Pixel Tablet デバイス プロファイルを使って仮想デバイスを作成します。これを始めるには、[Device Manager] を開き、[Create Device] を選択します。
Android Emulator で実行されている Pixel Tablet |
Wear OS 4 デベロッパー プレビューのエミュレータ サポート
Wear OS は Wear 向けの次世代 OS です。Android 13 をベースに選りすぐりの新機能と最適化を追加し、秋に正式リリースされます。新しい Wear OS 4 エミュレータでは、新しいプラットフォーム機能のすべてをプレビューできます。Android Studio Hedgehog でこの最新のプラットフォーム アップデートを試し、Wear OS アプリが意図したとおりに動作するかをテストすることをおすすめします。Wear OS 4 エミュレータ (英語) を使うと、短時間でスムーズに Wear OS 4 に移行できるので、Wear OS 4 が実際のデバイスに正式リリースされるまでにアプリの準備を済ませることができます。新しい Wear OS 4 エミュレータの使い方については、Wear 4 プレビュー サイト (英語) をご覧ください。
Wear OS 4 エミュレータでのウォッチフェイス形式のサポート
Samsung との連携により、Wear OS のウォッチフェイスを開発する新しい方法として、ウォッチフェイス形式をリリースすることをお知らせします。ウォッチフェイス形式は宣言型の XML 形式です。つまり、ウォッチフェイスの APK にコードは含まれません。ウォッチフェイスのレンダリングに必要なロジックはプラットフォームから提供されるので、コードの最適化やバッテリーのパフォーマンスについて心配する必要はなくなります。Watch Face Studio (英語) などのウォッチフェイス作成ツールを使うと、ウォッチフェイスをデザインしたり、ウォッチフェイス形式を手動または動的に編集して直接ウォッチフェイスを作成したりできます。新しいウォッチフェイス形式は、Wear OS 4 エミュレータでテストできます。
Wear 4 エミュレータでのウォッチフェイス形式のウォッチフェイス |
ローカル デバイスのデバイス ミラーリング
USB で直接接続している場合でも、Wi-Fi で ADB を使っている場合でも、デバイス ミラーリングでローカルの実機を直接 Android Studio の [Running Devices] ウィンドウに表示し、操作することができます。この機能を使うと、アプリの開発とテストのすべてを 1 か所で集中的に行うことができます。Hedgehog リリースでは、Wear OS デバイスをミラーリングしたり、折りたたみ式デバイスで IDE から直接折りたたみアクションをシミュレーションしたりする機能など、さらに機能を追加します。
Pixel Fold のデバイス ミラーリング |
Android デバイス ストリーミング
ユーザーに最高のエクスペリエンスを提供するために、実機でのアプリの動作確認やテストが重要になる場合もあります。ただし、最新のフラグシップ デバイスを利用するのは簡単なこととは限りません。そこでローカル デバイスのデバイス ミラーリングをベースとして、Pixel Fold や Pixel Tablet などの実際のリモート Google Pixel デバイスのストリーミングを Android Studio から直接利用できるようにします。デバイスのストリーミングを使うと、IDE を離れることなく、アプリをリモート デバイスにデプロイして操作できます。今年予定されている早期アクセスでこの機能を利用してみたい方は、さっそく登録 (英語) してください。
Espresso Device API
Espresso API を使ってアプリを自動テストすると、アプリがユーザーに届く前に、早い段階で潜在的な問題をキャッチできます。ただし、デバイスの回転や折りたたみなど、さまざまな構成の変更でアプリをテストするのは常に難しい問題です。今回より、API レベル 24 以降を実行する Android 仮想デバイスのテストする際に、Espresso Device API を使って同期的な構成変更がテストに記述できるようになります。テストフィルタを設定し、特定のデバイス機能が必要なテストはそれに対応したデバイスだけで実行することもできます。たとえば、折りたたみ操作がこれに該当します。詳細はこちら (最新情報は英語を参照) をご覧ください。
Espresso Device API を使った同期的なデバイス構成変更 |
アプリの品質改善
App Quality Insights と Android Vitals
Android Studio Electric Eel でリリースされた App Quality Insights で、IDE から直接 Firebase Crashlytics の問題レポートにアクセスできるようになりました。この連携機能を使うと、クリック 1 回でスタック トレースやコードを移動したり、フィルタを使って特に重要な問題のみを表示したり、問題の再現に役立つ詳細レポートを確認したりできます。Android Studio Hedgehog では、Google Play の機能を活用し、Android Vitals から重要なクラッシュ レポートを確認できるようになります。Android Vitals レポートには、SDK プロバイダからのメモなどの便利な知見も含まれるので、SDK を使用している場合は、それに関連するクラッシュをすばやく診断して解決できます。
[App Quality Insights] ウィンドウの Android Vitals のクラッシュ レポート |
App Quality Insights でのコード ナビゲーションの改善
最新版の AGP 8.2 を使ってアプリを公開すると、クラッシュ レポートに git コミットの最小限のハッシュデータが追加されます。この情報は、Crashlytics のクラッシュ レポートを IDE から調査する際に、Android Studio のコード移動に役立てられます。今回より、必要なメタデータを含むレポートを表示するときに、現在の git チェックアウトのコード行に移動するか、チェックアウトとクラッシュが起きたバージョンのコードベースとの差分を表示するかを選択できるようになります。正しい依存関係でこの機能を利用するには、ドキュメント (最新情報は英語を参照) をご覧ください。
デバッガの Compose 状態情報
Compose UI の一部が意図せずに再コンポーズされる場合、その理由を理解するのが難しいこともあります。今回より、コンポーズ可能な関数にブレークポイントを設定すると、デバッガにコンポーザブルのパラメータとその状態の一覧が表示されるようになります。そのため、再コンポーズの原因となる変更を簡単に特定できるようになります。たとえば、あるコンポーザブルで実行を一時停止すると、厳密にどのパラメータが「変更された」または「変更されなかった」のかがデバッガに表示されるので、再コンポーズの原因を調査する際の効率が上がります。
デバッガに表示される Compose の状態情報 |
新しい Power Profiler
Android Studio Hedgehog では、まったく新しい Power Profiler が利用できるようになります。この機能は、Android 10 以降を実行する Pixel 6 以降のデバイスで電力消費量を表示します。データはサブシステム (カメラ、GPS など) ごとに分割されます。このデータは、プロファイラでシステム トレースを記録すると利用できるようになり、デバイスの電力消費量とアプリで起きているアクションを視覚的に関連付ける際に役立ちます。たとえば、ビデオ通話アプリで複数のアルゴリズムを A/B テストし、カメラセンサーの電力消費量を最適化することができます。
新しい Power Profiler |
Device Explorer
Giraffe の Device File Explorer は名前が変更され、Device Explorer になります。また、アップデートが行われ、接続されているデバイスで実行中のデバッグ可能プロセス情報が含まれるようになります。[Files] タブには、デバイスのファイル階層を確認できる既存機能が含まれています。これに加えて、新しい [Processes] タブで接続デバイスのデバッグ可能プロセスの一覧を確認できます。ここからプロセスを選択して プロセスの終了 アクション (am kill を実行) 、 強制停止 (am force-stop) 、あるいは選択したプロセスへのデバッガのアタッチを実行することができます。
[Device Explorer] ウィンドウの [Processes] タブ |
Compose アニメーション プレビュー
Android Studio Hedgehog の Compose アニメーション プレビューでたくさんの Compose API がサポートされます。具体的には、animate*AsState、CrossFade、rememberInfiniteTransition、AnimatedContent が updateTransition と AnimatedVisibility に加わります。また、Compose アニメーション プレビューに新しいピッカーが追加されるので、非列挙型あるいはブーリアン型の状態を設定し、正確な入力を使って Compose アニメーションをデバッグできるようになります。サポート対象のすべての Compose アニメーション API で、再生、一時停止、スクラブ、スピードの調整、協調動作が可能です。
Compose アニメーション プレビュー |
埋め込み型 Layout Inspector
Android Studio で、[Running Device] ウィンドウに Layout Inspector を直接埋め込んで実行できるようになります。さっそく Android Studio Hedgehog でこの機能を試し、貴重な画面スペースを節約して、UI デバッグ ワークフローを 1 つのツール ウィンドウにまとめましょう。ビュー階層を表示すると、アプリのレイアウトのデバッグなど、通常の Layout Inspector 機能にアクセスでき、それぞれのビューのプロパティを調査できます。また、埋め込み型の Layout Inspector は既存のデバイス ミラーリング ストリームの上に表示されるので、インスペクタ使用時の全般的なパフォーマンスが大幅に向上します。使ってみたい方や既知の制限について知りたい方は、リリースノート (最新情報は英語を参照) をお読みください。
埋め込み型 Layout Inspector |
Gradle で管理されているデバイスが Firebase Test Lab をサポート
Android Gradle プラグイン (AGP) 7.3 では、Gradle で管理されているデバイスがリリースされました。その目的は、デバイスのプロビジョニングのすべての側面を Gradle で管理できるようにし、継続的インテグレーション (CI) インフラストラクチャで仮想デバイスを活用した自動テストを簡単に実行することです。そのために必要なのは、Gradle が使用するデバイスを AGP DSL で記述することだけです。しかし、実際の Android デバイスでテストを実行しなければならない場合もあります。AGP 8.2 では、Gradle で管理されているデバイスを拡張し、実際のデバイス (と仮想デバイス) を Firebase Test Lab (FTL) の実行ターゲットに指定できるようにします。この機能により、いくつかの簡単な手順だけで、たくさんの FTL デバイスを使った大規模なテストを簡単に実行できるようになります。さらに、このバージョンの AGP では、FTL の新しいスマート シャーディング機能も活用できます。複数のデバイスが並列に実行されるので、はるかに短い時間でテスト結果を取得できます。詳細を知りたい方や使ってみたい方は、リリースノート (最新情報は英語を参照) をお読みください。
Gradle で管理されているデバイスの Firebase Test Lab サポート |
IntelliJ
IntelliJ プラットフォーム アップデート
Android Studio Hedgehog (2023.1) には、IntelliJ 2023.1 プラットフォーム リリースが含まれています。このバージョンは、IDE の起動パフォーマンスの改善、Maven プロジェクトのインポートの高速化、コミット プロセスの効率化に対応しています。こちら (英語) の IntelliJ リリースノートをご覧ください。
新しい UI
IntelliJ プラットフォーム アップデートに合わせて、新しい UI にさらに改善が加えられています。主にコミュニティからのフィードバックに基づき、新たにコンパクト モードが導入されます。IDE のルック アンド フィールがこれまで以上に整理されるほか、古い UI のようにツール ウィンドウ領域を縦に分割し、ウィンドウを便利な形に整理できるようになります。さらに、メイン ツールバーとツール ウィンドウの更新や新しいアイコンにより、Android 固有の UI も改善しています。新しい UI を使うには、[Settings] > [Appearance & Behavior] > [New UI] から有効化します。すべての変更点の一覧は、IntelliJ の新しい UI のドキュメント (英語) をご覧ください。
IntelliJ の新しい UI |
まとめ
以上の内容をまとめます。Android Studio Giraffe は、Beta チャンネルで利用できます。IDE の最新バージョンである Android Studio Hedgehog は Canary チャンネルで利用でき、以下の機能強化や新機能がすべて含まれています。
コーディングの生産性
ビルドの生産性
(ベータ版) Kotlin DSL とバージョン カタログ : 最新の構文や表記規則を活用してビルドを設定できます。
(ベータ版) アプリ別の言語設定 : AGP にアプリ別の言語設定の自動構成のサポートが組み込まれます。
(ベータ版) Build Analyzer によるダウンロードの影響報告 : 依存関係のダウンロードにかかった時間の概要表示と、リポジトリごとのダウンロードの詳細表示が提供されます。そのため、予期しないダウンロードによってビルドのパフォーマンスに影響が発生していないかを簡単に判断できます。
(ベータ版) 新しい Android SDK アップグレード アシスタント : アプリがターゲットとする API レベルを表す targetSdkVersion のアップグレード時間を大幅に短縮できます。
さまざまなフォーム ファクタの開発
Google Pixel Fold と Google Pixel Tablet 仮想デバイス : 店舗での発売が始まる前にアプリを準備し、広くなった画面サイズと機能をフル活用するために役立ちます。
Wear OS 4 デベロッパー プレビュー エミュレータ : 同様に、次世代の Wear OS by Google を対象にアプリのテストと最適化をするための早期アクセスを提供します。
Wear OS 4 デベロッパー プレビュー エミュレータでのウォッチフェイス形式のサポート : Wear OS のウォッチフェイスを作成する新しい方法です。
ローカル デバイスのデバイス ミラーリング : Android Studio の [Running Devices] ウィンドウから直接ローカルの実機を確認して操作できます。
Android デバイス ストリーミング : 実際のリモート Google Pixel デバイスからのストリーミングを利用します。現在、早期アクセスの登録 (英語) ができます。
Espresso Device API: API レベル 24 以降を実行する Android 仮想デバイスをテストする際に、同期的な構成変更をテストに記述できるようになります。
アプリの品質改善
App Quality Insights と Android Vitals: Google Play を活用し、Android Vitals の重要なクラッシュ レポートを表示、フィルタ、移動できます。
App Quality Insights のコード ナビゲーションの改善 : 現在の git チェックアウトのコード行に移動するか、チェックアウトとクラッシュが起きたバージョンのコードベースとの差分を表示するかを選択できるようになります。
デバッガの Compose 状態情報 : コンポーザブルのブレークポイントで一時停止したときに、コンポーザブルのパラメータとその状態が表示されます。そのため、再コンポーズの原因となる変更を簡単に特定できます。
新しい Power Profiler : 非常に正確なデバイスの電力消費量を、サブシステムごとに分割して表示します。
(ベータ版) Device Explorer : 接続されているデバイスで実行中のデバッグ可能プロセスの情報と、それに対して実行できるアクションが追加されます。
(ベータ版) Compose アニメーション プレビュー : たくさんの Compose API がサポートされることに加え、新しいピッカーが追加されるので、非列挙型かブーリアン型の状態を設定し、正確な入力を使って Compose アニメーションをデバッグできるようになります。
埋め込み型 Layout Inspector : Layout Inspector を Android Studio の [Running Device] ウィンドウに埋め込んで直接実行します。シームレスなデバッグ操作と大幅なパフォーマンス改善を実現します。
Gradle で管理されているデバイスが Firebase Test Lab をサポート : GMD を活用し、Firebase Test Lab デバイスを自動テスト向けにシームレスに設定します。今回より、スマート シャーディングに対応します。
IntelliJ
詳細については、Android Studio プレビュー版リリースノート (最新情報は英語を参照) と Android Emulator リリースノートをご覧ください。
さっそく Android Studio をダウンロード!
Android Studio Hedgehog カナリア版や Android Studio Giraffe ベータ版は、すぐにダウンロード (英語) できます。皆さんのワークフローに新機能を組み込んでみてください。こちらの手順に従ってインストールすると、安定版 Android Studio と共存することができます。ベータ版リリースは安定版リリースの品質に近づいていますが、まだバグが存在する可能性もあります。カナリア機能は最先端の機能です。いつものように、気に入った機能や新機能の提案などのフィードバックは大歓迎です。バグを見つけた場合は、問題を報告してください。また、既知の問題もご確認ください。Android 開発の最新情報について、Twitter (英語) や Medium (英語)、YouTube (英語) で私たちをフォローすることもお忘れなく。
Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play