2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
Android Emulator の仮想デバイスを使用する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Android Emulator を使用して Android デバイスのエミュレーションを作成し、独自のカスタム Android システム イメージを実行できます。また、Android Emulator のエミュレーションにはマルチディスプレイのサポートを追加できます。
Android Emulator のアーキテクチャ
Android Emulator は、Android Virtual Device(AVD)と呼ばれる仮想マシンで、Android オペレーティング システムを実行します。各 AVD には完全な Android ソフトウェア スタックが含まれているため、物理デバイス上にあるかのようにシステムが動作します。図 1 は、Android Emulator のアーキテクチャの概念図です。エミュレータについて詳しくは、Android Emulator 上でアプリを実行するを参照してください。
図 1. Android Emulator のアーキテクチャ
AVD イメージをビルドする
各 AVD には、AVD で動作する Android システム イメージが含まれています。AVD Manager には、複数のシステム イメージが含まれています。ソースコードからカスタム AVD システム イメージをビルドし、デバイス エミュレーションを作成してビルドしたイメージを実行することも可能です。
AVD システム イメージをビルドして実行する手順は次のとおりです。
Android ソースをダウンロードします。
mkdir aosp-main; cd aosp-main
repo init -u
repo sync -j24
他の Android バージョンをビルドする場合は、Android 一般公開リポジトリから、ブランチ名を見つけてください。ブランチ名は、Android コードネーム、タグ、ビルド番号にマッピングされます。
AVD システム イメージをビルドします。Android デバイスのシステム イメージをビルドする場合と同じプロセスです。たとえば、x86 64 ビットの AVD をビルドする場合のプロセスは、以下のとおりです。
source ./build/envsetup.sh
lunch sdk_phone_x86_64
make -j32
Android Emulator で AVD システム イメージを実行します。
emulator
エミュレータの実行について詳しくは、コマンドライン起動オプションを参照してください。図 2 は、AVD を実行している Android Emulator の例を示したものです。
図 2. AVD を実行している Android Emulator
他のユーザーが Android Studio で使用できるように AVD システム イメージを共有する
AVD システム イメージを他のユーザーと共有する手順は、以下のとおりです。他のユーザーは Android Studio で AVD システム イメージを使用して、アプリを開発、テストできます。
以下のように、sdk
パッケージと sdk_repo
パッケージを追加で作成します。
Android 13 以降の場合は、emu_img_zip
コマンドを使用します。
$ make emu_img_zip
これにより sdk-repo-linux-system-images-eng.[username]].zip
ファイルが生成されます。
Android 12 以前の場合は、sdk_repo
コマンドを使用します。
$ make -j32 sdk sdk_repo
make sdk sdk_repo
コマンドにより、aosp-main/out/host/linux-x86/sdk/sdk_phone_x86
の下に 2 つのファイルが作成されます。
sdk-repo-linux-system-images-eng.[username].zip
repo-sys-img.xml
sdk-repo-linux-system-images-eng.[username].zip
ファイルを、ユーザーがアクセス可能な場所にホストしたら、その URL を取得して、AVD システム イメージ URL として使用します。
Android 12 以前では、repo-sys-img.xml
を適切に編集します。
<sdk:url>
を AVD システム イメージ URL に更新します。
- その他のファイルの更新については、sdk-sys-img-03.xsd を参照してください。
- ユーザーがアクセス可能な場所に
repo-sys-img.xml
をホストしたら、その URL を取得して、カスタム更新サイトの URL として使用します。
カスタム AVD イメージを使用するには、SDK Manager で次の操作を行います。
カスタム更新サイトの URL を、SDK 更新サイトとして追加します。
これにより、カスタム AVD システム イメージが [システム イメージ] ページに追加されます。
カスタム AVD システム イメージをダウンロードして選択し、AVD を作成します。
マルチディスプレイ サポートを追加する
Android 10 では、マルチディスプレイを強化することで、自動モードやデスクトップ モードなどをはじめとする、より多くのユースケースをサポートします。Android Emulator は、マルチディスプレイ エミュレーションにも対応しています。そのため、実際のハードウェアを設定したりせずに、特定のマルチディスプレイ環境を作成できます。
AVD にマルチディスプレイ サポートを追加するには、次の変更を行うか、こちらの CL を取得します。
エミュレータの最新の機能とリリース情報は、以下のソースから入手できます。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-03-10 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-03-10 UTC。"],[],[],null,["# Use Android Emulator virtual devices\n\nYou can use Android Emulator to create emulations of Android devices\nthat run your own custom Android system images. In\naddition, you can add multi-display support to Android Emulator\nemulations.\n\nAndroid Emulator architecture\n-----------------------------\n\nAndroid Emulator runs the Android operating\nsystem in a virtual machine called an Android Virtual Device (AVD). Each AVD\ncontains the full\n[Android software stack](/docs/core/architecture), and it runs as if it\nwere on a physical device. Figure 1 illustrates Android Emulator's\nhigh-level architecture. For more information about the emulator, see\n[Run apps on the Android Emulator](https://developer.android.com/studio/run/emulator).\n\n**Figure 1.** Android Emulator architecture.\n\nBuild AVD images\n----------------\n\nEach AVD includes an Android system image, which runs in\nthat AVD. The AVD Manager includes some system images. And you can build custom\nAVD system images from your source code and create device emulations to run\nthem.\n| **Note:** You need to [establish a build environment](/docs/setup/start/initializing) before building AVD system images.\n\nTo build and run an AVD system image:\n\n1. Download the Android source:\n\n mkdir aosp-android-latest-release; cd aosp-android-latest-release\n repo init -u\n repo sync -j24\n\nIf you want to build other Android versions, you can find their branch names in\nthe [public Android repository](https://android.googlesource.com/platform/manifest/+refs).\nThey map to\n[Android Codenames, Tags, and Build Numbers](/docs/setup/reference/build-numbers#source-code-tags-and-builds).\n\n1. Build an AVD system image. This is the same process as [building an\n Android](/docs/setup/build/building) device system\n image. For example, to build a x86 64-bit AVD:\n\n source ./build/envsetup.sh\n lunch sdk_phone_x86_64\n make -j32\n\n2. Run the AVD system image in the Android Emulator:\n\n emulator\n\nSee\n[Command-line startup options](https://developer.android.com/studio/run/emulator-commandline#startup-options)\nfor more details about running the emulator. Figure 2 shows an example of the\nAndroid Emulator running an AVD:\n\n**Figure 2.** Android Emulator running an AVD.\n\nShare AVD system images for others to use with Android Studio\n-------------------------------------------------------------\n\nFollow these instructions to share your AVD system images with others. They can\nuse your AVD system images with [Android\nStudio](https://developer.android.com/studio) to develop and test apps.\n\n1. Make additional `sdk` and `sdk_repo` packages:\n\n For Android 13 and higher, use the `emu_img_zip`\n command: \n\n $ make emu_img_zip\n\n This generates an `sdk-repo-linux-system-images-eng.[username]].zip` file.\n\n For Android 12 and lower, use the `sdk_repo`\n command: \n\n $ make -j32 sdk sdk_repo\n\n The `make sdk sdk_repo` command creates two files under\n `aosp-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86`:\n - `sdk-repo-linux-system-images-eng.[username].zip`\n - `repo-sys-img.xml`\n2. Host the file `sdk-repo-linux-system-images-eng.[username].zip`\n somewhere accessible to your users, and get its URL to use as the **AVD\n System Image URL**.\n\n3. For Android 12 and lower, edit `repo-sys-img.xml` accordingly:\n\n - Update `\u003csdk:url\u003e` to your **AVD System Image URL**.\n - See [sdk-sys-img-03.xsd](https://android.googlesource.com/platform/prebuilts/devtools/+/refs/heads/android16-release/repository/sdk-sys-img-03.xsd) to learn about other updates to the file.\n - Host `repo-sys-img.xml` somewhere accessible to your users, and get its URL to use as the **Custom Update Site URL**.\n\nTo use a custom AVD image, do the following in the SDK Manager:\n\n1. Add the **Custom Update Site URL** as an\n [SDK Update Site](https://developer.android.com/studio/intro/update#adding-sites).\n\n This adds your custom AVD system image to the System Images page.\n2. [Create an AVD](https://developer.android.com/studio/run/managing-avds#createavd)\n by downloading and selecting the custom AVD system image.\n\nAdd multi-display support\n-------------------------\n\nAndroid 10\n[enhances multi-display](/docs/core/display/multi_display)\nto better support more use cases, such as auto and desktop mode. Android\nEmulator also supports multi-display emulation. So you can create a specific\nmulti-display environment without setting up the real hardware.\n\nYou can add multi-display support to an AVD by making the following changes, or\nby cherry picking from\n[these CLs](https://android-review.googlesource.com/q/topic:%22AVD+Multi-display%22+(status:open%20OR%20status:merged)).\n\n- Add the multi-display provider to the build by adding these lines to file\n `build/target/product/sdk_phone_x86.mk`:\n\n PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \\\n system/lib/libemulator_multidisplay_jni.so \\\n system/lib64/libemulator_multidisplay_jni.so \\\n system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \\\n PRODUCT_PACKAGES += MultiDisplayProvider\n\n- Enable the Multi-Display feature flag by adding this line to file\n `device/generic/goldfish/data/etc/advancedFeatures.ini`:\n\n MultiDisplay = on\n\nYou can find the latest emulator features and release information from\nthe following sources:\n\n- [Run apps on Android Emulator](https://developer.android.com/studio/run/emulator)\n- [Android Emulator release notes](https://developer.android.com/studio/releases/emulator)"]]