کیت توسعه نرمافزار اندروید (SDK) شامل یک شبیهساز دستگاه اندروید است - یک دستگاه مجازی که روی رایانه شما اجرا میشود. شبیهساز اندروید به شما امکان میدهد برنامههای اندروید را بدون استفاده از یک دستگاه فیزیکی توسعه داده و آزمایش کنید.
این صفحه ویژگیهای خط فرمانی را که میتوانید با شبیهساز اندروید استفاده کنید، شرح میدهد. برای اطلاعات بیشتر در مورد استفاده از رابط کاربری شبیهساز اندروید، به بخش اجرای برنامهها در شبیهساز اندروید مراجعه کنید.
شبیهساز را شروع کنید
برای شروع شبیهساز، به عنوان جایگزینی برای اجرای پروژه یا شروع آن از طریق AVD Manager ، از دستور emulator استفاده کنید.
در اینجا سینتکس خط فرمان پایه برای شروع یک دستگاه مجازی از طریق اعلان ترمینال آمده است:
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 فقط برای اجرای پنجره شبیهساز در اندروید استودیو استفاده میشوند. اگر میخواهید شبیهساز را در پنجره خودش اجرا کنید، نباید از این پارامترهای اضافی استفاده کنید.
شما میتوانید گزینههای راهاندازی را هنگام شروع شبیهساز مشخص کنید، اما نه پس از شروع آن.
برای مشاهده لیست نامهای AVD، دستور زیر را وارد کنید:
emulator -list-avds
از این گزینه برای نمایش لیستی از نامهای AVD از دایرکتوری خانگی اندروید خود استفاده کنید. میتوانید با تنظیم متغیر محیطی ANDROID_SDK_HOME که ریشه دایرکتوری مخصوص کاربر را که تمام پیکربندیها و محتوای AVD در آن ذخیره میشود، مشخص میکند، دایرکتوری خانگی پیشفرض را لغو کنید.
شما میتوانید متغیر محیطی را در پنجره ترمینال قبل از راهاندازی یک دستگاه مجازی یا از طریق تنظیمات کاربری خود در سیستم عامل تنظیم کنید. به عنوان مثال، در فایل .bashrc خود در لینوکس.
برای متوقف کردن شبیهساز اندروید، پنجره شبیهساز را ببندید.
نصب یک برنامه
علاوه بر نصب برنامه از طریق اندروید استودیو یا رابط کاربری شبیهساز ، میتوانید برنامه خود را با استفاده از ابزار adb روی یک دستگاه مجازی نصب کنید.
برای استفاده از adb برای نصب، اجرا و آزمایش برنامه خود، این مراحل کلی را دنبال کنید:
- همانطور که در بخش «ساخت و اجرای برنامه» توضیح داده شده است، برنامه خود را در یک فایل APK بسازید و بستهبندی کنید.
- همانطور که در بخش قبل توضیح داده شد، شبیهساز را از خط فرمان و با استفاده از هر گزینه راهاندازی لازم، اجرا کنید.
- برنامه خود را با استفاده از
adbنصب کنید. - برنامه خود را روی شبیهساز اجرا و آزمایش کنید.
در حالی که شبیهساز در حال اجرا است، میتوانید از کنسول شبیهساز برای صدور دستورات مورد نیاز استفاده کنید.
برای حذف نصب یک برنامه، مانند حذف نصب آن در دستگاههای اندروید عمل کنید.
دستگاه مجازی، برنامه و دادههای وضعیت آن را در طول راهاندازیهای مجدد در یک پارتیشن دیسک دادههای کاربر ( userdata-qemu.img ) حفظ میکند. برای پاک کردن این دادهها، شبیهساز را با گزینه -wipe-data اجرا کنید یا دادهها را در AVD Manager پاک کنید. برای اطلاعات بیشتر در مورد پارتیشن دادههای کاربر و سایر حافظهها، به بخش زیر مراجعه کنید.
نکته: ابزار adb دستگاه مجازی را به عنوان یک دستگاه فیزیکی واقعی در نظر میگیرد. به همین دلیل، ممکن است مجبور شوید از پرچم -d با برخی از دستورات رایج adb ، مانند install استفاده کنید. پرچم -d به شما امکان میدهد مشخص کنید کدام یک از چندین دستگاه متصل به عنوان هدف یک دستور استفاده شود. اگر -d را مشخص نکنید، شبیهساز اولین دستگاه موجود در لیست خود را هدف قرار میدهد.
آشنایی با دایرکتوریها و فایلهای پیشفرض
این شبیهساز از فایلهای مرتبط استفاده میکند که از بین آنها، دایرکتوریهای سیستم و دادههای AVD مهمترین هستند. درک ساختار دایرکتوری و فایلهای شبیهساز هنگام تعیین گزینههای خط فرمان مفید است، اگرچه معمولاً نیازی به تغییر دایرکتوریها یا فایلهای پیشفرض ندارید.
شبیهساز اندروید از هایپروایزر ( QEMU ) استفاده میکند.
دایرکتوری سیستم AVD
دایرکتوری سیستم شامل تصاویر سیستم اندروید است که شبیهساز برای شبیهسازی سیستم عامل از آنها استفاده میکند. این دایرکتوری حاوی فایلهای فقط خواندنی و مختص پلتفرم است که توسط همه AVD های هم نوع، از جمله سطح API، معماری CPU و نوع اندروید، به اشتراک گذاشته میشود. مکانهای پیشفرض به شرح زیر هستند:
- macOS و لینوکس -
~/Library/Android/sdk/system-images/android- apiLevel / variant / arch / - ویندوز -
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است. برای مثال،x86.
از گزینه -sysdir برای مشخص کردن یک دایرکتوری سیستمی متفاوت برای AVD استفاده کنید.
شبیهساز فایلهای زیر را از دایرکتوری سیستم میخواند:
جدول 1. فایلهای دایرکتوری سیستم که توسط شبیهساز اندروید خوانده میشوند
| فایل | توضیحات | گزینهای برای مشخص کردن یک فایل متفاوت |
|---|---|---|
kernel-qemu یا kernel-ranchu | تصویر هسته دودویی برای AVD.kernel 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 و لینوکس -
~/.android/avd/ name .avd/ - ویندوز ۱۰ و بالاتر -
C:\Users\ user \.android\ name .avd\
از گزینه -datadir برای مشخص کردن یک دایرکتوری داده AVD متفاوت استفاده کنید.
جدول زیر مهمترین فایلهای موجود در این دایرکتوری را فهرست میکند:
جدول ۲. فایلهای مهم در دایرکتوری دادههای AVD
| فایل | توضیحات | گزینهای برای مشخص کردن یک فایل متفاوت |
|---|---|---|
userdata-qemu.img | محتوای پارتیشن داده، که در سیستم شبیهسازی شده به صورت هر نمونه دستگاه مجازی از یک تصویر داده کاربر قابل نوشتن برای ذخیره دادههای خاص کاربر و جلسه استفاده میکند. به عنوان مثال، از این تصویر برای ذخیره دادههای برنامه نصب شده، تنظیمات، پایگاههای داده و فایلهای منحصر به فرد یک کاربر استفاده میکند. هر کاربر یک دایرکتوری | -data |
cache.img | تصویر پارتیشن کش، که در سیستم شبیهسازی شده به صورت cache/ نمایش داده میشود. وقتی برای اولین بار AVD ایجاد میکنید یا از گزینه -wipe-data استفاده میکنید، خالی است. این فایلها، فایلهای دانلود موقت را ذخیره میکنند و توسط مدیر دانلود و گاهی اوقات سیستم پر میشوند. به عنوان مثال، مرورگر از آن برای ذخیره صفحات وب و تصاویر دانلود شده در حین اجرای شبیهساز استفاده میکند. وقتی دستگاه مجازی را خاموش میکنید، فایل حذف میشود. میتوانید با استفاده از گزینه -cache ، فایل را حفظ کنید. | -cache |
sdcard.img | (اختیاری) یک تصویر پارتیشن کارت SD که به شما امکان میدهد یک کارت SD را روی یک دستگاه مجازی شبیهسازی کنید. میتوانید یک فایل تصویر کارت SD را در AVD Manager یا با استفاده از ابزار هنگام تعریف AVD در AVD Manager، میتوانید از یک فایل کارت SD که به طور خودکار مدیریت میشود یا فایلی که با ابزار شما میتوانید با استفاده از رابط کاربری شبیهساز یا ابزار برای کپی کردن فایلها به کارت SD قبل از بارگذاری آن، فایل ایمیج را به عنوان یک دستگاه حلقهای mount کنید و سپس فایلها را کپی کنید. یا از ابزاری مانند بسته شبیهساز با فایل به عنوان مجموعهای از بایتها رفتار میکند، بنابراین فرمت کارت SD اهمیتی ندارد. گزینه | -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.
گزینههای راهاندازی خط فرمان
این بخش گزینههایی را که میتوانید هنگام شروع شبیهساز در خط فرمان ارائه دهید، فهرست میکند.
توجه: شبیهساز اندروید به طور مداوم در حال توسعه است تا قابل اعتمادتر شود. برای اطلاع از وضعیت مشکلات گزارش شده در مورد گزینههای مختلف خط فرمان و گزارش اشکالات، به ردیاب مشکلات اندروید مراجعه کنید.
گزینههای پرکاربرد
جدول زیر گزینههای راهاندازی خط فرمان را که ممکن است بیشتر از آنها استفاده کنید، فهرست میکند:
جدول ۳. گزینههای خط فرمان پرکاربرد
| گزینه خط فرمان | توضیحات |
|---|---|
| بوت سریع | |
-no-snapshot-load | بوت سرد را انجام میدهد و وضعیت شبیهساز را در هنگام خروج ذخیره میکند. |
-no-snapshot-save | در صورت امکان، بوت سریع را انجام میدهد، اما وضعیت شبیهساز را در هنگام خروج ذخیره نمیکند. |
-no-snapshot | قابلیت بوت سریع را به طور کامل غیرفعال میکند و حالت شبیهساز را بارگذاری یا ذخیره نمیکند. |
| سختافزار دستگاه | |
-camera-back mode-camera-front mode | حالت شبیهسازی را برای دوربین رو به عقب یا جلو تنظیم میکند. این گزینه، هرگونه تنظیم دوربین در AVD را لغو میکند.
برای مثال: 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' در این مثال، اولین از نسخه SDK Tools 25.2.4، نام AVD الزامی است. |
| تصاویر دیسک و حافظه | |
-memory size | اندازه رم فیزیکی را از ۱۵۳۶ تا ۸۱۹۲ مگابایت مشخص میکند. برای مثال: emulator @Pixel8_API_34 -memory 2048 این مقدار، تنظیمات AVD را لغو میکند. |
-sdcard filepath | نام فایل و مسیر فایل ایمیج پارتیشن کارت SD را مشخص میکند. برای مثال: emulator @Pixel8_API_34 -sdcard C:/sd/sdcard.img اگر فایل پیدا نشود، شبیهساز همچنان اجرا میشود، اما بدون کارت SD. این دستور هشدار « تصویر کارت SD وجود ندارد» را برمیگرداند. اگر این گزینه را مشخص نکنید، پیشفرض |
-wipe-data | دادههای کاربر را حذف کرده و دادهها را از فایل داده اولیه کپی میکند. این گزینه دادهها را برای دستگاه مجازی پاک میکند و آن را به همان حالتی که برای اولین بار تعریف شده بود، برمیگرداند. تمام برنامهها و تنظیمات نصب شده حذف میشوند. به عنوان مثال:emulator @Pixel8_API_34 -wipe-data به طور پیشفرض، فایل دادههای کاربر |
| اشکالزدایی | |
-debug tags | نمایش پیامهای اشکالزدایی را برای یک یا چند برچسب فعال یا غیرفعال میکند. چندین برچسب را با فاصله، ویرگول یا ستون از هم جدا کنید. برای مثال:$ emulator @Pixel8_API_34 -debug init,metrics برای غیرفعال کردن یک برچسب، قبل از آن یک خط تیره (-) قرار دهید. برای مثال، گزینه زیر تمام پیامهای اشکالزدایی را نمایش میدهد، به جز آنهایی که مربوط به سوکتها و معیارهای شبکه هستند: برای مشاهدهی فهرستی از برچسبها و توضیحات، از گزینهی emulator -help-debug-tags شما میتوانید تگهای پیشفرض اشکالزدایی را در متغیر محیطی ANDROID_VERBOSE=socket,gles معادل استفاده از این است: یا |
-debug- tag-debug-no- tag | یک نوع پیام اشکالزدایی خاص را فعال میکند. از فرم no برای غیرفعال کردن یک نوع پیام اشکالزدایی استفاده کنید. برای مثال:emulator @Pixel8_API_34 -debug-all -debug-no-metrics برای مشاهده لیست تگها، از دستور |
-logcat logtags | نمایش پیامهای Logcat را برای یک یا چند تگ فعال میکند و آنها را در پنجره ترمینال مینویسد. برای مثال، دستور زیر پیامهای خطا را از همه اجزا فعال میکند:emulator @Pixel8_API_34 -logcat *:e
مثال زیر پیامهای مؤلفه GSM را در سطح گزارش اطلاعاتی نمایش میدهد: emulator @Pixel8_API_34 -logcat '*:s GSM:i' اگر گزینه برای اطلاعات بیشتر در مورد Logcat و |
-show-kernel | پیامهای اشکالزدایی هسته را در پنجره ترمینال نمایش میدهد. برای مثال:emulator @Pixel8_API_34 -show-kernel یکی از کاربردهای این گزینه، بررسی صحت عملکرد فرآیند بوت است. |
-verbose | پیامهای مقداردهی اولیه شبیهساز را در پنجره ترمینال چاپ میکند. برای مثال:emulator @Pixel8_API_34 -verbose این گزینه نمایش میدهد که هنگام شروع یک دستگاه مجازی تعریف شده در AVD، کدام فایلها و تنظیمات در واقع انتخاب شدهاند. این گزینه مشابه تعیین |
| شبکه | |
-dns-server servers | از سرورهای DNS مشخص شده استفاده میکند. servers لیستی از حداکثر چهار نام یا آدرس IP سرور DNS است که با کاما از هم جدا شدهاند. برای مثال:emulator @Pixel8_API_34 -dns-server 192.0.2.0, به طور پیشفرض، شبیهساز سعی میکند سرورهای DNS مورد استفاده شما را شناسایی کند و نامهای مستعار خاصی را در شبکه فایروال شبیهسازی شده تنظیم میکند تا سیستم اندروید بتواند مستقیماً به سرورها متصل شود. از گزینه |
-http-proxy proxy | تمام اتصالات TCP را از طریق یک پروکسی HTTP/HTTPS مشخص شده برقرار میکند. اگر شبیهساز شما باید از طریق یک سرور پروکسی به اینترنت دسترسی داشته باشد، میتوانید از این گزینه یا متغیر محیطی http_proxy برای تنظیم تغییر مسیر مناسب استفاده کنید. به عنوان مثال:emulator @Pixel8_API_34 -http-proxy myserver:1981
پیشوند اگر این گزینه ارائه نشود، شبیهساز متغیر محیطی توجه: هنگام اجرای چندین شبیهساز، این پرچم باید در اولین اجرا تنظیم شود. |
-netdelay delay | شبیهسازی تأخیر شبکه را روی یکی از مقادیر
برای مثال: emulator @Pixel8_API_34 -netdelay gsm این شبیهساز از تنظیم سرعت شبکه و همچنین تأخیر اتصال بالاتر پشتیبانی میکند. میتوانید آن را یا از طریق پیکربندی پوسته یا با گزینههای توجه: این تنظیم برای اترنت و تلفن همراه اعمال میشود. |
-netfast | تنظیم سرعت شبکه را غیرفعال میکند. برای مثال:emulator @Pixel8_API_34 -netfast این گزینه مشابه تعیین توجه: این تنظیم برای اترنت و تلفن همراه اعمال میشود. |
-netspeed speed | شبیهسازی سرعت شبکه را تنظیم میکند. حداکثر سرعت آپلود و دانلود شبکه را با یکی از مقادیر
برای مثال: emulator @Pixel8_API_34 -netspeed edge این شبیهساز از تنظیم سرعت شبکه و همچنین تأخیر اتصال بالاتر پشتیبانی میکند. میتوانید آن را یا از طریق پیکربندی پوسته یا با گزینههای توجه: این تنظیم برای اترنت و تلفن همراه اعمال میشود. |
-netsim-args arguments | آرگومانهای اضافی را به شبیهساز شبکه ( netsim ) ارسال میکند. arguments فهرستی از پرچمها است که با فاصله از هم جدا شدهاند.برای مثال، برای فعال کردن ضبط بسته و هدایت گزارشگیری به stderr: emulator @Pixel8_API_34 -netsim-args="--pcap --logtostderr" برای اطلاعات بیشتر، به ویژگیهای پیشرفته شبکه شبیهساز مراجعه کنید. |
-port port | شماره پورت TCP مورد استفاده برای کنسول و adb را تنظیم میکند. برای مثال:emulator @Pixel8_API_34 -port 5556 مقدار پیشفرض برای اولین نمونه دستگاه مجازی که روی دستگاه شما اجرا میشود، ۵۵۵۴ است. یک دستگاه مجازی معمولاً یک جفت پورت مجاور را اشغال میکند: یک پورت کنسول و یک پورت تخصیص پورت اغلب مشابه مشخص کردن گزینه توجه داشته باشید که اگر مقدار |
-ports | پورتهای TCP مورد استفاده برای کنسول و adb را تنظیم میکند. برای مثال:emulator @Pixel8_API_34 -ports 5556,5559 محدوده پورتهای معتبر بین ۵۵۵۴ تا ۵۶۸۲ است که امکان استفاده همزمان از ۶۴ دستگاه مجازی را فراهم میکند. گزینه توصیه میکنیم در صورت امکان از گزینه برای اطلاعات بیشتر در مورد تنظیم پورتهای کنسول و |
-tcpdump filepath | بستههای شبکه را ضبط کرده و آنها را در یک فایل ذخیره میکند. برای مثال:emulator @Pixel8_API_34 -tcpdump /path/dumpfile.cap از این گزینه برای شروع ضبط تمام بستههای شبکهای که از طریق شبکه محلی اترنت مجازی شبیهساز ارسال میشوند، استفاده کنید. پس از آن، میتوانید از ابزاری مانند Wireshark برای تجزیه و تحلیل ترافیک استفاده کنید. توجه داشته باشید که این گزینه تمام بستههای اترنت را ضبط میکند و محدود به اتصالات TCP نیست. |
| سیستم | |
-accel mode | شتابدهی ماشین مجازی شبیهساز را پیکربندی میکند. برای مثال:emulator @Pixel8_API_34 -accel auto شبیهسازی شتابیافته فقط برای ایمیجهای سیستم x86 و x86_64 کار میکند. در لینوکس، به KVM متکی است. در ویندوز و مک، به پردازنده اینتل و درایور HAXM اینتل متکی است. اگر دستگاه x86 یا x86_64 را شبیهسازی نمیکنید، این گزینه نادیده گرفته میشود. مقادیر معتبر برای
برای اطلاعات بیشتر، به پیکربندی شتاب سختافزاری برای شبیهساز اندروید مراجعه کنید. |
-accel-check | بررسی میکند که آیا هایپروایزر مورد نیاز برای شتابدهی ماشین مجازی شبیهساز (HAXM یا KVM) نصب شده است یا خیر. برای مثال:emulator -accel-check برای اطلاعات بیشتر، به بررسی نصب بودن هایپروایزر مراجعه کنید. |
-engine engine | موتور شبیهساز را مشخص میکند:
برای مثال: emulator @Pixel8_API_34 -engine auto تشخیص خودکار باید مقداری را انتخاب کند که هنگام شبیهسازی یک AVD خاص، بهترین عملکرد را ارائه دهد. از گزینه |
-gpu mode | حالت شبیهسازی GPU را انتخاب میکند. برای مثال:emulator @Pixel8_API_34 -gpu swiftshader_indirect برای اطلاعات بیشتر، به پیکربندی شتاب گرافیکی مراجعه کنید. |
-no-accel | شتابدهی ماشین مجازی شبیهساز را هنگام استفاده از تصویر سیستم x86 یا x86_64 غیرفعال میکند. این فقط برای اشکالزدایی مفید است و مانند تعیین -accel off عمل میکند. برای مثال:emulator @Pixel8_API_34 -no-accel برای اطلاعات بیشتر، به پیکربندی شتاب سختافزاری برای شبیهساز اندروید مراجعه کنید. |
-nojni-no-jni | بررسیهای رابط بومی جاوا (JNI) را در Android Dalvik یا ART runtime غیرفعال میکند. برای مثال:emulator @Pixel8_API_34 -nojni وقتی یک دستگاه مجازی را راهاندازی میکنید، بررسیهای JNI توسعهیافته بهطور پیشفرض فعال میشوند. برای اطلاعات بیشتر، به نکات JNI مراجعه کنید. |
-selinux {disabled|permissive} | ماژول امنیتی SELinux (Security-Enhanced Linux) را در سیستم عامل لینوکس روی حالت disabled یا permissive تنظیم میکند. برای مثال:me-linux$ emulator @Pixel8_API_34 -selinux permissive به طور پیشفرض، SELinux در حالت |
-timezone timezone | منطقه زمانی دستگاه مجازی را به جای منطقه زمانی میزبان، روی emulator @Pixel8_API_34 -timezone Europe/Paris به طور پیشفرض، شبیهساز از منطقه زمانی رایانه توسعهدهنده شما استفاده میکند. از این گزینه برای تعیین منطقه زمانی متفاوت یا اگر تشخیص خودکار به درستی کار نمیکند، استفاده کنید. مقدار
منطقه زمانی مشخص شده باید در پایگاه داده zoneinfo موجود باشد. |
-version | شماره نسخه شبیهساز را نمایش میدهد. برای مثال:emulator @Pixel8_API_34 -version یا emulator -version |
| رابط کاربری | |
-no-boot-anim | انیمیشن بوت را در هنگام راهاندازی شبیهساز غیرفعال میکند تا بوت سریعتر انجام شود. برای مثال:emulator @Pixel8_API_34 -no-boot-anim در رایانههای کندتر، این گزینه میتواند سرعت بوت شدن را به میزان قابل توجهی افزایش دهد. |
-screen mode | حالت صفحه لمسی شبیهسازی شده را تنظیم میکند. برای مثال:emulator @Pixel8_API_34 -screen no-touch
|
گزینههای پیشرفته
گزینههای راهاندازی خط فرمان در جدول زیر موجود هستند اما معمولاً توسط توسعهدهندگان برنامهی معمولی استفاده نمیشوند.
در توضیحات، دایرکتوری کاری ، دایرکتوری فعلی در ترمینال است که در آن دستورات را وارد میکنید. برای اطلاعات مربوط به دایرکتوری سیستم AVD و دایرکتوری داده و فایلهای ذخیره شده در آنها، به بخش مربوط به دایرکتوریها و فایلهای پیشفرض مراجعه کنید.
برخی از این گزینهها برای توسعهدهندگان برنامههای خارجی مناسب هستند و برخی دیگر عمدتاً توسط توسعهدهندگان پلتفرم استفاده میشوند. توسعهدهندگان برنامه ، برنامههای اندروید را ایجاد کرده و آنها را روی AVD های خاص اجرا میکنند. توسعهدهندگان پلتفرم روی سیستم اندروید کار میکنند و آن را درون شبیهساز و بدون AVD از پیش ایجاد شده اجرا میکنند.
جدول ۴. گزینههای پیشرفته خط فرمان
| گزینه پیشرفته | شرح مختصر |
|---|---|
-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-size size | اندازه پارتیشن کش را بر حسب مگابایت تنظیم میکند. برای مثال: emulator @Pixel8_API_34 -cache-size 1000 اگر این گزینه را مشخص نکنید، پیشفرض ۶۶ مگابایت است. معمولاً، اکثر توسعهدهندگان برنامه به این گزینه نیاز ندارند، مگر اینکه نیاز به دانلود فایلهای بسیار بزرگی داشته باشند که از حافظه پنهان پیشفرض بزرگتر باشند. برای اطلاعات بیشتر در مورد فایل حافظه پنهان، به فهرست دادههای AVD مراجعه کنید. |
-data filepath | فایل تصویر پارتیشن دادههای کاربر را تنظیم میکند. یک نام فایل و یک مسیر مطلق یا یک مسیر نسبت به دایرکتوری کاری برای راهاندازی یک فایل داده کاربر دائمی ارائه میدهد. اگر فایل وجود نداشته باشد، شبیهساز یک تصویر از فایل پیشفرض برای مثال: emulator @Pixel8_API_34 -data ~/.android/avd/Pixel8_API_34.avd/userdata-test.img اگر از این گزینه استفاده نکنید، فایل پیشفرض |
-datadir dir | یک دایرکتوری داده را با استفاده از یک مسیر مطلق مشخص میکند. برای اطلاعات بیشتر، به دایرکتوری داده AVD مراجعه کنید. برای مثال: emulator @Pixel8_API_34 -datadir ~/.android/avd/Pixel8_API_34.avd/mytest |
-force-32bit | از شبیهساز ۳۲ بیتی روی پلتفرمهای ۶۴ بیتی استفاده میکند. گاهی اوقات، این گزینه برای آزمایش یا اشکالزدایی مفید است. برای مثال، مشکلی وجود داشت که شبیهساز گاهی اوقات روی ویندوز ۶۴ بیتی اجرا نمیشد، اما ۳۲ بیتی اجرا میشد. این گزینه برای انجام مقایسهها برای اشکالزدایی مشکل مفید بود. در اینجا مثالی آورده شده است: emulator @Pixel8_API_34 -force-32bit |
-help-disk-images | در مورد تصاویر دیسک کمک میگیرد. این گزینه اطلاعاتی مرتبط با توسعهدهندگان برنامه و پلتفرم ارائه میدهد. برای مثال: emulator -help-disk-images |
-help-char-devices | در مورد مشخصات 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 | نسخه اولیه پارتیشن داده را مشخص میکند. پس از پاک کردن دادههای کاربر، شبیهساز به جای استفاده از فایل پیشفرض برای مثال: 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 اگر این گزینه را مشخص نکنید، پیشفرض |
-noaudio-no-audio | پشتیبانی صوتی را برای این دستگاه مجازی غیرفعال میکند. برخی از رایانههای لینوکس و ویندوز درایورهای صوتی معیوبی دارند که باعث بروز علائم مختلفی مانند جلوگیری از شروع شبیهساز میشوند. در این حالت، از این گزینه برای غلبه بر مشکل استفاده کنید. به عنوان یک جایگزین، میتوانید از متغیر محیطی برای مثال: emulator @Pixel8_API_34 -noaudio |
-nocache-no-cache | شبیهساز را بدون پارتیشن کش اجرا میکند. اگر از این گزینه استفاده نکنید، پیشفرض یک فایل موقت با نام برای مثال: emulator @Pixel8_API_34 -nocache |
-no-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-snapstorage | شبیهساز را بدون نصب فایلی برای ذخیره یا بارگذاری اسنپشاتهای وضعیت، راهاندازی میکند و بوت کامل را اجباری کرده و قابلیت اسنپشات وضعیت را غیرفعال میکند. این گزینه، گزینههای برای مثال: emulator @Pixel8_API_34 -no-snapstorage |
-no-window | نمایش پنجره گرافیکی را در شبیهساز غیرفعال میکند. این گزینه هنگام اجرای شبیهساز روی سرورهایی که نمایشگر ندارند مفید است. میتوانید از طریق emulator @Pixel8_API_34 -no-window |
-partition-size size | اندازه پارتیشن داده سیستم را بر حسب مگابایت مشخص میکند. برای مثال: emulator @Pixel8_API_34 -partition-size 1024 |
-prop name = value | هنگام بوت شدن شبیهساز، یک ویژگی سیستم اندروید را در آن تنظیم میکند. emulator @Pixel8_API_34 -prop qemu.name=value -prop qemu.abc=xyz |
-qemu args | آرگومانها را به نرمافزار شبیهساز QEMU ارسال میکند. هنگام استفاده از این گزینه، مطمئن شوید که آخرین گزینه مشخص شده باشد، زیرا تمام گزینههای بعد از آن به عنوان گزینههای مخصوص QEMU تفسیر میشوند. این گزینه کاملاً پیشرفته است و فقط باید توسط توسعهدهندگانی که با QEMU و شبیهسازی اندروید بسیار آشنا هستند، استفاده شود. |
-qemu -h | 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 اگر از این گزینه استفاده نکنید، فایل پیشفرض |
-report-console socket | قبل از شروع شبیهسازی، پورت کنسول را به یک شخص ثالث از راه دور گزارش میدهد. این میتواند برای یک اسکریپت تست خودکار مفید باشد.
برای اطلاعات بیشتر، از گزینه |
-shell | یک کنسول پوسته ریشه در ترمینال فعلی ایجاد میکند. این گزینه با دستور
برای مثال: emulator @Pixel8_API_34 -shell |
-snapshot name | نام یک اسنپشات را در فایل ذخیرهسازی اسنپشات برای عملیات شروع و ذخیره خودکار مشخص میکند. به جای اجرای یک توالی بوت کامل، شبیهساز میتواند اجرا را از یک اسنپشات وضعیت قبلی از سر بگیرد، که معمولاً به طور قابل توجهی سریعتر است. وقتی این گزینه را فعال میکنید، شبیهساز اسنپشات آن نام را از تصویر اسنپشات بارگذاری میکند و در هنگام خروج، آن را با همان نام ذخیره میکند. اگر از این گزینه استفاده نکنید، پیشفرض یک توالی بوت کامل است. اگر snapshot مشخص شده وجود نداشته باشد، شبیهساز به جای آن یک توالی بوت کامل را انجام میدهد و عملیات ذخیره را انجام میدهد. برای اطلاعات بیشتر در مورد مشخص کردن فایل ذخیرهسازی اسنپشات و فایل پیشفرض، به گزینه emulator @Pixel8_API_34 -snapshot snapshot2 به یاد داشته باشید که در فرآیند بارگذاری یک اسنپشات، تمام محتویات سیستم، دادههای کاربر و تصاویر کارت SD با محتویاتی که هنگام تهیه اسنپشات در اختیار داشتند، رونویسی میشوند. مگر اینکه این اطلاعات را در یک اسنپشات دیگر ذخیره کنید، هرگونه تغییری از آن زمان از بین میرود. همچنین میتوانید با استفاده از دستور |
-snapshot-list | فهرستی از اسنپشاتهای موجود را نمایش میدهد. این دستور جدولی از اسنپشاتهایی که در فایل ذخیرهسازی اسنپشات که شبیهساز با آن شروع به کار کرده است ذخیره شدهاند را چاپ میکند و سپس از آن خارج میشود. اگر برای مثال: emulator @Pixel8_API_34 -snapshot-list -snapstorage ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img میتوانید از مقادیر ستونهای ID و TAG در خروجی به عنوان آرگومان برای گزینه |
-snapstorage filepath | یک فایل مخزن را مشخص میکند که شامل تمام اسنپشاتهای وضعیت است. تمام اسنپشاتهای ایجاد شده در حین اجرا در این فایل ذخیره میشوند. فقط اسنپشاتهای موجود در این فایل میتوانند در حین اجرای شبیهساز بازیابی شوند. برای مثال: emulator @Pixel8_API_34 -snapstorage ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img If you don't specify this option, the default is |
-sysdir dir | Specifies a system directory using an absolute path. For more information, see AVD system directory . For example: emulator @Pixel8_API_34 -sysdir ~/Library/Android/sdk/system-images/android-34/ google_apis/x86_64/test |
-system filepath | Specifies an initial system file. Provides the filename and an absolute path or a path relative to the working directory. برای مثال: emulator @Pixel8_API_34 -system ~/Library/Android/sdk/system-images/android-34/ google_apis/x86_64/system-test.img If you don't use this option, the default is the |
-writable-system | Use this option to have a writable system image during your emulation session. To do so:
Using this flag creates a temporary copy of the system image that can be very large, up to several hundred MBs, but will be destroyed when the emulator exits. |
Deprecated options
The following command-line options are deprecated:
-
-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
Get help about command-line options
This section describes how to get help about the command-line options. It provides more in-depth information about the commonly used emulator command-line options that are available when you start the emulator.
List all emulator options
To print a list of all emulator options, including a short description, enter the following command:
emulator -help
Get detailed help for a specific option
To print help for a specific startup option, enter the following command:
emulator -help-option
برای مثال:
emulator -help-netspeed
This help is more detailed than the description provided by the -help option.
Get detailed help for all options
To get detailed help for all emulator options, enter the following command:
emulator -help-all
List emulator environment variables
To get a list of emulator environment variables, enter the following command:
emulator -help-environment
You can set environment variables in the terminal window before launching a virtual device, or you can set it through your user settings in the operating system. For example, set it in your .bashrc file on Linux.
List debug tags
To print a list of tags for the -debug options, enter the following command:
emulator -help-debug-tags
The -debug options let you enable or disable debug messages from specific emulator components, as specified by the tags.