شبیه‌ساز را از خط فرمان شروع کنید

«کیت توسعه نرم‌افزار Android» شامل شبیه‌ساز دستگاه Android است—دستگاهی مجازی که در رایانه شما اجرا می‌شود. «شبیه‌ساز Android» به شما امکان می‌دهد بدون استفاده از دستگاه فیزیکی، برنامه‌های Android را توسعه دهید و آزمایش کنید.

این صفحه ویژگی‌های خط فرمان را که می‌توانید با «شبیه‌ساز Android» استفاده کنید شرح می‌دهد. برای اطلاعات درباره استفاده از واسط کاربر «شبیه‌ساز Android»، به اجرا کردن برنامه‌ها در «شبیه‌ساز Android» مراجعه کنید.

شروع شبیه‌ساز

به‌جای اجرای پروژه یا شروع آن ازطریق «مدیر AVD»، از فرمان emulator برای شروع شبیه‌ساز استفاده کنید.

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

emulator -avd avd_name [ {-option [value]} … ]

یا

emulator @avd_name [ {-option [value]} … ]

برای مثال، اگر شبیه‌ساز را از داخل Android Studio که روی Mac اجرا می‌شود راه‌اندازی کنید، خط فرمان پیش‌فرض شبیه به این خواهد بود:

/Users/janedoe/Library/Android/sdk/emulator/emulator -avd Pixel8_API_34 -netdelay none -netspeed full -qt-hide-window -grpc-use-token -idle-grpc-timeout 300

لطفاً توجه داشته باشید که آرگومان‌های -qt-hide-window -grpc-use-token -idle-grpc-timeout 300 فقط برای اجرای پنجره شبیه‌ساز در «استودیو Android» استفاده می‌شوند. اگر می‌خواهید شبیه‌ساز را در پنجره خودش اجرا کنید، نباید از آن پارامترهای اضافی استفاده کنید.

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

برای فهرست نام‌های AVD، فرمان زیر را وارد کنید:

emulator -list-avds

از این گزینه برای نمایش فهرست نام‌های AVD از دایرکتوری خانه Android استفاده کنید. می‌توانید با تنظیم متغیر محیطی ANDROID_SDK_HOME که ریشه دایرکتوری مختص کاربر را مشخص می‌کند و در آن همه پیکربندی‌ها و محتوای AVD ذخیره می‌شود، دایرکتوری اصلی پیش‌فرض را ملغی کنید.

متغیر محیط را می‌توانید در پنجره پایانه قبل‌از راه‌اندازی دستگاه مجازی یا ازطریق تنظیمات کاربر در سیستم‌عامل تنظیم کنید. برای مثال، در فایل .bashrc در Linux.

برای متوقف کردن «شبیه‌ساز Android»، پنجره شبیه‌ساز را ببندید.

نصب برنامه

علاوه‌بر نصب برنامه ازطریق Android Studio یا واسط کاربر شبیه‌ساز، می‌توانید برنامه را بااستفاده از ابزار adb در دستگاه مجازی نصب کنید.

برای استفاده از adb برای نصب، اجرا، و آزمایش برنامه، این مراحل کلی را دنبال کنید:

  1. برنامه‌تان را طبق آنچه در ساختن و اجرای برنامه توضیح داده شده است بسازید و آن را در قالب APK بسته‌بندی کنید.
  2. شبیه‌ساز را از خط فرمان، همان‌طور که در بخش قبلی توضیح داده شده است، بااستفاده از هریک از گزینه‌های راه‌اندازی لازم شروع کنید.
  3. برنامه را بااستفاده از adb نصب کنید.
  4. برنامه‌تان را در شبیه‌ساز اجرا و آزمایش کنید.
    وقتی شبیه‌ساز درحال اجرا است، می‌توانید از واحد فرمان شبیه‌ساز برای صدور فرمان‌های موردنیاز استفاده کنید.

برای حذف نصب برنامه، همان‌طور که در دستگاه Android انجام می‌دهید، این کار را انجام دهید.

دستگاه مجازی برنامه و داده‌های وضعیت آن را در سراسر بازراه‌اندازی‌ها در پارتیشن دیسک داده‌های کاربر (userdata-qemu.img) حفظ می‌کند. برای پاک کردن این داده‌ها، شبیه‌ساز را با گزینه -wipe-data شروع کنید یا داده‌ها را در «مدیر AVD» پاک کنید. برای کسب اطلاعات بیشتر درباره پارتیشن داده‌های کاربر و فضای ذخیره‌سازی دیگر، بخش زیر را ببینید.

توجه: ابزار adb دستگاه مجازی را به‌عنوان دستگاه فیزیکی واقعی می‌بیند. به همین دلیل، ممکن است لازم باشد از پرچم -d با برخی‌از فرمان‌های رایج adb، مثل install، استفاده کنید. پرچم -d به شما امکان می‌دهد مشخص کنید از کدام‌یک از چندین دستگاه متصل به‌عنوان هدف فرمان استفاده شود. اگر مشخص نکنید -d، شبیه‌ساز اولین دستگاه را در فهرست خود هدف‌یابی می‌کند.

آشنایی با فایل‌ها و دایرکتوری‌های پیش‌فرض

شبیه‌ساز از فایل‌های مرتبط استفاده می‌کند که در این میان، سیستم AVD و دایرکتوری‌های داده از همه مهم‌تر هستند. در هنگام مشخص کردن گزینه‌های خط فرمان، درک ساختار دایرکتوری شبیه‌ساز و فایل‌ها مفید است، اگرچه معمولاً نیازی به تغییر دایرکتوری‌ها یا فایل‌های پیش‌فرض ندارید.

«شبیه‌ساز Android» از سرپرست (QEMU) استفاده می‌کند.

فهرست راهنمای سیستم AVD

دایرکتوری سیستم حاوی تصاویر سیستم Android است که شبیه‌ساز برای شبیه‌سازی سیستم‌عامل استفاده می‌کند. این فهرست راهنما دارای فایل‌های فقط‌خواندنی مختص پلاتفرم است که همه AVDهای از یک نوع، ازجمله سطح API، معماری CPU، و گونه Android، آن را هم‌رسانی می‌کنند. مکان‌های پیش‌فرض عبارت‌اند از:

  • ‫macOS و Linux - ~/Library/Android/sdk/system-images/android-apiLevel/variant/arch/
  • Windows - C:\Users\user\Library\Android\sdk\system-images\android-apiLevel\variant\arch\\

مکان:

  • ‫apiLevel سطح میانای برنامه‌سازی کاربردی عددی یا حرفی برای نسخه‌های پیش‌نمایش است. برای مثال، android-V نشان‌دهنده پیش‌نمایش Android VanillaIceCream است. پس‌از انتشار، به سطح میانای برنامه‌سازی کاربردی ۳۵ تبدیل شد که با android-35 مشخص می‌شود.
  • ‫variant نامی است که با ویژگی‌های خاصی که تصویر سیستم پیاده‌سازی کرده است مطابقت دارد. برای مثال، google_apis یا android-wear.
  • ‫arch معماری CPU هدف است. برای مثال، x86.

از گزینه -sysdir برای مشخص کردن پوشه سیستم دیگری برای AVD استفاده کنید.

شبیه‌ساز فایل‌های زیر را از دایرکتوری سیستم می‌خواند:

جدول ۱. فایل‌های دایرکتوری سیستم که «شبیه‌ساز Android» می‌خواند

فایل شرح گزینه تعیین فایل دیگر
kernel-ranchu تصویر هسته باینری برای AVD. -kernel
ramdisk.img تصویر پارتیشن راه‌اندازی. این زیرمجموعه‌ای از system.img بارشده توسط هسته در ابتدا قبل‌از نصب تصویر سیستم است. معمولاً فقط شامل چند فایل باینری و چند دستورگانه‌ اولیه است. -ramdisk
system.img نسخه اولیه فقط خواندنی تصویر سیستم. به‌طور دقیق، پارتیشن حاوی کتابخانه‌های سیستم و داده‌های مربوط به سطح API و گونه. -system
userdata.img نسخه اولیه پارتیشن داده که به‌صورت data/ در سیستم شبیه‌سازی‌شده ظاهر می‌شود و حاوی همه داده‌های نوشتنی برای AVD است. وقتی AVD جدیدی ایجاد می‌کنید یا از گزینه ‑wipe-data استفاده می‌کنید، شبیه‌ساز از این فایل استفاده می‌کند. برای اطلاعات بیشتر، userdata-qemu.img شرح فایل را در بخش زیر ببینید. -initdata

فهرست راهنمای داده‌های AVD

دایرکتوری داده AVD، که دایرکتوری محتوا نیز نامیده می‌شود، مختص یک نمونه AVD است و حاوی همه داده‌های قابل‌تغییر برای AVD است.

مکان پیش‌فرض به‌صورت زیر است، که در آن name نام AVD است:

  • ‫macOS و Linux - ~/.android/avd/name.avd/
  • ‫Windows 10 و بالاتر - C:\Users\user\.android\name.avd\\

برای مشخص کردن دایرکتوری داده AVD متفاوت، از گزینه -datadir استفاده کنید.

جدول زیر مهم‌ترین فایل‌های موجود در این فهرست راهنما را فهرست می‌کند:

جدول ۲. فایل‌های مهم در دایرکتوری داده AVD

فایل شرح گزینه تعیین فایل دیگر
userdata-qemu.img

محتوای بخش داده، که به‌صورت data/ در سیستم شبیه‌سازی‌شده نشان داده می‌شود. وقتی AVD جدیدی ایجاد می‌کنید یا وقتی از گزینه -wipe-data برای بازنشانی AVD به پیش‌فرض‌های کارخانه استفاده می‌کنید، شبیه‌ساز فایل userdata.img را در دایرکتوری سیستم کپی می‌کند تا این فایل را ایجاد کند.

هر نمونه دستگاه مجازی از تصویر داده‌های کاربر نوشتنی برای ذخیره داده‌های کاربر و داده‌های مختص جلسه استفاده می‌کند. برای مثال، از این تصویر برای ذخیره کردن داده‌های برنامه نصب‌شده، تنظیمات، پایگاه‌های داده، و فایل‌های کاربر منحصربه‌فرد استفاده می‌کند. هر کاربر فهرست راهنمای ANDROID_SDK_HOME متفاوتی دارد که فهرست‌های راهنمای داده را برای AVDهای ایجادشده توسط آن کاربر ذخیره می‌کند. هر AVD یک فایل userdata-qemu.img دارد.

-data
cache.img تصویر پارتیشن حافظه نهان که به‌صورت cache/ در سیستم شبیه‌سازی‌شده نشان داده می‌شود. وقتی برای اولین‌بار AVD ایجاد می‌کنید یا از گزینه -wipe-data استفاده می‌کنید، خالی است. فایل‌های بارگیری موقت را ذخیره می‌کند و توسط مدیر بارگیری و گاهی اوقات سیستم پر می‌شود. برای مثال، مرورگر از آن برای ذخیره کردن صفحه‌های وب و تصاویر بارگیری‌شده در حافظه نهان درحالی‌که شبیه‌ساز درحال اجرا است استفاده می‌کند. وقتی دستگاه مجازی را خاموش کنید، فایل حذف می‌شود. بااستفاده از گزینه -cache می‌توانید فایل را ماندگار کنید. -cache
sdcard.img

(اختیاری) تصویر پارتیشن کارت SD که به شما امکان می‌دهد کارت SD را در دستگاه مجازی شبیه‌سازی کنید. می‌توانید فایل تصویر کارت SD را در مدیر AVD یا بااستفاده از mksdcard ابزار ایجاد کنید. فایل در رایانه توسعه شما ذخیره شده است و باید در زمان راه‌اندازی بار شود.

هنگام تعریف AVD در «مدیر AVD»، می‌توانید انتخاب کنید از فایل کارت SD مدیریت‌شده خودکار یا فایلی که با ابزار mksdcard ایجاد کرده‌اید استفاده کنید. می‌توانید فایل sdcard.img مرتبط با AVD را در «مدیر AVD» مشاهده کنید. گزینه -sdcard فایل کارت SD مشخص‌شده در AVD را ملغی می‌کند. توجه داشته باشید که این گزینه «کارت SD» در Mac با Apple Silicon کار نخواهد کرد.

می‌توانید بااستفاده از رابط کاربری شبیه‌ساز یا ابزار adb در حین اجرای دستگاه مجازی، کارت SD شبیه‌سازی‌شده را مرور کنید، فایل‌ها را به آن ارسال کنید، و فایل‌ها را از آن کپی و حذف کنید. نمی‌توانید کارت SD شبیه‌سازی‌شده را از دستگاه مجازی درحال اجرا بردارید.

برای کپی کردن فایل‌ها در فایل کارت SD قبل‌از بار کردن آن، فایل تصویر را به‌عنوان دستگاه حلقه نصب کنید و سپس فایل‌ها را کپی کنید. یا از ابزاری مانند بسته mtools برای کپی کردن مستقیم فایل‌ها در تصویر استفاده کنید.

شبیه‌ساز فایل را به‌عنوان مجموعه‌ای از بایت‌ها درنظر می‌گیرد، بنابراین قالب کارت SD مهم نیست.

گزینه -wipe-data روی این فایل تأثیر نمی‌گذارد. اگر می‌خواهید فایل را پاک کنید، فایل را حذف کنید و سپس آن را بااستفاده از «مدیر AVD» یا ابزار mksdcard دوباره ایجاد کنید. تغییر اندازه فایل همچنین فایل را حذف می‌کند و فایل جدیدی ایجاد می‌کند.

-sdcard

فهرست کردن دایرکتوری‌ها و فایل‌های استفاده‌شده توسط شبیه‌ساز

به دو روش می‌توانید مکان فایل‌ها را پیدا کنید:

  • وقتی شبیه‌ساز را از خط فرمان شروع می‌کنید، از گزینه -verbose یا -debug init استفاده کنید. به برونداد نگاه کنید.
  • از فرمان emulator -help-option برای فهرست کردن دایرکتوری پیش‌فرض استفاده کنید. برای مثال:
    emulator -help-datadir
    Use '-datadir <dir>' to specify a directory where writable image files will be searched. On this system, the default directory is: /Users/me/.android See '-help-disk-images' for more information about disk image files.

گزینه‌های راه‌اندازی خط فرمان

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

توجه: «شبیه‌ساز Android» به‌طور مداوم درحال توسعه است تا قابل‌اعتمادتر شود. برای اطلاع از وضعیت مشکلات گزارش‌شده علیه گزینه‌های مختلف خط فرمان و گزارش اشکالات، به Android Issue Tracker مراجعه کنید.

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

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

جدول ۳. گزینه‌های خط فرمان پرکاربرد

گزینه خط فرمان شرح
راه‌اندازی سریع
-no-snapshot-load راه‌اندازی سرد انجام می‌دهد و وضعیت شبیه‌ساز را هنگام خروج ذخیره می‌کند.
-no-snapshot-save درصورت امکان، راه‌اندازی سریع انجام می‌دهد، اما وضعیت شبیه‌ساز را هنگام خروج ذخیره نمی‌کند.
-no-snapshot ویژگی «راه‌اندازی سریع» را به‌طور کامل غیرفعال می‌کند و وضعیت شبیه‌ساز را بارگیری یا ذخیره نمی‌کند.
سخت‌افزار دستگاه
-camera-back mode
-camera-front mode

حالت شبیه‌سازی را برای دوربین پشت یا جلو تنظیم می‌کند. این تنظیم هر تنظیم دوربین در AVD را ملغی می‌کند.

‫mode می‌تواند هریک از مقادیر زیر باشد:

  • emulated - شبیه‌ساز دوربین را در نرم‌افزار شبیه‌سازی می‌کند.
  • environment - شبیه‌ساز از صحنه مجازی تعریف‌شده در فایل پیکربندی محیط AVD استفاده می‌کند.
  • webcamn - شبیه‌ساز از وب‌کمی که به رایانه توسعه شما متصل است و با شماره مشخص شده است استفاده می‌کند. برای مشاهده فهرست وب‌کم‌ها، از گزینه -webcam-list استفاده کنید. برای مثال، webcam0.
  • ‫imagefile:filename - شبیه‌ساز از فایل تصویری برای برونداد دوربین استفاده می‌کند.
  • videofile:filename - شبیه‌ساز از ویدیو برای برونداد دوربین استفاده می‌کند.
  • ‫image360:filename - شبیه‌ساز از تصویر پانورامای تمام‌زاویه برای برونداد دوربین استفاده می‌کند. در نسخه ۳۶.۶.۴ و بالاتر دردسترس است.
  • none - دوربین را در دستگاه مجازی غیرفعال می‌کند.

برای مثال:

emulator @Pixel8_API_34 -camera-back webcam0
-webcam-list وب‌کم‌های موجود در رایانه توسعه‌دهنده شما را که برای شبیه‌سازی دردسترس هستند فهرست می‌کند. برای مثال:
emulator @Pixel8_API_34 -webcam-list
        List of web cameras connected to the computer:
        Camera 'webcam0' is connected to device 'webcam0'
        on channel 0 using pixel format 'UYVY'

در این مثال، اولین webcam0 نامی است که در خط فرمان استفاده می‌کنید. webcam0 دوم نامی است که سیستم‌عامل در رایانه توسعه از آن استفاده می‌کند. نام دوم بسته به سیستم‌عامل متفاوت است.

از «ابزارهای کیت توسعه نرم‌افزار» نسخه ۲۵.۲.۴، نام AVD الزامی است.

تصاویر دیسک و حافظه
-memory size

اندازه حافظه دسترسی تصادفی فیزیکی را از ۱۵۳۶ تا ۸۱۹۲ مگابایت مشخص می‌کند. برای مثال:

emulator @Pixel8_API_34 -memory 2048

این مقدار تنظیم AVD را ملغی می‌کند.

-sdcard filepath

نام فایل و مسیر فایل تصویر پارتیشن کارت SD را مشخص می‌کند. برای مثال:

emulator @Pixel8_API_34 -sdcard C:/sd/sdcard.img

اگر فایل پیدا نشود، شبیه‌ساز همچنان راه‌اندازی می‌شود، اما بدون کارت SD. این فرمان هشدار تصویر بدون کارت SD را برمی‌گرداند.

اگر این گزینه را مشخص نکنید، پیش‌فرض sdcard.img در دایرکتوری داده‌ها است، مگر اینکه AVD چیز دیگری را مشخص کند. برای جزئیات مربوط به کارت‌های SD شبیه‌سازی‌شده، دایرکتوری داده AVD را ببینید.

-wipe-data

داده‌های کاربر را حذف می‌کند و داده‌ها را از فایل داده اولیه کپی می‌کند. این گزینه داده‌های دستگاه مجازی را پاک می‌کند و آن را به همان حالتی که اولین‌بار تعریف شده بود برمی‌گرداند. همه برنامه‌های نصب‌شده و تنظیمات برداشته می‌شوند. برای مثال:

emulator @Pixel8_API_34 -wipe-data

به‌طور پیش‌فرض، فایل داده‌های کاربر userdata-qemu.img و فایل داده‌های اولیه userdata.img است. هر دو این فایل‌ها در دایرکتوری داده‌ها قرار دارند. گزینه -wipe-data بر فایل sdcard.img تأثیر نمی‌گذارد. برای اطلاعات بیشتر درباره داده‌های کاربر، به بخش آشنایی با فایل‌ها و پوشه‌های پیش‌فرض مراجعه کنید.

عیب‌یابی
-debug tags

نمایش پیام‌های اشکال‌زدایی را برای یک یا چند برچسب فعال یا غیرفعال می‌کند. چند برچسب را با فاصله، ویرگول، یا ستون از هم جدا کنید. برای مثال:

$ emulator @Pixel8_API_34 -debug init,metrics

برای غیرفعال کردن برچسب، یک خط تیره (-) در ابتدای آن قرار دهید. برای مثال، گزینه زیر همه پیام‌های اشکال‌زدایی را نمایش می‌دهد، به‌جز پیام‌های مربوط به سوکت‌های شبکه و معیارها:

-debug all,-socket,-metrics

برای فهرست برچسب‌ها و توضیحات، از گزینه -help-debug-tags استفاده کنید. برای مثال:

emulator -help-debug-tags
-debug-tag
-debug-no-tag

نوع خاصی از پیام اشکال‌زدایی را فعال می‌کند. از فرم no برای غیرفعال کردن نوع پیام اشکال‌زدایی استفاده کنید. برای مثال:

emulator @Pixel8_API_34 -debug-all -debug-no-metrics

برای دریافت فهرستی از برچسب‌ها، از فرمان emulator -help-debug-tags استفاده کنید.

-logcat logtags

نمایش پیام‌های Logcat را برای یک یا چند برچسب فعال می‌کند و آن‌ها را در پنجره ترمینال می‌نویسد. برای مثال، فرمان زیر پیام‌های خطا را از همه عناصر فعال می‌کند:

emulator @Pixel8_API_34 -logcat *:e

‫logtags از همان قالب فرمان adb logcat logtags استفاده می‌کند. برای اطلاعات بیشتر، adb logcat -help را وارد کنید. این فهرست فیلترهای گزارش جداشده با فاصله یا کاما با قالب componentName:logLevel است. componentName یا یک ستاره عام (*) یا نام یک جزء، مانند ActivityManager، SystemServer، InputManager، یا WindowManager است.

‫logLevel یکی از این مقادیر باشد:

  • ‫v - مفصل
  • ‫d - اشکال‌زدایی
  • ‫i - اطلاعاتی
  • ‫w - سطح گزارش هشدار
  • ‫e - خطا
  • ‫s - بی‌صدا

مثال زیر پیام‌های عنصر GSM را در سطح گزارش اطلاعاتی نمایش می‌دهد:

emulator @Pixel8_API_34 -logcat '*:s GSM:i'

همچنین می‌توانید پیام‌های گزارش یکسان یا دیگر را ازطریق adb به پایانه هدایت کنید.

برای اطلاعات بیشتر درباره Logcat و adb، به ابزار خط فرمان Logcat، مشاهده و نوشتن گزارش‌ها با Logcat، کلاس Log، و صدور فرمان‌های adb مراجعه کنید.

-show-kernel

پیام‌های اشکال‌زدایی هسته را در پنجره ترمینال نمایش می‌دهد. برای مثال:

emulator @Pixel8_API_34 -show-kernel

یکی از کاربردهای این گزینه بررسی درست کار کردن فرایند راه‌اندازی است.

-verbose

پیام‌های اولیه شبیه‌ساز را در پنجره ترمینال چاپ می‌کند. برای مثال:

emulator @Pixel8_API_34 -verbose

این بخش نشان می‌دهد که هنگام شروع دستگاه مجازی تعریف‌شده در AVD، کدام فایل‌ها و تنظیمات درواقع انتخاب شده‌اند. این گزینه همانند مشخص کردن -debug-init است.

شبکه
-dns-server servers

از سرورهای ساناد مشخص‌شده استفاده می‌کند. servers فهرست جداشده با کاما از حداکثر چهار نام سرور ساناد یا نشانی IP است. برای مثال:

emulator @Pixel8_API_34 -dns-server 192.0.2.0,
192.0.2.255

به‌طور پیش‌فرض، شبیه‌ساز تلاش می‌کند سرورهای ساناد مورد استفاده شما را شناسایی کند و نام‌های مستعار ویژه‌ای را در شبکه دیوار آتش شبیه‌سازی‌شده تنظیم می‌کند تا به سیستم Android اجازه دهد مستقیماً به سرورها متصل شود. برای مشخص کردن فهرست دیگری از سرورهای ساناد، از گزینه -dns-server استفاده کنید.

-http-proxy proxy

همه اتصال‌های TCP را ازطریق پراکسی HTTP/HTTPS مشخص‌شده برقرار می‌کند. اگر شبیه‌ساز شما باید ازطریق سرور پراکسی به اینترنت دسترسی داشته باشد، می‌توانید از این گزینه یا متغیر محیطی http_proxy برای تنظیم هدایت مجدد مناسب استفاده کنید. برای مثال:

emulator @Pixel8_API_34 -http-proxy myserver:1981

‫proxy می‌تواند یکی از موارد زیر باشد:

http://server:port
http://username:password@server:port

پیشوند http:// را می‌توان حذف کرد.

اگر این گزینه ارائه نشود، شبیه‌ساز متغیر محیطی http_proxy را جستجو می‌کند و به‌طور خودکار از هر مقداری که با قالب proxy مطابقت داشته باشد استفاده می‌کند. برای اطلاعات بیشتر، استفاده از شبیه‌ساز با پراکسی را ببینید.

توجه: هنگام اجرای چندین شبیه‌ساز، این پرچم باید در اولین راه‌اندازی تنظیم شود.

-netdelay delay

شبیه‌سازی تأخیر شبکه را روی یکی از مقادیر زیر delay به میلی‌ثانیه تنظیم می‌کند:

  • gsm - GSM/CSD (حداقل ۱۵۰، حداکثر ۵۵۰).
  • ‫hscsd - HSCSD (حداقل ۸۰، حداکثر ۴۰۰).
  • ‫gprs - GPRS (حداقل ۳۵، حداکثر ۲۰۰).
  • ‫edge - EDGE/EGPRS (حداقل ۸۰، حداکثر ۴۰۰).
  • umts - UMTS/3G (حداقل ۳۵، حداکثر ۲۰۰).
  • ‫hsdpa - HSDPA (حداقل ۰، حداکثر ۰).
  • ‫lte - LTE (حداقل ۰، حداکثر ۰).
  • ‫evdo - EVDO (حداقل ۰، حداکثر ۰).
  • none - بدون تأخیر، پیش‌فرض (حداقل ۰، حداکثر ۰).
  • num - تأخیر دقیق را مشخص می‌کند.
  • min:max - تأخیرهای حداقل و حداکثر فردی را مشخص می‌کند.

برای مثال:

emulator @Pixel8_API_34 -netdelay gsm

شبیه‌ساز از محدودیت شبکه و همچنین تأخیرهای اتصال بالاتر پشتیبانی می‌کند. می‌توانید آن را ازطریق پیکربندی پوسته یا با گزینه‌های ‑netspeed و -netdelay تعریف کنید.

توجه: این تنظیم برای اترنت و تلفن همراه اعمال می‌شود.

-netfast

محدود کردن شبکه را غیرفعال می‌کند. برای مثال:

emulator @Pixel8_API_34 -netfast

این گزینه همانند مشخص کردن -netspeed full -netdelay none است. این‌ها مقادیر پیش‌فرض برای این گزینه‌ها هستند.

توجه: این تنظیم برای اترنت و تلفن همراه اعمال می‌شود.

-netspeed speed

شبیه‌سازی سرعت شبکه را تنظیم می‌کند. حداکثر سرعت بارگذاری و بارگیری شبکه را با یکی از مقادیر speed زیر برحسب کیلوبیت در ثانیه مشخص می‌کند:

  • gsm - GSM/CSD (بارگذاری: ۱۴٫۴، بارگیری: ۱۴٫۴).
  • hscsd - HSCSD (بارگذاری: ۱۴٫۴، بارگیری: ۵۷٫۶).
  • gprs - GPRS (بالا: ۲۸٫۸، پایین: ۵۷٫۶).
  • edge - EDGE/EGPRS (بالا: ۴۷۳٫۶، پایین: ۴۷۳٫۶).
  • umts - UMTS/3G (بالا: ۳۸۴٫۰، پایین: ۳۸۴٫۰).
  • hsdpa - HSDPA (بالا: ۵۷۶۰.۰، پایین: ۱۳۹۸۰.۰).
  • ‫lte - LTE (بالا: ۵۸٬۰۰۰، پایین: ۱۷۳٬۰۰۰).
  • ‫evdo - EVDO (بارگذاری: ۷۵٬۰۰۰، بارگیری: ۲۸۰٬۰۰۰).
  • full - بدون محدودیت، پیش‌فرض (بالا: ۰.۰، پایین: ۰.۰).
  • ‫num - سرعت بارگذاری و بارگیری را مشخص می‌کند.
  • up:down - سرعت‌های جداگانه بارگذاری و بارگیری را مشخص می‌کند.

برای مثال:

emulator @Pixel8_API_34 -netspeed edge

شبیه‌ساز از محدودیت شبکه و همچنین تأخیرهای اتصال بالاتر پشتیبانی می‌کند. می‌توانید آن را ازطریق پیکربندی پوسته یا با گزینه‌های ‑netspeed و -netdelay تعریف کنید.

توجه: این تنظیم برای اترنت و تلفن همراه اعمال می‌شود.

-netsim-args arguments

آرگومان‌های اضافی را به شبیه‌ساز شبکه (netsim) ارسال می‌کند. arguments فهرستی از پرچم‌ها است که با فاصله از هم جدا شده‌اند.

برای مثال، برای فعال کردن ضبط بسته و هدایت گزارش‌گیری به stderr:

emulator @Pixel8_API_34 -netsim-args="--pcap --logtostderr"

برای اطلاعات بیشتر، ویژگی‌های پیشرفته شبکه شبیه‌ساز را ببینید.

-port port

شماره درگاه TCP را که برای کنسول و adb استفاده می‌شود تنظیم می‌کند. برای مثال:

emulator @Pixel8_API_34 -port 5556

مقدار پیش‌فرض ۵۵۵۴ برای اولین نمونه دستگاه مجازی درحال اجرا در ماشین شما است. دستگاه مجازی معمولاً از یک جفت درگاه مجاور استفاده می‌کند: یک درگاه کنسول و یک درگاه adb. کنسول اولین دستگاه مجازی که روی ماشین خاصی اجرا می‌شود از درگاه کنسول ۵۵۵۴ و درگاه adb ۵۵۵۵ استفاده می‌کند. نمونه‌های بعدی از شماره درگاه‌هایی استفاده می‌کنند که دوتا دوتا افزایش می‌یابند. برای مثال، 5556/5557, 5558/5559، و غیره. محدوده ۵۵۵۴ تا ۵۶۸۲ است که امکان استفاده از ۶۴ دستگاه مجازی هم‌زمان را فراهم می‌کند.

تخصیص‌های درگاه اغلب همانند مشخص کردن -ports port,{port + 1} است. ‫{port + 1} باید آزاد باشد و برای adb رزرو شده است. اگر هریک از درگاه‌های کنسول یا adb قبلاً درحال استفاده باشند، شبیه‌ساز شروع نمی‌شود.

گزینه ‑port گزارش می‌دهد که دستگاه مجازی از کدام درگاه‌ها و شماره سریال استفاده می‌کند و اگر مشکلی در مقادیر ارائه‌شده وجود داشته باشد هشدار می‌دهد. در رابط کاربری شبیه‌ساز، می‌توانید شماره درگاه کنسول را در عنوان پنجره ببینید و با انتخاب راهنما > درباره، شماره درگاه adb را مشاهده کنید.

توجه داشته باشید که اگر مقدار port زوج نباشد و در محدوده ۵۵۵۴ تا ۵۵۸۴ باشد، دستگاه مجازی شروع خواهد شد اما وقتی از فرمان adb devices استفاده می‌کنید قابل‌مشاهده نخواهد بود، اگر adb server بعداز شبیه‌ساز شروع شود. به همین دلیل، توصیه می‌کنیم از شماره پورت کنسول زوج استفاده کنید.

-ports
console-port,adb-port

درگاه‌های TCP مورداستفاده برای کنسول و adb را تنظیم می‌کند. برای مثال:

emulator @Pixel8_API_34 -ports 5556,5559

محدوده درگاه‌های معتبر ۵۵۵۴ تا ۵۶۸۲ است که امکان استفاده از ۶۴ دستگاه مجازی هم‌زمان را فراهم می‌کند. گزینه -ports گزارش می‌دهد که نمونه شبیه‌ساز از کدام درگاه‌ها و شماره سریال استفاده می‌کند و اگر مشکلی در مقادیر ارائه‌شده وجود داشته باشد هشدار می‌دهد.

توصیه می‌کنیم درصورت امکان از گزینه -port استفاده کنید. گزینه -ports برای پیکربندی‌های شبکه که به تنظیمات ویژه نیاز دارند دردسترس است.

برای اطلاعات بیشتر درباره تنظیم پورت‌های کنسول و adb، گزینه -port را ببینید.

-tcpdump filepath

بسته‌های شبکه را ضبط می‌کند و آن‌ها را در فایلی ذخیره می‌کند. برای مثال:

emulator @Pixel8_API_34 -tcpdump /path/dumpfile.cap

از این گزینه برای شروع ضبط همه بسته‌های شبکه که ازطریق «شبکه محلی اترنت مجازی» شبیه‌ساز ارسال می‌شوند استفاده کنید. پس‌از آن، می‌توانید از ابزاری مانند Wireshark برای تجزیه‌وتحلیل ترافیک استفاده کنید.

توجه داشته باشید که این گزینه همه بسته‌های اترنت را ضبط می‌کند و به اتصالات TCP محدود نمی‌شود.

سیستم
-accel mode

شتاب ماشین مجازی شبیه‌ساز را پیکربندی می‌کند. برای مثال:

emulator @Pixel8_API_34 -accel auto

شبیه‌سازی شتاب‌دار به تصویر سیستمی نیاز دارد که با معماری CPU میزبان مطابقت داشته باشد. در Linux، این ویژگی به KVM متکی است. در Windows، این ویژگی به Windows Hypervisor Platform (WHPX) متکی است. در macOS، به Hypervisor.Framework (HVF) متکی است.

مقادیر معتبر برای mode عبارت‌اند از:

  • auto - به‌طور خودکار تعیین می‌کند که آیا شتاب‌دهنده پشتیبانی می‌شود یا نه و درصورت امکان از آن استفاده می‌کند (پیش‌فرض).
  • off - شتاب را غیرفعال می‌کند و از شبیه‌سازی نرم‌افزاری استفاده می‌کند. این حالت پشتیبانی نمی‌شود و بسیار کند است. برای استفاده از آن، متغیر محیطی ANDROID_I_WANT_MY_TCG را روی yes تنظیم کنید. درغیراین‌صورت، شبیه‌ساز شروع نمی‌شود و پیام خطایی چاپ می‌کند.
  • ‫on - شتاب را اجباری می‌کند. اگر hypervisor نصب نشده باشد یا قابل‌استفاده نباشد، شبیه‌ساز شروع نمی‌شود و پیام خطایی چاپ می‌کند.

برای اطلاعات بیشتر، پیکربندی شتاب سخت‌افزاری برای «شبیه‌ساز Android» را ببینید.

-accel-check

بررسی می‌کند که آیا یک سرپرست موردنیاز برای شتاب‌دهنده ماشین مجازی شبیه‌ساز نصب شده است یا نه (KVM،‏ WHPX، یا HVF). برای مثال:

emulator -accel-check

برای اطلاعات بیشتر، به بررسی نصب فراناظر مراجعه کنید.

-gpu mode

حالت شبیه‌سازی GPU را انتخاب می‌کند. برای مثال:

emulator @Pixel8_API_34 -gpu swiftshader_indirect

برای اطلاعات بیشتر، پیکربندی شتاب‌دهنده گرافیکی را ببینید.

-selinux {disabled|permissive}

پودمان امنیتی «امنیت تقویت‌شده Linux» (SELinux) را در سیستم‌عامل Linux روی حالت disabled یا permissive تنظیم می‌کند. برای مثال:

me-linux$ emulator @Pixel8_API_34 -selinux permissive

به‌طور پیش‌فرض، SELinux در حالت enforcing است، یعنی خط‌مشی امنیتی اجرا می‌شود. حالت permissive خط‌مشی SELinux را بار می‌کند اما آن را اجرا نمی‌کند. این گزینه فقط نقض‌های خط‌مشی را ثبت می‌کند. حالت disabled پشتیبانی هسته از SELinux را غیرفعال می‌کند. در سطح میانای برنامه‌سازی کاربردی ۲۳ و بالاتر، disabled به‌عنوان permissive درنظر گرفته می‌شود.

-timezone timezone

منطقه زمانی دستگاه مجازی را به‌جای منطقه زمانی میزبان روی timezone تنظیم می‌کند. برای مثال:

emulator @Pixel8_API_34 -timezone Europe/Paris

به‌طور پیش‌فرض، شبیه‌ساز از منطقه زمانی رایانه توسعه شما استفاده می‌کند. از این گزینه برای مشخص کردن منطقه زمانی دیگر یا درصورتی‌که تشخیص خودکار به‌درستی کار نمی‌کند استفاده کنید. مقدار timezone باید در قالب zoneinfo باشد، که area/location یا area/subarea/location است. برای مثال:

  • America/Los_Angeles
  • Europe/Paris
  • America/Argentina/Buenos_Aires

منطقه زمانی مشخص‌شده باید در پایگاه داده zoneinfo باشد.

-version

شماره نسخه شبیه‌ساز را نمایش می‌دهد. برای مثال:

emulator @Pixel8_API_34 -version

یا

emulator -version
UI
-no-boot-anim

پویانمایی راه‌اندازی را درطول راه‌اندازی شبیه‌ساز غیرفعال می‌کند تا راه‌اندازی سریع‌تر انجام شود. برای مثال:

emulator @Pixel8_API_34 -no-boot-anim

در رایانه‌های کندتر، این گزینه می‌تواند به‌طور قابل‌توجهی سرعت توالی راه‌اندازی را افزایش دهد.

-screen mode

حالت صفحه لمسی شبیه‌سازی‌شده را تنظیم می‌کند. برای مثال:

emulator @Pixel8_API_34 -screen no-touch

‫mode می‌تواند هریک از مقادیر زیر باشد:

  • touch - صفحه لمسی را شبیه‌سازی می‌کند (پیش‌فرض).
  • ‫multi-touch - صفحه لمسی چندلمسی را شبیه‌سازی می‌کند.
  • no-touch - شبیه‌سازی صفحه لمسی و چندلمسی را غیرفعال می‌کند.

گزینه‌های پیشرفته

گزینه‌های راه‌اندازی خط فرمان در جدول زیر دردسترس هستند اما معمولاً توسط توسعه‌دهندگان برنامه معمولی استفاده نمی‌شوند.

در توضیحات، دایرکتوری کار دایرکتوری فعلی در ترمینالی است که در آن فرمان‌ها را وارد می‌کنید. برای کسب اطلاعات درباره فهرست راهنمای سیستم AVD و فهرست راهنمای داده و فایل‌های ذخیره‌شده در آن‌ها، به بخش مربوط به فهرست‌های راهنما و فایل‌های پیش‌فرض مراجعه کنید.

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

جدول ۴. گزینه‌های پیشرفته خط فرمان

گزینه‌های پیشرفته شرح کوتاه
-bootchart timeout

نمودار راه‌اندازی را با زمان اتمام به ثانیه فعال می‌کند. برخی‌از تصاویر سیستم Android دارای سیستم init اصلاح‌شده‌ای هستند که امکان bootcharting را یکپارچه می‌کند. با این گزینه می‌توانید دوره زمان‌بندی خاموش کردن bootcharting را به سیستم منتقل کنید. اگر سیستم اولیه شما «نمودار راه‌اندازی» را فعال نکرده باشد، این گزینه هیچ کاری انجام نمی‌دهد. این گزینه بیشتر برای توسعه‌دهندگان پلاتفرم مفید است، نه توسعه‌دهندگان برنامه خارجی.

برای مثال:

emulator @Pixel8_API_34 -bootchart 120
-cache filepath

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

برای مثال:

emulator @Pixel8_API_34 -cache
   ~/.android/avd/Pixel8_API_34.avd/cache_persistent.img

اگر از این گزینه استفاده نکنید، فایل موقتی به‌نام cache.img پیش‌فرض است. برای اطلاعات بیشتر، دایرکتوری داده‌های AVD را ببینید.

-cache-size size

اندازه پارتیشن حافظه نهان را برحسب مگابایت تنظیم می‌کند.

برای مثال:

emulator @Pixel8_API_34 -cache-size 1000

اگر این گزینه را مشخص نکنید، مقدار پیش‌فرض ۶۶ مگابایت است. معمولاً، اکثر توسعه‌دهندگان برنامه به این گزینه نیاز ندارند، مگر اینکه نیاز به بارگیری فایل‌های بسیار بزرگ‌تر از حافظه نهان پیش‌فرض داشته باشند. برای کسب اطلاعات بیشتر درباره فایل حافظه نهان، دایرکتوری داده AVD را ببینید.

-data filepath

فایل تصویر پارتیشن داده‌های کاربر را تنظیم می‌کند. نام فایل و مسیر مطلق یا مسیری نسبی به دایرکتوری کاری برای راه‌اندازی فایل داده کاربر ماندگار ارائه می‌دهد. اگر فایل وجود نداشته باشد، شبیه‌ساز تصویری از فایل پیش‌فرض userdata.img ایجاد می‌کند، آن را در نام فایل مشخص‌شده ذخیره می‌کند، و داده‌های کاربر را در زمان خاموش شدن در آن ماندگار می‌کند.

برای مثال:

emulator @Pixel8_API_34 -data
   ~/.android/avd/Pixel8_API_34.avd/userdata-test.img

اگر از این گزینه استفاده نکنید، فایل پیش‌فرض userdata-qemu.img نامیده می‌شود. برای اطلاعات بیشتر درباره فایل داده‌های کاربر، به دایرکتوری داده‌های AVD مراجعه کنید.

-datadir dir

دایرکتوری داده‌ها را بااستفاده از مسیر مطلق مشخص می‌کند. برای اطلاعات بیشتر، دایرکتوری داده AVD را ببینید.

برای مثال:

emulator @Pixel8_API_34 -datadir
   ~/.android/avd/Pixel8_API_34.avd/mytest
-help-disk-images

درباره تصاویر دیسک راهنمایی دریافت می‌کند. این گزینه اطلاعات مربوط به توسعه‌دهندگان برنامه و پلاتفرم را ارائه می‌دهد. برای مثال:

emulator -help-disk-images
-help-char-devices

درباره مشخصات نویسه device راهنمایی دریافت می‌کند. برخی‌از گزینه‌های شبیه‌ساز به پارامتر device نیاز دارند. برای مثال:

emulator -help-char-devices
-help-sdk-images

درباره تصاویر دیسک مربوط به توسعه‌دهندگان نرم‌افزار راهنمایی دریافت می‌کند. این گزینه اطلاعاتی درباره مکان فایل‌های تصویر برای AVD ایجادشده با ابزارهای SDK دریافت می‌کند. برای مثال:

emulator -help-sdk-images
-help-build-images

درباره تصاویر دیسک مرتبط با توسعه‌دهندگان پلاتفرم راهنمایی دریافت می‌کند. برای مثال:

emulator -help-build-images
-initdata filepath

نسخه اولیه پارتیشن داده را مشخص می‌کند. پس‌از پاک کردن داده‌های کاربر، شبیه‌ساز محتوای فایل مشخص‌شده را به‌جای استفاده از فایل userdata.img پیش‌فرض به‌عنوان نسخه اولیه، در داده‌های کاربر (به‌طور پیش‌فرض، فایل userdata-qemu.img) کپی می‌کند. نام فایل و مسیر مطلق یا مسیر نسبی به پوشه کاری را مشخص می‌کند.

برای مثال:

emulator @Pixel8_API_34 -initdata
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/userdata-test.img

اگر مسیری را مشخص نکنید، فایل را در دایرکتوری سیستم قرار می‌دهد. برای اطلاعات بیشتر، دایرکتوری سیستم AVD را ببینید.

-kernel filepath

از هسته شبیه‌سازی‌شده خاصی استفاده می‌کند. اگر مسیری را مشخص نکنید، شبیه‌ساز در فهرست سیستم جستجو می‌کند. برای مشاهده پیام‌های اشکال‌زدایی هسته، از گزینه ‑show‑kernel استفاده کنید.

برای مثال:

emulator @Pixel8_API_34 -kernel
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/kernel-test.img -show-kernel

اگر این گزینه را مشخص نکنید، پیش‌فرض kernel-ranchu است. برای اطلاعات بیشتر، دایرکتوری سیستم AVD را ببینید.

-noaudio
-no-audio

پشتیبانی صوتی را برای این دستگاه مجازی غیرفعال می‌کند. برخی‌از رایانه‌های Linux و Windows درایورهای صوتی معیوبی دارند که باعث بروز علائم مختلفی می‌شود، مثلاً از شروع شبیه‌ساز جلوگیری می‌کند. در این مورد، از این گزینه برای رفع مشکل استفاده کنید. یا می‌توانید از متغیر محیط QEMU_AUDIO_DRV برای تغییر زیرینه صوتی استفاده کنید.

برای مثال:

emulator @Pixel8_API_34 -noaudio
-nocache
-no-cache

شبیه‌ساز را بدون پارتیشن حافظه نهان شروع می‌کند. اگر از این گزینه استفاده نکنید، فایل موقتی به‌نام cache.img به‌عنوان پیش‌فرض استفاده می‌شود. این گزینه فقط برای توسعه‌دهندگان پلاتفرم است. برای اطلاعات بیشتر، دایرکتوری داده AVD را ببینید.

برای مثال:

emulator @Pixel8_API_34 -nocache
-no-snapshot

عملکرد بار کردن و ذخیره کردن خودکار را مهار می‌کند و باعث می‌شود شبیه‌ساز دنباله راه‌اندازی کامل را اجرا کند و وضعیت خود را هنگام بسته شدن ازدست بدهد. این گزینه گزینه -snapshot را ملغی می‌کند.

برای مثال:

emulator @Pixel8_API_34 -no-snapshot
-no-snapshot-load

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

برای مثال:

emulator @Pixel8_API_34 -no-snapshot-load
-no-snapshot-save

مانع از ذخیره شدن وضعیت AVD در فضای ذخیره‌سازی عکس آنی در خروج شبیه‌ساز می‌شود، یعنی همه تغییرات ازدست خواهد رفت.

برای مثال:

emulator @Pixel8_API_34 -no-snapshot-save
-no-snapshot-update-time

سعی نمی‌کند زمان ساعت AVD را بلافاصله پس‌از بازیابی عکس آنی اصلاح کند. این گزینه می‌تواند درطول آزمایش مفید باشد زیرا از جهش ناگهانی زمان جلوگیری می‌کند. به‌روزرسانی‌های زمان همچنان تقریباً هر ۱۵ ثانیه به AVD ارسال می‌شود.

برای مثال:

emulator @Pixel8_API_34 -no-snapshot-update-time
-no-window

نمایش پنجره گرافیکی را در شبیه‌ساز غیرفعال می‌کند. این گزینه زمانی مفید است که شبیه‌ساز را روی سرورهایی که نمایشگر ندارند اجرا می‌کنید. ازطریق adb یا کنسول می‌توانید به شبیه‌ساز دسترسی پیدا کنید. برای مثال:

emulator @Pixel8_API_34 -no-window
-partition-size size

اندازه پارتیشن داده‌های سیستم را برحسب مگابایت مشخص می‌کند. برای مثال:

emulator @Pixel8_API_34 -partition-size 1024
-prop name=value

وقتی شبیه‌ساز راه‌اندازی می‌شود، دارایی سیستم Android را در آن تنظیم می‌کند. ‫name باید نام دارایی برچسب‌گذاری‌شده به‌عنوان qemu_prop با حداکثر ۳۲ نویسه، بدون فاصله، و value باید رشته‌ای با حداکثر ۹۲ نویسه باشد. برای مثال، به فایل property_contexts مراجعه کنید. می‌توانید چندین گزینه ‑prop را در یک خط فرمان مشخص کنید. این گزینه می‌تواند برای اشکال‌زدایی مفید باشد. برای مثال:

emulator @Pixel8_API_34 -prop qemu.name=value -prop qemu.abc=xyz
-qemu args استدلال‌ها را به نرم‌افزار شبیه‌ساز QEMU منتقل می‌کند. هنگام استفاده از این گزینه، مطمئن شوید که آخرین گزینه مشخص‌شده باشد، زیرا همه گزینه‌های بعداز آن به‌عنوان گزینه‌های ویژه QEMU تفسیر می‌شوند. این گزینه بسیار پیشرفته است و فقط توسعه‌دهندگانی که با شبیه‌سازی Android و QEMU بسیار آشنا هستند باید از آن استفاده کنند.
-qemu -h

راهنمای -qemu را نمایش می‌دهد. برای مثال:

emulator -qemu -h
-ramdisk filepath

تصویر راه‌اندازی ramdisk را مشخص می‌کند. نام فایل و مسیر مطلق یا مسیر نسبی را نسبت‌به پوشه کاری مشخص می‌کند.

برای مثال:

emulator @Pixel8_API_34 -ramdisk
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/ramdisk-test.img

اگر از این گزینه استفاده نکنید، پیش‌فرض فایل ramdisk.img در دایرکتوری سیستم است. برای اطلاعات بیشتر، دایرکتوری سیستم AVD را ببینید.

-report-console socket

قبل‌از شروع شبیه‌سازی، درگاه کنسول را به طرف سوم از راه دور گزارش می‌کند. این ویژگی می‌تواند برای یک دستورگان آزمایش خودکار مفید باشد. ‫socket باید از یکی از این قالب‌ها استفاده کند:

  • tcp:port[,server][,max=seconds][,ipv6]
  • unix:port[,server][,max=seconds][,ipv6]

برای اطلاعات بیشتر، از گزینه -help-report-console که در بخش مربوط به راهنمایی برای گزینه‌های خاص توضیح داده شده است استفاده کنید.

-shell

کنسول پوسته ریشه را در پایانه فعلی ایجاد می‌کند. این گزینه از فرمان adb shell به روش‌های زیر متفاوت است:

  • این کار یک پوسته ریشه ایجاد می‌کند که به شما امکان می‌دهد بسیاری از بخش‌های سیستم را تغییر دهید.
  • حتی اگر adb daemon در سیستم شبیه‌سازی‌شده خراب باشد هم کار می‌کند.
  • برای متوقف کردن شبیه‌ساز به‌جای پوسته، کلیدهای Control+C (یا Command-C در macOS) را فشار دهید.

برای مثال:

emulator @Pixel8_API_34 -shell
-snapshot name

نام یک عکس آنی را برای عملیات‌های شروع و ذخیره خودکار مشخص می‌کند.

به‌جای اجرای توالی کامل بوت، شبیه‌ساز می‌تواند اجرا را از یک عکس فوری حالت قبلی ازسر بگیرد که معمولاً به‌طور قابل‌توجهی سریع‌تر است. وقتی این گزینه را ارائه می‌کنید، شبیه‌ساز نمای فوری با آن نام را بار می‌کند و آن را با همان نام در زمان خروج ذخیره می‌کند.

اگر از این گزینه استفاده نکنید، شبیه‌ساز از «راه‌اندازی سریع» استفاده می‌کند و نماگرفت default_boot را، درصورت وجود، بار می‌کند. اگر نمای فوری مشخص‌شده وجود نداشته باشد، شبیه‌ساز به‌جای آن یک توالی راه‌اندازی کامل انجام می‌دهد و عملیات ذخیره را انجام می‌دهد.

emulator @Pixel8_API_34 -snapshot snapshot2

به‌خاطر داشته باشید که در فرایند بار کردن لحظه‌عکس، همه محتوای سیستم، داده‌های کاربر، و تصاویر کارت SD با محتوایی که در زمان ایجاد لحظه‌عکس داشتند رونویسی می‌شوند. مگر اینکه این اطلاعات را در یک نمای کلی متفاوت ذخیره کنید، درغیراین‌صورت هر تغییری که از آن زمان تاکنون انجام داده‌اید ازدست می‌رود.

همچنین می‌توانید بااستفاده از فرمان avd snapshot save name، از کنسول شبیه‌ساز یک نمای فوری ایجاد کنید. برای اطلاعات بیشتر، به ارسال دستورات کنسول «شبیه‌ساز» مراجعه کنید.

-snapshot-list

فهرستی از تصاویر لحظه‌ای دردسترس برای AVD را نمایش می‌دهد، سپس خارج می‌شود.

برای مثال:

emulator @Pixel8_API_34 -snapshot-list

می‌توانید از مقادیر ستون «شناسه» و «برچسب» در برونداد به‌عنوان آرگومان برای گزینه -snapshot استفاده کنید.

-sysdir dir

دایرکتوری سیستم را بااستفاده از مسیر مطلق مشخص می‌کند. برای اطلاعات بیشتر، دایرکتوری سیستم AVD را ببینید. برای مثال:

emulator @Pixel8_API_34 -sysdir
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/test
-system filepath

فایل سیستم اولیه را مشخص می‌کند. نام فایل و مسیر مطلق یا مسیری نسبی به پوشه کاری را ارائه می‌دهد.

برای مثال:

emulator @Pixel8_API_34 -system
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/system-test.img

اگر از این گزینه استفاده نکنید، پیش‌فرض فایل system.img در دایرکتوری سیستم است. برای اطلاعات بیشتر، دایرکتوری سیستم AVD را ببینید.

-writable-system

از این گزینه برای داشتن تصویر سیستم نوشتنی درطول جلسه شبیه‌سازی استفاده کنید. برای انجام این کار:

  1. دستگاه مجازی را با گزینه -writable-system شروع کنید.
  2. فرمان adb remount را از پایانه فرمان وارد کنید تا به شبیه‌ساز بگویید system/ را به‌عنوان خواندنی/نوشتنی مجدداً نصب کند. به‌طور پیش‌فرض، به‌عنوان فقط‌خواندنی نصب می‌شود.

استفاده از این پرچم یک کپی موقت از تصویر سیستم ایجاد می‌کند که می‌تواند بسیار بزرگ باشد، تا چند صد مگابایت، اما وقتی شبیه‌ساز خارج می‌شود، ازبین خواهد رفت.

گزینه‌های منسوخ

گزینه‌های خط فرمان زیر منسوخ شده‌اند. بسته به نسخه شبیه‌ساز، این موارد با هشدار نادیده گرفته می‌شوند یا به‌عنوان گزینه‌های ناشناس رد می‌شوند:

  • -audio-in
  • -audio-out
  • -charmap
  • -code-profile
  • -cpu-delay
  • -dpi-device
  • -dynamic_skin
  • -enable-kvm
  • -engine
  • -gps
  • -image
  • -keyset
  • -help-keys
  • -help-keyset-file
  • -nand-limits
  • -no-accel
  • -no-jni
  • -nojni
  • -noskin
  • -no-skin
  • -onion
  • -onion-alpha
  • -onion-rotation
  • -radio
  • -ranchu
  • -raw-keys
  • -scale
  • -shared-net-id
  • -shell-serial
  • -skin
  • -skindir
  • -snapstorage
  • -trace
  • -useaudio

دریافت راهنمایی درباره گزینه‌های خط فرمان

این بخش نحوه دریافت راهنمایی درباره گزینه‌های خط فرمان را شرح می‌دهد. این سند اطلاعات دقیق‌تری درباره گزینه‌های خط فرمان شبیه‌ساز که معمولاً استفاده می‌شوند و هنگام شروع شبیه‌ساز دردسترس هستند ارائه می‌دهد.

فهرست کردن همه گزینه‌های شبیه‌ساز

برای چاپ کردن فهرستی از همه گزینه‌های شبیه‌ساز، ازجمله شرح کوتاه، فرمان زیر را وارد کنید:

emulator -help

دریافت راهنمایی دقیق برای گزینه‌ای خاص

برای چاپ کردن راهنمایی برای گزینه راه‌اندازی خاص، فرمان زیر را وارد کنید:

emulator -help-option

برای مثال:

emulator -help-netspeed

این راهنما جزئی‌تر از توضیحات ارائه‌شده توسط گزینه -help است.

برای همه گزینه‌ها راهنمایی دقیق دریافت کنید

برای دریافت راهنمایی دقیق درباره همه گزینه‌های شبیه‌ساز، فرمان زیر را وارد کنید:

emulator -help-all

فهرست کردن متغیرهای محیط شبیه‌ساز

برای دریافت فهرست متغیرهای محیط شبیه‌ساز، فرمان زیر را وارد کنید:

emulator -help-environment

می‌توانید متغیرهای محیطی را در پنجره ترمینال قبل‌از راه‌اندازی دستگاه مجازی تنظیم کنید، یا می‌توانید آن را ازطریق تنظیمات کاربر در سیستم‌عامل تنظیم کنید. برای مثال، آن را در فایل .bashrc در Linux تنظیم کنید.

فهرست کردن برچسب‌های اشکال‌زدایی

برای چاپ فهرست برچسب‌ها برای گزینه‌های -debug، فرمان زیر را وارد کنید:

emulator -help-debug-tags

گزینه‌های -debug به شما امکان می‌دهد پیام‌های اشکال‌زدایی را از مؤلفه‌های شبیه‌ساز خاص، همان‌طور که با برچسب‌ها مشخص شده است، فعال یا غیرفعال کنید.