استفاده از دستگاه های مجازی شبیه ساز اندروید

می‌توانید از شبیه‌ساز Android برای ایجاد شبیه‌سازی‌هایی از دستگاه‌های اندرویدی استفاده کنید که تصاویر سفارشی سیستم Android شما را اجرا می‌کنند. همچنین می توانید تصاویر سفارشی سیستم اندروید خود را به اشتراک بگذارید تا افراد دیگر بتوانند شبیه سازی آنها را اجرا کنند. علاوه بر این، می‌توانید پشتیبانی از چند نمایشگر را به شبیه‌سازی‌های شبیه‌ساز اندروید اضافه کنید.

معماری شبیه ساز اندروید

شبیه‌ساز اندروید به شما امکان می‌دهد شبیه‌سازی‌های دستگاه‌های اندرویدی را روی دستگاه‌های Windows، macOS یا Linux اجرا کنید. شبیه ساز اندروید سیستم عامل اندروید را در یک ماشین مجازی به نام دستگاه مجازی اندروید (AVD) اجرا می کند. AVD شامل پشته کامل نرم افزار اندروید است و به گونه ای اجرا می شود که گویی روی یک دستگاه فیزیکی است. شکل 1 نموداری از معماری سطح بالای شبیه ساز اندروید است. برای اطلاعات بیشتر درباره شبیه‌ساز، به اجرای برنامه‌ها در شبیه‌ساز Android مراجعه کنید.

معماری شبیه ساز اندروید

شکل 1. معماری شبیه ساز اندروید

ساخت تصاویر AVD

هر AVD شامل یک تصویر سیستم اندروید است که در آن AVD اجرا می شود. مدیر AVD شامل برخی از تصاویر سیستم است. و می توانید تصاویر سیستم AVD سفارشی را از کد منبع خود بسازید و برای اجرای آنها شبیه سازی های دستگاه ایجاد کنید.

برای ساخت و اجرای تصویر سیستم AVD:

  1. دانلود منبع اندروید:

    mkdir aosp-main; cd aosp-main
    repo init -u
    repo sync -j24
    

    اگر می‌خواهید نسخه‌های اندروید دیگری بسازید، می‌توانید نام شاخه‌های آن‌ها را در مخزن عمومی Android پیدا کنید. آنها به کد نام‌ها، برچسب‌ها و شماره‌های ساخت اندروید نگاشت می‌شوند.

  2. یک تصویر سیستم AVD بسازید. این فرآیند مشابه ساخت تصویر سیستم دستگاه اندروید است. به عنوان مثال، برای ساخت یک AVD 32 بیتی x86:

    mkdir aosp-main; cd aosp-main
    source ./build/envsetup.sh
    lunch sdk_phone_x86
    make -j32
    

    اگر ترجیح می دهید یک AVD 64 بیتی x86 بسازید، lunch برای هدف 64 بیتی اجرا کنید:

    lunch sdk_phone_x86_64
    
  3. تصویر سیستم AVD را در شبیه ساز اندروید اجرا کنید:

    emulator
    

برای جزئیات بیشتر در مورد اجرای شبیه ساز به گزینه های راه اندازی خط فرمان مراجعه کنید. شکل 2 نمونه ای از شبیه ساز اندروید را نشان می دهد که یک AVD را اجرا می کند.

شبیه ساز اندروید که یک AVD اجرا می کند

شکل 2. شبیه ساز اندروید که یک AVD را اجرا می کند

به اشتراک گذاری تصاویر سیستم AVD برای استفاده دیگران با Android Studio

این دستورالعمل ها را دنبال کنید تا تصاویر سیستم AVD خود را با دیگران به اشتراک بگذارید. آنها می توانند از تصاویر سیستم AVD شما با Android Studio برای توسعه و آزمایش برنامه ها استفاده کنند.

  1. بسته های 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-main/out/host/linux-x86/sdk/sdk_phone_x86 ایجاد می کند:

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. فایل sdk-repo-linux-system-images-eng.[username].zip در جایی که کاربران خود در دسترس هستند میزبانی کنید و URL آن را برای استفاده به عنوان نشانی اینترنتی تصویر سیستم AVD دریافت کنید.

  3. برای Android 12 و پایین‌تر، repo-sys-img.xml بر این اساس ویرایش کنید:

    • <sdk:url> به URL تصویر سیستم AVD خود به روز کنید.
    • sdk-sys-img-03.xsd را ببینید تا با سایر به روز رسانی های فایل آشنا شوید.
    • repo-sys-img.xml در جایی میزبانی کنید که برای کاربران خود در دسترس باشد و URL آن را به عنوان URL سایت به‌روزرسانی سفارشی استفاده کنید.

برای استفاده از یک تصویر AVD سفارشی، موارد زیر را در مدیریت SDK انجام دهید:

  1. URL سایت به‌روزرسانی سفارشی را به عنوان یک سایت به‌روزرسانی SDK اضافه کنید .

    این تصویر سیستم AVD سفارشی شما را به صفحه System Images اضافه می کند.

  2. با دانلود و انتخاب تصویر سفارشی سیستم AVD ، یک AVD ایجاد کنید .

اضافه کردن پشتیبانی از چند نمایشگر

اندروید 10 چند نمایشگر (MD) را برای پشتیبانی بهتر از موارد استفاده بیشتر، مانند حالت خودکار و دسکتاپ، بهبود می‌بخشد . شبیه ساز اندروید از شبیه سازی چند نمایشگر نیز پشتیبانی می کند. بنابراین می‌توانید بدون تنظیم سخت‌افزار واقعی، یک محیط چند نمایشگر خاص ایجاد کنید.

می‌توانید با ایجاد تغییرات زیر، یا با انتخاب گیلاس از این 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
    

می‌توانید آخرین ویژگی‌های شبیه‌ساز را بیابید و اطلاعات منتشر کنید از منابع زیر: