شما میتوانید از شبیهساز اندروید برای ایجاد شبیهسازیهایی از دستگاههای اندروید که ایمیجهای سیستم اندروید سفارشی شما را اجرا میکنند، استفاده کنید. علاوه بر این، میتوانید پشتیبانی از چند نمایشگر را به شبیهسازیهای شبیهساز اندروید اضافه کنید.
معماری شبیهساز اندروید
شبیهساز اندروید، سیستم عامل اندروید را در یک ماشین مجازی به نام دستگاه مجازی اندروید (AVD) اجرا میکند. هر AVD شامل پشته کامل نرمافزار اندروید است و طوری اجرا میشود که انگار روی یک دستگاه فیزیکی است. شکل 1 معماری سطح بالای شبیهساز اندروید را نشان میدهد. برای اطلاعات بیشتر در مورد شبیهساز، به بخش «اجرای برنامهها روی شبیهساز اندروید» مراجعه کنید.

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

شکل 2. شبیهساز اندروید که یک AVD را اجرا میکند.
تصاویر سیستم AVD را برای استفاده دیگران با اندروید استودیو به اشتراک بگذارید
برای به اشتراک گذاشتن ایمیجهای سیستم AVD خود با دیگران، این دستورالعملها را دنبال کنید. آنها میتوانند از ایمیجهای سیستم AVD شما با اندروید استودیو برای توسعه و آزمایش برنامهها استفاده کنند.
بستههای
sdkوsdk_repoاضافی ایجاد کنید:برای اندروید ۱۳ و بالاتر، از دستور
emu_img_zipاستفاده کنید:$ make emu_img_zipاین یک فایل
sdk-repo-linux-system-images-eng.[username]].zipایجاد میکند.برای اندروید ۱۲ و پایینتر، از دستور
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 آن را برای استفاده به عنوان URL تصویر سیستم AVD دریافت کنید.برای اندروید ۱۲ و پایینتر،
repo-sys-img.xmlرا به صورت زیر ویرایش کنید:-
<sdk:url>را به آدرس تصویر سیستم AVD خود بهروزرسانی کنید. - برای کسب اطلاعات بیشتر در مورد سایر بهروزرسانیهای این فایل، به sdk-sys-img-03.xsd مراجعه کنید.
-
repo-sys-img.xmlرا در جایی که برای کاربران شما قابل دسترسی است، میزبانی کنید و URL آن را به عنوان URL سایت بهروزرسانی سفارشی دریافت کنید.
-
برای استفاده از یک تصویر AVD سفارشی، مراحل زیر را در SDK Manager انجام دهید:
آدرس اینترنتی سایت بهروزرسانی سفارشی را به عنوان یک سایت بهروزرسانی SDK اضافه کنید.
این کار تصویر سیستم AVD سفارشی شما را به صفحه تصاویر سیستم اضافه میکند.
با دانلود و انتخاب ایمیج سیستم AVD سفارشی ، یک AVD ایجاد کنید .
اضافه شدن پشتیبانی از چند نمایشگر
اندروید ۱۰ قابلیت چند نمایشگری را بهبود بخشیده تا از موارد استفاده بیشتری مانند حالت خودکار و دسکتاپ پشتیبانی کند. شبیهساز اندروید نیز از شبیهسازی چند نمایشگری پشتیبانی میکند. بنابراین میتوانید بدون راهاندازی سختافزار واقعی، یک محیط چند نمایشگری خاص ایجاد کنید.
شما میتوانید با ایجاد تغییرات زیر یا با انتخاب دلخواه از بین این 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
شما میتوانید جدیدترین ویژگیهای شبیهساز و اطلاعات انتشار را از منابع زیر پیدا کنید: