Platform 向け Android Studio(ASfP)は、Android プラットフォーム開発用の公式 IDE です。このページでは、ASfP で利用できる最新の機能、プラットフォーム固有の機能強化、品質改善について説明します。
2026 年のプラットフォーム機能の削除(Rabbit | 2026.2 と Panda 2 | 2025.3.2)
IntelliJ 2026.2 ベースのプラットフォーム上に構築された ASfP の最近のリリースでは、プロジェクトのセットアップと起動の信頼性、Soong ビルドの統合、AI エージェントの機能、Cuttlefish 仮想デバイスの管理、C、C++、Rust、ハイブリッド デバッグ、プラットフォーム テストが大幅に改善されています。
プロジェクトのセットアップ、テンプレート、同期のパフォーマンス
- Workspace Model プロジェクト アーキテクチャ: プロジェクトの構築が IntelliJ Workspace Model API に移行され、初期プロジェクトの セットアップが簡素化され、大規模な AOSP ソースツリー全体で IDE の安定性が向上しました。
- プロジェクト モデルのスナップショットによる即時起動: ASfP は、起動時にスナップショットからプロジェクト モデルをキャッシュに保存して 復元するようになったため、大規模な AOSP ワークスペースを再度開く際の冗長な 初期インデックス作成の遅延がなくなりました。
- 共有可能なプロジェクト テンプレート(インポートとエクスポート):
- [テンプレートからインポート]: セットアップ ウィザードで [テンプレートからインポート] を選択し、共有の
.asfp-projectYAML ファイルを指定して、新しい AOSP プロジェクトをブートストラップします。 - [テンプレートにエクスポート]: プロジェクト構成をチームメンバーと共有します
.asfp-projectエディタタブを右クリック(または [ASfP > Project] メニューから)して [Export to Template] を選択します。
- [テンプレートからインポート]: セットアップ ウィザードで [テンプレートからインポート] を選択し、共有の
- 設定ウィザードのオプションの強化: プロジェクトの作成時に、カスタムビルドの環境
変数 を構成し、[Soong Partial Compile](
SOONG_PARTIAL_COMPILE) を直接有効にします。 - 柔軟な同期モード:
- 部分同期: リポジトリ全体の同期を実行せずに、特定のモジュールまたはディレクトリを同期します。
- ビルドなし同期: Soong ビルドをトリガーせずに、IDE プロジェクト構造とモジュール ルートを すばやく更新します。
- 同期とフルビルド: 1 回のアクションで、プロジェクトの同期と Soong のフル ビルドを同時にトリガーします。
- 検索スコープの最適化とシンボリック リンクのサポート:
out/ディレクトリ内のコンテンツと生成されたgenIML は、プロジェクト 検索スコープから自動的に除外され、ファイルとシンボルの検索が高速かつノイズレスになります。ASfP は、AOSP リポジトリ間のシンボリック リンクされたソースルートもサポートしています。
エディタ内での Android.bp のビルド、デプロイ、エディタのインテリジェンス
- ビルド、実行、デバッグ ガターアイコン
Android.bp: すべての名前付きモジュールAndroid.bpには、name:の横にビルド ガターアイコンが含まれています。テスト モジュール(*_testと*_test_host)とandroid_appモジュールには、エディタからターゲットを直接実行またはデバッグするための 実行 ガターアイコンが含まれています。 - コンテキストに応じたデプロイとフラッシュの実行構成: Soong Deploy 実行構成をデプロイ可能なターゲットから作成して起動します。
Android.bpファイルで、プリラン Soong ビルドフックを使用して、adb、カスタムシェル スクリプト、adeviceまたはflashallによるデプロイをサポートします。 - 対応する Android.bp ファイルを開く、エディタのインテリジェンス: ソースファイルまたはディレクトリを右クリックして [Open Corresponding Android.bp
File] を選択すると、そのモジュール宣言に移動します(
defaultsチェーン、 glob、シンボリック リンクを解決します)。Android.bp内で、Ctrl+クリック モジュールまたはsrcs参照を行い、クリック可能なN Usagesインレイヒントを表示します。また、プロパティ(スコープ付きのtarget.*、arch.*、multilib.*プロパティなど)にポインタを合わせると、インラインの Soong ドキュメントが表示されます。 - 専用の Soong ツールウィンドウ: Soong ツールウィンドウで、 タスク ステータス インジケーターを使用して Soong の同期とビルドの進行状況をモニタリングし、ビルドアクションをトリガーして Soong コマンドを実行します。
Cuttlefish 仮想デバイスの管理とマルチスクリーン ミラーリング
- デバイス マネージャーでのマルチデバイスのセットアップ: ローカルの AOSP チェックアウトを使用して、マルチデバイス Cuttlefish 仮想デバイスのセットアップをデバイス マネージャーで直接作成して管理します。
- Cuttlefish ツールウィンドウでのマルチスクリーン ディスプレイ ミラーリング: 専用の Cuttlefish ツールウィンドウで、組み込みの Cuttlefish マルチスクリーン ディスプレイ ミラーリングを使用します。これは、マルチディスプレイ Android Automotive OS (AAOS)と ソフトウェア定義車両(SDV)の開発向けに構築されています。
Android Studio の AI とプラットフォーム開発用の組み込みエージェント
- Soong ビルドツールとテストツールを備えた組み込みエージェント: Android Studio の AI
は、プラットフォーム固有の Soong ビルドツールと
atest実行ツールを 組み込みエージェントに統合します。これにより、エージェントは複数ステップの編集を計画し、 Soong ターゲットをコンパイルし、構造化された結果を インラインでatestプラットフォーム テストを実行できます。 - Enterprise と BYOM のサポート: 組み込みの Gemini モデル、Gemini Code Assist、Gemini Enterprise ライセンスを使用して Android Studio の AI にアクセスするか、独自の API キーを使用して Bring Your Own Model(BYOM) でカスタムモデル エンドポイントに接続します。
プラットフォームのデバッグ([Debug] ツールウィンドウの [Attach] タブと LLDB)
- [Attach] タブの固定([Run] > [Attach to Android Process]):
- 読み込まれた共有ライブラリ([Libraries])、ビルド ID、シンボル: アタッチする前に、読み込まれた
.soライブラリと 8 文字の ELF ビルド ID を検査します。ASfP は、各ビルド ID をout/target/product/<device>/symbols(symbols/.build-idインデックス)と照合し、 検証済みの場合にチェックマーク アイコンを表示します( 検証済みの行にポインタを合わせると、解決された.debugパスが表示されます)。シンボルがない場合は、警告アイコンが表示されます。 - Java、C++、Rust のアタッチ: [Java debugger]、[Native
debugger]、またはその両方を選択して、リンクされた
<process> (<pid>)デバッグタブと<process> (<pid>)-jdwpデバッグタブを開きます。C++ サービスまたは Rust サービスを選択すると、[Java debugger] が非表示になり、[Java debugging unavailable, not a Java process.] が表示されます。 - ワンクリックでデバイスを Root 化して JDWP を有効にする: [Show system
processes] でフィルタし、[Root Device] をクリックして
adb rootを実行します([Device is rooted])。または、[Enable JDWP] をクリックしてpersist.debug.dalvik.vm.jdwp.enabled=1を設定し、userdebugデバイスを再起動します。
- 読み込まれた共有ライブラリ([Libraries])、ビルド ID、シンボル: アタッチする前に、読み込まれた
- LLDB デバッガの機能強化、Rust ビジュアライザ、ART シグナル
パススルー:
- 組み込みの
lldb-dapセッションは、条件付きブレークポイント、C++ と Rust の例外ブレークポイント、エディタ内のインライン変数値、[Drop Frame]、スマートな [Step Into]、AOSP プリビルドからの自動 Rust プリティ プリンタ (String、Vec、HashMap、Option)をサポートしています。 - LLDB を ART プロセスと JNI プロセスにアタッチすると、内部 ART
SIGSEGVとSIGBUSの null チェックまたは GC シグナルが、誤った停止なしに自動的にパススルーされます。 rust-analyzerはprebuilts/rust-toolchain/linux-x86/stable/rust-analyzerから自動的に検出されます(フォールバック はprebuilts/rust/linux-x86/stable/rust-analyzer)。生成されたout/soong/.intermediatesファイルの誤った'proc-macro' not found通知は抑制されます。
- 組み込みの
プラットフォーム テストと cc_test および rust_test のデバッグ
android_test、cc_test、rust_testターゲットのデバッグ:Android.bpまたはテストメソッドのガターアイコンからデバッグ セッションを起動します:android_testモジュールはatest --wait-for-debuggerを使用して起動し、Java デバッガをアタッチします。cc_test、cc_test_host、rust_test、rust_test_hostモジュールは、起動前のタスクとして [Build Native Test Module] と [Deploy with atest](atest --collect-tests-only --disable-teardown)を使用して、組み込みの LLDB で直接起動します。
- デュアルターゲット
host_supported: trueとマシンごとの LLDB テンプレート:cc_testとrust_testモジュールでhost_supported: trueを使用する場合、[Run on: Device] ラジオボタンと [Host] ラジオボタンの両方が [Soong Test] 構成で有効になります。ターゲットごとに独立した LLDB 設定カード、[Program arguments]、[atest arguments]、[Launch JSON]([DAP Settings])があります。
IDE 内のアップデートとプラットフォームの品質
- IDE 内の自動アップデート通知: ASfP 2026.2.2
Canary 1 以降、ASfP はバックグラウンドで新しいリリースを自動的にチェックし、
[Android Studio and Plugin Updates]
ダイアログで IDE に通知します。最新の
.debパッケージの [Download] ボタンと ターミナル インストール手順が表示されます。アップデートを確認するには、[Help] > [Check for Updates] を使用します。 - 永続的な
-current-linux.debチャンネル リンク: 自動スクリプトと コマンドライン セットアップの場合、最新の Stable パッケージと Canary パッケージには、 永続的な URL(https://dl.google.com/android/asfp/asfp-current-linux.deb(Stable)とhttps://dl.google.com/android/asfp/asfp-canary-current-linux.deb(Canary))からアクセスできます。 - ディスク上のバージョンの不一致の検出: IDE の実行中にディスク上の基盤となる
.debインストールが更新されると、ASfP は クリーンに再起動するように通知します。 - デフォルトの AOSP 著作権とコミットの検査: プラットフォームの投稿に合わせて調整された、事前構成済みの デフォルトの AOSP 著作権ヘッダー プロファイルとコミット メッセージの形式設定 の検査が含まれています。
- デフォルトのメモリ割り当ての増加: 大規模な AOSP ソースツリーをサポートするため、デフォルトの最大ヒープサイズが 20 GB から 30 GB に増えました。