از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
از دستگاه های مجازی شبیه ساز اندروید استفاده کنید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
میتوانید از شبیهساز Android برای ایجاد شبیهسازیهایی از دستگاههای اندرویدی استفاده کنید که تصاویر سفارشی سیستم Android شما را اجرا میکنند. علاوه بر این، میتوانید پشتیبانی از چند نمایشگر را به شبیهسازیهای شبیهساز اندروید اضافه کنید.
معماری شبیه ساز اندروید
شبیه ساز اندروید سیستم عامل اندروید را در یک ماشین مجازی به نام دستگاه مجازی اندروید (AVD) اجرا می کند. هر AVD شامل پشته کامل نرم افزار اندروید است و به گونه ای اجرا می شود که گویی روی یک دستگاه فیزیکی است. شکل 1 معماری سطح بالای شبیه ساز اندروید را نشان می دهد. برای اطلاعات بیشتر درباره شبیهساز، به اجرای برنامهها در شبیهساز Android مراجعه کنید.

شکل 1. معماری شبیه ساز اندروید.
ساخت تصاویر AVD
هر AVD شامل یک تصویر سیستم اندروید است که در آن AVD اجرا می شود. مدیر AVD شامل برخی از تصاویر سیستم است. و می توانید تصاویر سیستم AVD سفارشی را از کد منبع خود بسازید و برای اجرای آنها شبیه سازی های دستگاه ایجاد کنید.
برای ساخت و اجرای تصویر سیستم AVD:
دانلود منبع اندروید:
mkdir aosp-android-latest-release; cd aosp-android-latest-release
repo init -u
repo sync -j24
اگر میخواهید نسخههای اندروید دیگری بسازید، میتوانید نام شاخههای آنها را در مخزن عمومی Android پیدا کنید. آنها به کد نامها، برچسبها و شمارههای ساخت اندروید نگاشت میشوند.
یک تصویر سیستم AVD بسازید. این فرآیند مشابه ساخت تصویر سیستم دستگاه اندروید است. به عنوان مثال، برای ساخت یک AVD 64 بیتی x86:
source ./build/envsetup.sh
lunch sdk_phone_x86_64
make -j32
تصویر سیستم AVD را در شبیه ساز اندروید اجرا کنید:
emulator
برای جزئیات بیشتر در مورد اجرای شبیه ساز به گزینه های راه اندازی خط فرمان مراجعه کنید. شکل 2 نمونه ای از شبیه ساز اندروید را نشان می دهد که یک AVD را اجرا می کند:

شکل 2. شبیه ساز اندروید که یک AVD را اجرا می کند.
تصاویر سیستم AVD را برای استفاده دیگران با Android Studio به اشتراک بگذارید
این دستورالعمل ها را دنبال کنید تا تصاویر سیستم AVD خود را با دیگران به اشتراک بگذارید. آنها می توانند از تصاویر سیستم AVD شما با Android Studio برای توسعه و آزمایش برنامه ها استفاده کنند.
بسته های sdk
و sdk_repo
اضافی بسازید:
برای اندروید 13 و بالاتر، از دستور emu_img_zip
استفاده کنید:
$ make emu_img_zip
این یک فایل sdk-repo-linux-system-images-eng.[username]].zip
تولید می کند.
برای اندروید 12 و پایین تر، از دستور sdk_repo
استفاده کنید:
$ make -j32 sdk sdk_repo
دستور make sdk sdk_repo
دو فایل تحت aosp-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86
ایجاد میکند:
-
sdk-repo-linux-system-images-eng.[username].zip
-
repo-sys-img.xml
فایل sdk-repo-linux-system-images-eng.[username].zip
در جایی که کاربران خود در دسترس هستند میزبانی کنید و URL آن را برای استفاده به عنوان نشانی اینترنتی تصویر سیستم AVD دریافت کنید.
برای Android 12 و پایینتر، repo-sys-img.xml
بر این اساس ویرایش کنید:
-
<sdk:url>
را به URL تصویر سیستم AVD خود به روز کنید. - sdk-sys-img-03.xsd را ببینید تا با سایر به روز رسانی های فایل آشنا شوید.
-
repo-sys-img.xml
را در جایی میزبانی کنید که برای کاربران خود در دسترس باشد و URL آن را به عنوان URL سایت بهروزرسانی سفارشی استفاده کنید.
برای استفاده از یک تصویر AVD سفارشی، موارد زیر را در مدیریت SDK انجام دهید:
URL سایت بهروزرسانی سفارشی را به عنوان یک سایت بهروزرسانی SDK اضافه کنید.
این تصویر سیستم AVD سفارشی شما را به صفحه System Images اضافه می کند.
با دانلود و انتخاب تصویر سفارشی سیستم AVD، یک AVD ایجاد کنید .
پشتیبانی از چند نمایشگر را اضافه کنید
اندروید 10 برای پشتیبانی بهتر از موارد استفاده بیشتر، مانند حالت خودکار و دسکتاپ ، چند نمایشگر را بهبود می بخشد . شبیه ساز اندروید از شبیه سازی چند نمایشگر نیز پشتیبانی می کند. بنابراین میتوانید بدون تنظیم سختافزار واقعی، یک محیط چند نمایشگر خاص ایجاد کنید.
میتوانید با ایجاد تغییرات زیر، یا با انتخاب گیلاس از این CLها ، پشتیبانی از چند نمایشگر را به یک AVD اضافه کنید.
با افزودن این خطوط به فایل build/target/product/sdk_phone_x86.mk
ارائه دهنده چند نمایشگر را به بیلد اضافه کنید:
PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \
system/lib/libemulator_multidisplay_jni.so \
system/lib64/libemulator_multidisplay_jni.so \
system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \
PRODUCT_PACKAGES += MultiDisplayProvider
با افزودن این خط به فایل device/generic/goldfish/data/etc/advancedFeatures.ini
پرچم ویژگی Multi-Display را فعال کنید:
MultiDisplay = on
میتوانید آخرین ویژگیهای شبیهساز را بیابید و اطلاعات منتشر کنید از منابع زیر:
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],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)"]]