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

Android SDK شامل یک شبیه ساز دستگاه Android است - یک دستگاه مجازی که روی رایانه شما اجرا می شود. شبیه ساز اندروید به شما امکان می دهد برنامه های اندروید را بدون استفاده از دستگاه فیزیکی توسعه و آزمایش کنید.

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

شبیه ساز را راه اندازی کنید

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

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

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

یا

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

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

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

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

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

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

emulator -list-avds

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

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

برای توقف شبیه ساز اندروید، پنجره شبیه ساز را ببندید.

یک اپلیکیشن نصب کنید

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

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

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

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

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

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

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

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

شبیه ساز اندروید از هایپروایزر ( QEMU ) استفاده می کند.

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

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

  • 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 یک سطح API عددی یا حرفی برای انتشار پیش نمایش است. به عنوان مثال، android-V پیش نمایش Android VanillaIceCream را نشان می دهد. در زمان انتشار، به سطح API 35 تبدیل شد که توسط android-35 تعیین شد.
  • variant نامی است که مربوط به ویژگی های خاصی است که توسط تصویر سیستم پیاده سازی شده است. به عنوان مثال، google_apis یا android-wear .
  • arch معماری CPU هدف است. به عنوان مثال، x86 .

از گزینه -sysdir برای تعیین دایرکتوری سیستم دیگری برای AVD استفاده کنید.

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

جدول 1. فایل های دایرکتوری سیستم که توسط شبیه ساز اندروید خوانده می شود

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

دایرکتوری داده AVD

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

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

  • macOS و Linux - ~/.android/avd/ name .avd/
  • ویندوز 10 و بالاتر - C:\Users\ user \.android\ name .avd\

از گزینه -datadir برای تعیین دایرکتوری داده AVD متفاوت استفاده کنید.

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

جدول 2. فایل های مهم در دایرکتوری داده 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 Manager یا با استفاده از ابزار mksdcard ایجاد کنید. فایل در رایانه توسعه دهنده شما ذخیره می شود و باید در هنگام راه اندازی بارگیری شود.

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

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

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

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

گزینه -wipe-data روی این فایل تاثیری ندارد. اگر می خواهید فایل را پاک کنید، فایل را حذف کنید و سپس با استفاده از AVD Manager یا ابزار 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 مراجعه کنید.

گزینه های رایج

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

جدول 3. گزینه های خط فرمان رایج

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

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

  • emulated - شبیه ساز یک دوربین را در نرم افزار شبیه سازی می کند.
  • webcam n - شبیه ساز از یک وب کم متصل به رایانه توسعه دهنده شما استفاده می کند که با شماره مشخص شده است. برای لیستی از وب کم ها، از گزینه -webcam-list استفاده کنید. به عنوان مثال، webcam0 .
  • 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 نامی است که سیستم‌عامل در رایانه توسعه‌دهنده استفاده می‌کند. نام دوم بسته به سیستم عامل متفاوت است.

از SDK Tools 25.2.4، نام AVD مورد نیاز است.

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

اندازه رم فیزیکی را از 1536 تا 8192 مگابایت مشخص می کند. به عنوان مثال:

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

می توانید تگ های پیش فرض اشکال زدایی را در متغیر محیطی ANDROID_VERBOSE تعریف کنید. تگ هایی را که می خواهید در لیستی با کاما استفاده کنید تعریف کنید. در اینجا مثالی آورده شده است که نحوه تعیین تگ socket و gles را نشان می دهد:

ANDROID_VERBOSE=socket,gles

معادل استفاده از:

-debug-socket -debug-gles

یا

-debug socket,gles

-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'

اگر گزینه -logcat را در خط فرمان ارائه نکنید، شبیه‌ساز به دنبال متغیر محیطی ANDROID_LOG_TAGS می‌گردد. اگر ANDROID_LOG_TAGS با یک مقدار logtags معتبر تعریف شده باشد و خالی نباشد، شبیه ساز از مقدار آن برای فعال کردن خروجی Logcat به ترمینال به طور پیش فرض استفاده می کند. همچنین می‌توانید پیام‌های گزارش مشابه یا دیگر را از طریق adb به ترمینال هدایت کنید.

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

-show-kernel پیام های اشکال زدایی هسته را در پنجره ترمینال نمایش می دهد. به عنوان مثال:

emulator @Pixel8_API_34 -show-kernel

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

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

emulator @Pixel8_API_34 -verbose

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

شبکه
-dns-server servers از سرورهای DNS مشخص شده استفاده می کند. servers یک لیست با کاما از حداکثر چهار نام سرور DNS یا آدرس IP است. به عنوان مثال:
emulator @Pixel8_API_34 -dns-server 192.0.2.0,
192.0.2.255

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

-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 (حداقل 150، حداکثر 550).
  • hscsd - HSCSD (حداقل 80، حداکثر 400).
  • gprs - GPRS (حداقل 35، حداکثر 200).
  • edge - EDGE/EGPRS (حداقل 80، حداکثر 400).
  • umts - UMTS/3G (حداقل 35، حداکثر 200).
  • hsdpa - HSDPA (حداقل 0، حداکثر 0).
  • lte - LTE (حداقل 0، حداکثر 0).
  • evdo - EVDO (حداقل 0، حداکثر 0).
  • none - بدون تاخیر، پیش فرض (حداقل 0، حداکثر 0).
  • num - تأخیر دقیق را مشخص می کند.
  • min : max - حداقل و حداکثر تاخیرهای فردی را مشخص می کند.

به عنوان مثال:

emulator @Pixel8_API_34 -netdelay gsm

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

-netfast throttling شبکه را غیرفعال می کند. به عنوان مثال:

emulator @Pixel8_API_34 -netfast

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

-netspeed speed

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

  • gsm - GSM/CSD (بالا: 14.4، پایین: 14.4).
  • hscsd - HSCSD (بالا: 14.4، پایین: 57.6).
  • gprs - GPRS (بالا: 28.8، پایین: 57.6).
  • edge - EDGE/EGPRS (بالا: 473.6، پایین: 473.6).
  • umts - UMTS/3G (بالا: 384.0، پایین: 384.0).
  • hsdpa - HSDPA (بالا: 5760.0، پایین: 13980.0).
  • lte - LTE (بالا: 58000، پایین: 173000).
  • evdo - EVDO (بالا: 75000، پایین: 280000).
  • full - بدون محدودیت، پیش فرض (بالا: 0.0، پایین: 0.0).
  • num - سرعت آپلود و دانلود را مشخص می کند.
  • up : down - سرعت های بالا و پایین را مشخص می کند.

به عنوان مثال:

emulator @Pixel8_API_34 -netspeed edge

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

-port port شماره پورت TCP را که برای کنسول و adb استفاده می شود را تنظیم می کند. به عنوان مثال:

emulator @Pixel8_API_34 -port 5556

مقدار پیش فرض برای اولین نمونه دستگاه مجازی که روی دستگاه شما اجرا می شود 5554 است. یک دستگاه مجازی معمولاً یک جفت پورت مجاور را اشغال می کند: یک پورت کنسول و یک پورت adb . کنسول اولین دستگاه مجازی که روی یک ماشین خاص اجرا می‌شود، از پورت کنسول 5554 و پورت adb 5555 استفاده می‌کند. نمونه‌های بعدی از تعداد پورت‌ها استفاده می‌کنند که دو برابر افزایش می‌یابند. به عنوان مثال، 5556/5557، 5558/5559، و غیره. محدوده 5554 تا 5682 است که امکان استفاده از 64 دستگاه مجازی همزمان را فراهم می کند.

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

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

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

-ports
console-port , adb-port
پورت های TCP مورد استفاده برای کنسول و adb را تنظیم می کند. به عنوان مثال:

emulator @Pixel8_API_34 -ports 5556,5559

محدوده پورت های معتبر 5554 تا 5682 است که امکان 64 دستگاه مجازی همزمان را فراهم می کند. گزینه -ports گزارش می دهد که نمونه شبیه ساز از کدام پورت ها و شماره سریال استفاده می کند و در صورت وجود هرگونه مشکل در مقادیری که ارائه کرده اید هشدار می دهد.

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

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

-tcpdump filepath بسته های شبکه را می گیرد و در یک فایل ذخیره می کند. به عنوان مثال:

emulator @Pixel8_API_34 -tcpdump /path/dumpfile.cap

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

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

سیستم
-accel mode شتاب VM شبیه ساز را پیکربندی می کند. به عنوان مثال:

emulator @Pixel8_API_34 -accel auto

شبیه سازی شتاب فقط برای تصاویر سیستم x86 و x86_64 کار می کند. در لینوکس، به KVM متکی است. در ویندوز و مک، به پردازنده اینتل و درایور HAXM اینتل متکی است. اگر دستگاه x86 یا x86_64 را شبیه‌سازی نمی‌کنید، این گزینه نادیده گرفته می‌شود.

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

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

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

-accel-check بررسی می کند که آیا یک Hypervisor مورد نیاز برای شتاب دهنده VM شبیه ساز (HAXM یا KVM) نصب شده است یا خیر. به عنوان مثال:

emulator -accel-check

برای اطلاعات بیشتر، به بررسی نصب هایپروایزر مراجعه کنید.

-engine engine

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

  • auto - به طور خودکار یک موتور را انتخاب می کند (پیش فرض).
  • classic - از موتور قدیمی QEMU 1 استفاده می کند (منسوخ شده).
  • qemu2 - از موتور جدیدتر QEMU 2 استفاده می کند.

به عنوان مثال:

emulator @Pixel8_API_34 -engine auto

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

-gpu mode حالت شبیه سازی GPU را انتخاب می کند. به عنوان مثال:

emulator @Pixel8_API_34 -gpu swiftshader_indirect

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

-no-accel هنگام استفاده از تصویر سیستم x86 یا x86_64، شتاب شبیه ساز VM را غیرفعال می کند. این فقط برای اشکال زدایی مفید است و مانند تعیین -accel off است. به عنوان مثال:

emulator @Pixel8_API_34 -no-accel

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

-nojni
-no-jni
بررسی های رابط بومی جاوا (JNI) توسعه یافته را در زمان اجرا Android Dalvik یا ART غیرفعال می کند. به عنوان مثال:

emulator @Pixel8_API_34 -nojni

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

-selinux {disabled|permissive} ماژول امنیتی لینوکس تقویت‌شده با امنیت ( SELinux ) را در یک سیستم عامل لینوکس روی حالت disabled یا permissive تنظیم می‌کند. به عنوان مثال:

me-linux$ emulator @Pixel8_API_34 -selinux permissive

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

-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 و فهرست داده ها و فایل های ذخیره شده در آنها، به بخش مربوط به فهرست ها و فایل های پیش فرض مراجعه کنید.

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

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

گزینه پیشرفته شرح مختصر
-bootchart timeout

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

به عنوان مثال:

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

اگر این گزینه را مشخص نکنید، پیش فرض 66 مگابایت است. به طور معمول، اکثر توسعه دهندگان برنامه به این گزینه نیاز ندارند، مگر اینکه نیاز به دانلود فایل های بسیار بزرگی داشته باشند که بزرگتر از حافظه پنهان پیش فرض هستند. برای اطلاعات بیشتر در مورد فایل کش، به فهرست راهنمای داده 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
-force-32bit

از شبیه ساز 32 بیتی در پلتفرم های 64 بیتی استفاده می کند. گاهی اوقات، این گزینه برای آزمایش یا اشکال زدایی مفید است. به عنوان مثال، مشکلی وجود داشت که شبیه ساز گاهی اوقات روی ویندوز 64 بیتی اجرا نمی شد، اما 32 بیتی اجرا می شد. این گزینه برای انجام مقایسه برای رفع اشکال مفید بود. در اینجا یک مثال است:

emulator @Pixel8_API_34 -force-32bit
-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
-init-data 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

پشتیبانی صوتی این دستگاه مجازی را غیرفعال می کند. برخی از رایانه های لینوکس و ویندوز دارای درایورهای صوتی معیوب هستند که علائم مختلفی مانند جلوگیری از شروع شبیه ساز ایجاد می کند. در این صورت از این گزینه برای غلبه بر مشکل استفاده کنید. همچنین، می‌توانید از متغیر محیطی 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 را تصحیح کند. این گزینه می تواند در طول آزمایش مفید باشد زیرا از پرش زمانی ناگهانی جلوگیری می کند. به روز رسانی های زمان همچنان تقریباً هر 15 ثانیه به AVD ارسال می شود.

به عنوان مثال:

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

شبیه‌ساز را بدون نصب فایل برای ذخیره یا بارگیری عکس‌های فوری، راه‌اندازی کامل و غیرفعال کردن عملکرد عکس فوری حالت را شروع می‌کند. این گزینه گزینه های -snapstorage و -snapshot را لغو می کند.

به عنوان مثال:

emulator @Pixel8_API_34 -no-snapstorage
-no-window

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

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

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

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

هنگام بوت شدن، یک ویژگی سیستم اندروید را در شبیه ساز تنظیم می کند. name باید یک نام دارایی باشد که به عنوان qemu_prop دارای حداکثر 32 کاراکتر، بدون هیچ فاصله، و value باید یک رشته حداکثر 92 کاراکتر باشد. برای مثال، فایل property_contexts را ببینید. می توانید چندین گزینه ‑prop را در یک خط فرمان مشخص کنید. این گزینه می تواند برای رفع اشکال مفید باشد. به عنوان مثال:

emulator @Pixel8_API_34 -prop qemu.name=value -prop qemu.abc=xyz
-qemu args آرگومان ها را به نرم افزار شبیه ساز QEMU منتقل می کند. هنگام استفاده از این گزینه، مطمئن شوید که آخرین گزینه مشخص شده است، زیرا همه گزینه های پس از آن به عنوان گزینه های خاص QEMU تفسیر می شوند. این گزینه کاملاً پیشرفته است و فقط باید توسط توسعه دهندگانی استفاده شود که با 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

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

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

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

برای اطلاعات در مورد تعیین فایل ذخیره سازی عکس فوری و فایل پیش فرض، گزینه -snapstorage ببینید.

emulator @Pixel8_API_34 -snapshot snapshot2

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

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

-snapshot-list

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

به عنوان مثال:

emulator @Pixel8_API_34 -snapshot-list -snapstorage
   ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img

می توانید از مقادیر ستون ID و TAG در خروجی به عنوان آرگومان برای گزینه -snapshot استفاده کنید.

-snapstorage filepath

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

به عنوان مثال:

emulator @Pixel8_API_34 -snapstorage
   ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img

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

-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 را ببینید.

-use-system-libs

در لینوکس، به جای نسخه همراه با سیستم شبیه ساز، از سیستم libstdc++ استفاده می کند. فقط در صورتی از این گزینه استفاده کنید که شبیه ساز به طور معمول راه اندازی نشود و توجه داشته باشید که همیشه کار نمی کند. یا، متغیر محیطی ANDROID_EMULATOR_USE_SYSTEM_LIBS را روی 1 تنظیم کنید.

به عنوان مثال:

me-linux$ emulator @Pixel8_API_34 -use-system-libs
-writable-system

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

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

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

گزینه های منسوخ شده

گزینه های خط فرمان زیر منسوخ شده اند:

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

در مورد گزینه های خط فرمان راهنمایی دریافت کنید

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

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

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

emulator -help

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

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

emulator -help-option

به عنوان مثال:

emulator -help-netspeed

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

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

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

emulator -help-all

لیست متغیرهای محیط شبیه ساز

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

emulator -help-environment

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

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

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

emulator -help-debug-tags

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