Android Studio Flamingo | 2022.2.1(2023 年 4 月)

Android Studio Flamingo の新機能は次のとおりです。

パッチリリース

Android Studio Flamingo のパッチリリースは次のとおりです。

Android Studio Flamingo | 2022.2.1 パッチ 2(2023 年 5 月)

このマイナー アップデートには、こちらのバグの修正が含まれています。

Android Studio Flamingo | 2022.2.1 パッチ 1(2023 年 5 月)

このマイナー アップデートには、Android Gradle プラグインのバグの修正が含まれています。

テーマ別アプリアイコンとダイナミック カラー

マテリアル 3 のダイナミック カラーと、Android 13 のテーマ別アプリアイコンの導入により、レイアウトを作成したり、ユーザーが選択した壁紙の色合いを継承するランチャー アイコンを作成したりできます。この機能は、Android Studio Flamingo ベータ版 1 以降で使用できます。

テーマ別アプリアイコンのプレビュー サポート

launcher.xml ファイルの場合、ツールバーにある新しいシステム UI モードセレクタを使用して、壁紙を切り替え、異なるユーザーが選択した壁紙にテーマ別アプリアイコンがどのように反応するかを確認できます。

システム UI モードセレクタ。


さまざまな壁紙でのテーマ別アプリアイコンのプレビュー。

ダイナミック カラーのプレビュー

Compose プレビューの場合: 新しい属性 wallpaperコンポーザブルのプレビュー アノテーションに追加しました。アプリでダイナミック カラーを有効にしている場合は、この新しい属性を使用して、壁紙を切り替え、異なるユーザーが選択した壁紙に UI がどのように反応するかを確認できます。この機能を使用するには、Compose 1.4.0-alpha03 以降が必要です。

Compose プレビューでのダイナミック カラーの壁紙

Android XML の場合: アプリでダイナミック カラーを有効にしていると、ツールバーの新しいシステム UI モードセレクタを使用して、壁紙を切り替え、異なるユーザーが選択した壁紙にレイアウトがどのように反応するかを確認できます。最初に、テーマをマテリアル ダイナミック カラーテーマに変更するよう選択してから、壁紙を変更する必要があります。

Layout Editor のダイナミック カラーの壁紙

ライブ編集の更新

ライブ編集には、手動モードと自動モードの 2 つがあります。手動モードでは、Ctrl + S(macOS の場合は Command + S)を使用して手動で保存するたびに、コードの変更が適用されます。自動モードでは、コンポーズ可能な関数を更新すると、その変更が毎回デバイスやエミュレータに適用されます。ライブ編集の実行モードを選択するには、メニューバーから [File] > [Settings](macOS の場合は [Android Studio] > [Preferences])と移動して [Editor] > [Live Edit] をクリックし、[Push Edits Manually] または [Push Edits Automatically] チェックボックスをオンにします。

Compose トレース

システム トレース ユーティリティは、デバイスのアクティビティをトレース ファイルに保存する Android ツールであり、特定の期間におけるアプリのシステム プロセスの全体像を提供します。Android Studio Flamingo 以降では、Compose トレースを使用して、システム トレース プロファイラで Compose 関数を表示できます。Compose トレースでは、コンポジション内のメソッド トレースの詳細レベルを使用して、システム トレースからの侵入性を低く抑えられるため、実際に再コンポーズされている Compose 関数を把握できます。

Compose トレースの UI プレビュー

再コンポーズ トレースを開始するには、少なくとも次のバージョンに更新する必要があります。

  • Android Studio Flamingo Canary 5
  • Compose UI: 1.3.0-beta01
  • Compose Compiler: 1.3.0
  • トレースを実行するデバイスやエミュレータは、API レベル 30 以降である必要があります。

さらに、Compose Runtime Tracing に次の依存関係を追加する必要もあります。

implementation("androidx.compose.runtime:runtime-tracing:1.0.0-alpha01")

再コンポーズ トレースを表示するには、Android Studio Profiler を開き、CPU Profiler を選択します。トレースする UI にアプリを移動し、[System Trace] と [Record] を選択します。記録中にアプリを使用して、再コンポーズを行います。記録とトレース プロセスを停止すると、再コンポーズ トレースの Compose 関数が [Threads] タイムラインに直接表示されます。[Analysis] ペインの [Flame Chart]、[Top Down]、[Bottom Up]、[Events] タブにも Compose 関数が表示されます。

これは現在も開発中の試験運用版の機能であるため、フィードバックをお待ちしています。詳細については、Compose トレースをご覧ください。

プロジェクト テンプレートの更新

Android Studio Flamingo Canary 6 には、プロジェクトやモジュールを作成するための新しいテンプレートが用意されています。デフォルトでは、ビュー テンプレートとして指定されていない限り、Compose マテリアル 3 テンプレートを使用します。Android アプリを作成する際のベスト プラクティスとして、Compose マテリアル 3 テンプレート(Empty Activity など)のご使用をおすすめします。詳細については、Compose マテリアル 3 リファレンスをご覧ください。

テンプレートを表示するには、メインメニューから [File] > [New] > [New Project] または [New Module] を選択し、[New Project] ウィザードまたは [Create New Module] ウィザードを開きます。

新しいプロジェクト ウィザード

デバイスのミラーリング

デバイスのディスプレイを Android Studio に直接ストリーミングして、開発時の中断を最小限に抑えます。デバイスのミラーリングでは、Studio の [Running Devices] ウィンドウを使用して実機を操作できます。この機能を有効にするには、[File] > [Settings] > [Tools] > [Device Mirroring] に移動し、[Enable mirroring of physical Android devices] チェックボックスをオンにします。有効にした後でデバイスを接続し、アプリをデプロイするか、[Running Devices] ウィンドウを開いて、デバイスのディスプレイのストリーミングを開始し、IDE から操作します。

まず、デバイスに接続していることを確認します。接続されているすべてのデバイスは、[Running Devices] ウィンドウのタブにミラーリングされます。このウィンドウは、[View] > [Tool Windows] > [Running Devices] に移動することで開けます。接続済みのデバイスにアプリまたはテストをデプロイすると、[Running Devices] ウィンドウが自動的に表示され、ミラーリングされたデバイスが表示されます。

実行中のデバイスの UI

プライバシーに関するお知らせ

デバイスのミラーリングが有効になっている場合、Android Studio は接続済みのペア設定済みデバイスのデバイス ミラーリングを自動的に開始します。ミラーリング情報とコマンドは暗号化されていないチャネルを介して渡されるため、adb tcpip コマンドで接続されたデバイスの情報が公開される可能性があります。また、Android Studio は暗号化されていないチャネルを使用して adb サーバーと通信するため、ホストマシン上の他のユーザーによってミラーリング情報が傍受される可能性があります。

Network Inspector のトラフィック インターセプト

Android Studio Flamingo Canary 1 以降、Network Inspector は、デフォルトで全タイムラインのあらゆるトラフィック データを表示します。タイムライン内で範囲を選択すると、その範囲内のトラフィックのみを表示できます。

また、ステータス コード、レスポンス ヘッダー、レスポンス本文などのさまざまなレスポンスに遭遇したときのアプリの動作をテストするルールを作成し、管理することもできます。このルールにより、インターセプトするレスポンスと、アプリへの到達前にこれらのレスポンスをどのように変更するかが決まります。各ルールの横にある [Active] チェックボックスをオンにすると、有効にするルールと無効にするルールを選択できます。ルールは、変更するたびに自動的に保存されます。

Network Inspector の [Rules] ペインと [Rule Details] ペイン

まず、Network Inspector の [Rules] タブに移動し、[+] をクリックして新しいルールを作成します。[Rule Details] パネルの新しいルールに名前を付け、[Origin] サブセクションに、インターセプトするレスポンスの送信元に関する情報を入力します。レスポンスの送信元に加えた変更に基づいて、[Rules] テーブルの URL を更新する必要があります。このサブセクションのフィールドはすべて省略可能です。

[Rules] セクションの [Origin] サブセクション

[Response] サブセクションでは、アプリに送信される前にレスポンスを変更できます。たとえば、特定のステータス コードを含むレスポンスを実行するルールを設定し、そのステータス コードを変更することもできます。

[Rules] セクションの [Response] サブセクション

ヘッダーの変更

[Header rules] サブセクションでは、レスポンスでヘッダーを追加または変更するサブルールを複数作成できます。複数のヘッダールールを作成する場合は、[Rules] 表の上部にある上下の矢印 を使用して、ヘッダールールの順序を変更します。リストされた順番にヘッダールールが適用されるため、変更されたレスポンスのヘッダーには、この順序が影響します。

開始するには、[Header rules] セクションで [+] をクリックします。

ヘッダーを追加するには、[Add new header] セクションにヘッダーの名前と値を入力します。

[Add new header] タブ

ヘッダーを変更するには、[Edit existing header] タブに移動し、検索するヘッダー名または値を指定します。置き換えたいヘッダーの名前または値を入力します。

[Edit existing header] タブ

レスポンス本文の変更

サブルールを作成して、レスポンスの本文を変更することもできます。本文のセクションを検索して最初のインスタンスを置換するか、[Replace entire body] を選択し本文のコンテンツ全体を置き換えるかを選択できます。

[Header rules] と同様に、複数の本文ルールを作成して、表に記載されている順序で適用できます。

Layout Inspector でフォアグラウンド プロセスに自動接続

Layout Inspector は、仮想デバイスや物理デバイスのアプリに自動で接続します。具体的には、Layout Inspector は、接続済みデバイスのフォアグラウンドで実行されているデバッグ可能なプロセスに自動で接続します。この機能についてフィードバックがある場合は、バグを報告してください。

App Quality Insights の更新

Android Studio Flamingo Canary 5 以降では、優先度の高い問題を重視し、開発チームと協力するための、App Quality Insights の新機能が複数導入されています。

デバイス フィルタが開いた状態の App Quality Insights。

最も重要な問題を特定できるように、次の属性によるフィルタリングが可能になりました。各フィルタはイベント数で並べ替えられているため、ほとんどのイベントが発生する場所を確認できます。

  • Android プラットフォーム バージョン
  • デバイスのメーカーと機種
  • Crashlytics シグナル: [Issues] パネルの関連する問題の横にもシグナルのアイコンが表示されるため、カウントとシグナルを並べて確認できます。過去にクローズされた問題が新バージョンのアプリで再発した場合、その問題は「回帰」と見なされます。

    Crashlytics シグナル フィルタ。

  • アプリのバージョン: このフィルタには高レベルの Play トラック フィルタが追加され、本番環境、オープンテスト、クローズド テスト、内部テストトラックのバージョンを自動的に選択するのに使用できます。

さらに、多くのオプションを含むフィルタを検索できるため、すべてのメニュー オプションをスクロールすることなく、ビューの迅速なカスタマイズが可能になりました。

Android Studio からの直接的なアノテーションと問題のクローズ

チームメンバーとの共同作業を容易にするために、以下の操作を [App Quality Insights] ツール ウィンドウで直接行うことが可能になりました。

  • 問題をクローズします。問題をクローズするには、メインのスタック トレース パネルの [Close] ボタンをクリックします。[Issues] パネルに、最近クローズした問題が取り消し線付きで表示されます。最近クローズした問題を再開するには、ボタンをもう一度クリックします。ただし、[App Quality Insights] ツール ウィンドウを更新すると、クローズした問題は表示されなくなります。

  • メモを読んだり問題に添付したりして、Firebase コンソールに表示し、チームメンバーが確認できるようにします。問題に関するメモを作成するには、問題を選択して [Notes] パネルを開きます。メモを書き込むには、Crashlytics プロジェクトへの書き込み権限が必要です。メモが添付されている問題は、[Issues] パネルにメモアイコン 付きで表示されます。

App Quality Insights を初めて使用する場合は、以前のリリースノートで詳細をご確認いただけます。

オフライン時の機能制限付き調査

Android Studio Flamingo Canary 8 以降は、オフラインでも、App Quality Insights ツール ウィンドウでいくつかのアクションを実行できます。[Refresh] をクリックするなどして新しいリクエストを行う場合、Android Studio が Crashlytics と通信できなければ、App Quality Insights ウィンドウで [Offline Mode] に入ることができます。

App Quality Insights はオフライン モードを提供します。

このモードでは、引き続きキャッシュ データの問題と最新のイベントを調査できます。フィルタ オプションの変更や問題のクローズなど、一部の機能は使用できません。Crashlytics への接続を再試行してオンライン状態に戻すには、[Reconnect] をクリックします。

オフライン モードでの App Quality Insights の再接続オプション

プロファイル可能なビルドと実行をワンクリックで自動化

Android Studio Flamingo と AGP 7.3 では、ワンクリックで自動化するプロファイル可能なビルドが導入されています。これにより、プロファイル可能なアプリを簡単に構成してプロファイリングできます。この機能を使用するには、API レベル 29 以降を搭載した仮想テストデバイス、または物理テストデバイスが必要です。この機能を使用するには、Profile app アイコン の横にある矢印をクリックして、次のどちらかを選択します。

ワンクリックでプロファイル可能なビルドメニュー

  • オーバーヘッドの少ないプロファイル「アプリ」が、CPU Profiler と Memory Profiler を起動します。Memory Profiler では、Record Native Allocations のみが有効になっています。

    オーバーヘッドの少ないプロファイリング
  • 完全なデータを持つプロファイル「アプリ」が、CPU Profiler、Memory Profiler、Energy Profiler を起動します。

    完全なデータのプロファイリング

パフォーマンス コストを最小限に抑えてアプリをテストする方法について詳しくは、プロファイル可能なアプリをご覧ください。

SDK 拡張機能への Lint サポート

Android Studio Flamingo は、SDK 拡張機能への Lint サポートを提供しています。この機能を使用すると、Lint ツールの API チェックを更新して、API バックポートがある場合に、また Android プライバシー サンドボックスなどの新しい API サーフェスに対して、API アクセスを正確に適用できるようになります。

Lint ツールの API チェックでは、minSdkVersion または SDK_INT チェックで制限されたように、利用可能な API のみをコードが使用するようになります。SDK 拡張機能により、複数の SDK に API が存在することがあります。たとえば、Android U に導入した API を、Android R、Android S、Android T にも追加でバックポートできます。さらに、アプリはマニフェストを使用して、必要に応じて複数の API を指定できます。個々の拡張機能が使用可能かどうかをチェックする新しい API も用意されています。Lint ツールは、必須要件と既知のものが重複していないかをチェックするロジックを処理するようになりました。

最後に、API チェックに関連のある Studio IDE の機能について説明します。この機能により、使用可能な API サーフェスごとに 1 つずつ、新しい API サーフェスの違反を処理し、必要なチェックを実行し、簡単な修正を登録できるようになりました。

IntelliJ IDEA 2022.2 プラットフォームのアップデート

Android Studio Flamingo Canary 1 には、IDE のエクスペリエンスを向上させる IntelliJ IDEA 2022.2 の更新版が含まれています。変更の詳細については、IntelliJ IDEA 2022.2 リリースノートをご覧ください。

JDK 17 にバンドルされた Android Studio

Android Studio Flamingo Canary 3 以降、Studio IDE には JDK 17 がバンドルされています。Android Studio が埋め込み JDK を使用するように構成されている場合、新しいプロジェクトは、Android Gradle プラグインおよび JDK 17 の最新の安定版を使用することになります。ただし、既存のプロジェクトは破損する可能性があるため、場合によっては、互換性のあるバージョンに JDK を手動で設定する必要があります。

詳細については、JDK バージョンの設定をご覧ください。