هر دستگاه مجازی در حال اجرا یک کنسول ارائه می دهد که به شما امکان می دهد محیط دستگاه شبیه سازی شده را جستجو و کنترل کنید. برای مثال، میتوانید از کنسول برای مدیریت تغییر مسیر پورت، ویژگیهای شبکه و رویدادهای تلفنی در زمانی که برنامه شما در شبیهساز اجرا میشود، استفاده کنید.
دستورات زیر مستلزم این است که از قبل یک شبیه ساز در حال اجرا داشته باشید. برای اطلاعات بیشتر در مورد اجرای شبیه ساز، به اجرای برنامه ها در شبیه ساز Android و شروع شبیه ساز از خط فرمان مراجعه کنید.
یک جلسه کنسول را شروع و متوقف کنید
 برای دسترسی به کنسول و وارد کردن دستورات از پنجره ترمینال، از telnet برای اتصال به پورت کنسول و ارائه رمز احراز هویت خود استفاده کنید. هر بار که کنسول OK را نمایش می دهد، آماده پذیرش دستورات است. یک اعلان معمولی وجود ندارد.
برای اتصال به کنسول یک دستگاه مجازی در حال اجرا:
- یک پنجره ترمینال باز کنید و دستور زیر را وارد کنید:
-  پس از نمایش OKکنسول، دستورauth auth_tokenرا وارد کنید.
- پس از اتصال به کنسول، دستورات کنسول را وارد کنید.
-  برای خروج از جلسه کنسول، quitیاexitوارد کنید.
telnet localhost console-port
 عنوان پنجره شبیه ساز، شماره پورت کنسول را هنگام اجرا در یک پنجره جداگانه، اما نه در هنگام اجرا در پنجره ابزار، فهرست می کند. برای مثال، عنوان پنجره شبیهساز با استفاده از پورت کنسول 5554 میتواند Pixel8_API_34:5554 باشد. همچنین دستور adb devices لیستی از دستگاه های مجازی در حال اجرا و شماره پورت کنسول آنها را چاپ می کند. برای اطلاعات بیشتر، به درخواست دستگاهها مراجعه کنید.
 توجه: شبیه ساز به اتصالات در پورت های 5554 تا 5585 گوش می دهد و اتصالات را فقط از localhost می پذیرد.
 قبل از اینکه بتوانید دستورات کنسول را وارد کنید، کنسول شبیه ساز نیاز به احراز هویت دارد. auth_token باید با محتوای فایل .emulator_console_auth_token در فهرست اصلی شما مطابقت داشته باشد.
 اگر آن فایل وجود نداشته باشد، دستور telnet localhost console-port فایل را ایجاد میکند که حاوی یک توکن احراز هویت تصادفی است. برای غیرفعال کردن احراز هویت، رمز را از فایل .emulator_console_auth_token حذف کنید یا اگر وجود ندارد یک فایل خالی ایجاد کنید.
 برای مشاهده لیستی از دستورات کنسول و آشنایی با دستورات خاص، help ، help command یا help-verbose را وارد کنید.
در اینجا یک جلسه نمونه است:
$ telnet localhost 5554
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Android Console: Authentication required
Android Console: type 'auth <auth_token>' to authenticate
Android Console: you can find your <auth_token> in
'/Users/me/.emulator_console_auth_token'
OK
auth 123456789ABCdefZ
Android Console: type 'help' for a list of commands
OK
help-verbose
Android console command help:
    help|h|?         Prints a list of commands
    help-verbose     Prints a list of commands with descriptions
    ping             Checks if the emulator is alive
    automation       Manages emulator automation
    event            Simulates hardware events
    geo              Geo-location commands
    gsm              GSM related commands
    cdma             CDMA related commands
    crash            Crashes the emulator instance
    crash-on-exit    Simulates crash on exit for the emulator instance
    kill             Terminates the emulator instance
    restart          Restarts the emulator instance
    network          Manages network settings
    power            Power related commands
    quit|exit        Quits control session
    redir            Manages port redirections
    sms              SMS related commands
    avd              Controls virtual device execution
    qemu             QEMU-specific commands
    sensor           Manages emulator sensors
    physics          Manages physical model
    finger           Manages emulator finger print
    debug            Controls the emulator debug output tags
    rotate           Rotates the screen clockwise by 90 degrees
    screenrecord     Records the emulator's display
    fold             Folds the device
    unfold           Unfolds the device
    multidisplay     Configures the multi-display
    nodraw           turn on/off NoDraw mode. (experimental)
    resize-display   resize the display resolution to the preset size
    virtualscene-image  customize virtualscene image for virtulscene camera
    proxy            manage network proxy server settings
    phonenumber      set phone number for the device
try 'help <command>' for command-specific help
OK
exit
Connection closed by foreign host.
مرجع فرمان شبیه ساز
جدول زیر دستورات کنسول شبیه ساز را با پارامترها و مقادیر آنها توضیح می دهد:
جدول 1. دستورات کنسول شبیه ساز
| دستورات عمومی | توضیحات | 
|---|---|
| avd {stop|start|status|name} | پرس و جو، کنترل و مدیریت دستگاه مجازی به شرح زیر است: 
 | 
| avd snapshot {list|save name |load name |delete name } | به شرح زیر وضعیت دستگاه را در عکس های فوری ذخیره و بازیابی می کند: 
  مثال زیر یک عکس فوری با نام  avd snapshot save firstactivitysnapshot | 
| fold | اگر دستگاه تاشو باشد و در حال حاضر باز باشد، دستگاه را تا میکند تا پیکربندی صفحه نمایش کوچکتر خود را نشان دهد. | 
| unfold | اگر دستگاه تاشو باشد و در حال حاضر تا شده باشد، دستگاه را باز میکند تا پیکربندی صفحه نمایش بزرگتر خود را نشان دهد. | 
| kill | دستگاه مجازی را خاتمه می دهد. | 
| ping | بررسی می کند که آیا دستگاه مجازی در حال اجرا است یا خیر. | 
| rotate | AVD را در خلاف جهت عقربه های ساعت با افزایش 45 درجه می چرخاند. | 
| شبیه ساز را خراب کنید | توضیحات | 
| crash | شبیه ساز در حین اجرای برنامه خراب می شود. | 
| crash-on-exit | هنگام خروج از برنامه، شبیه ساز خراب می شود. | 
| برچسبهای اشکال زدایی | توضیحات | 
| debug tags ... |  پیام های اشکال زدایی را از قسمت های خاصی از شبیه ساز فعال یا غیرفعال می کند. پارامتر tags باید مقداری از لیست تگ های اشکال زدایی باشد که هنگام اجرای   مثال زیر تگ  debug radio | 
| تغییر مسیر پورت | توضیحات | 
| redir list | تغییر مسیر پورت فعلی را فهرست می کند. | 
| redir add protocol : host-port : guest-port | یک تغییر مسیر پورت جدید به شرح زیر اضافه می کند: 
 | 
| redir del protocol : host-port | تغییر مسیر پورت را حذف می کند. 
 | 
| موقعیت جغرافیایی | توضیحات | 
| موقعیت جغرافیایی گزارش شده را برای برنامه های در حال اجرا در یک شبیه ساز با ارسال یک راه حل GPS به شبیه ساز تنظیم می کند.  به محض اجرای یک دستگاه مجازی می توانید یکی از دستورات  | |
| geo fix longitude latitude [altitude] [satellites] [velocity] | یک راه حل ساده GPS را به شبیه ساز ارسال می کند. longitudeوlatitudeرا با درجه اعشار مشخص کنید. از عدد 1 تا 12 برای تعیین تعدادsatellitesمورد استفاده برای تعیین موقعیت استفاده کنید وaltitudeبر حسب متر وvelocityبر حسب گره مشخص کنید. | 
| geo nmea sentence | یک جمله NMEA 0183 را به دستگاه شبیه سازی شده ارسال می کند که گویی از یک مودم GPS شبیه سازی شده ارسال شده است. sentenceبا '$GP' شروع کنید. در حال حاضر فقط جملات «$GPGGA» و «$GPRCM» پشتیبانی میشوند. مثال زیر یک جمله GPGGA (داده های ثابت سیستم موقعیت یابی جهانی) است که زمان، موقعیت و داده های ثابت یک گیرنده GPS را دریافت می کند:geo nmea $GPGGA ,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx | 
| رویدادهای سخت افزاری جعلی | توضیحات | 
| event types | همه انواع رویدادهای جعلی را فهرست می کند. برای رویدادهایی که دارای کد هستند، تعداد کدها در داخل پرانتز در سمت راست ذکر شده است. 
event types
event <type> can be an integer or one of the following aliases:
    EV_SYN
    EV_KEY    (405 code aliases)
    EV_REL    (2 code aliases)
    EV_ABS    (27 code aliases)
    EV_MSC
    EV_SW     (4 code aliases)
    EV_LED
    EV_SND
    EV_REP
    EV_FF
    EV_PWR
    EV_FF_STATUS
    EV_MAX
OK
         | 
| event send types [types ...] | یک یا چند نوع رویداد جعلی را ارسال می کند. | 
| event codes type | کدهای رویداد را برای نوع رویداد جعلی مشخص شده فهرست می کند. | 
| event send type [: code ]:[ value ] [...] | یک یا چند رویداد جعلی را با کدهای اختیاری و مقادیر کد ارسال می کند.  برای اینکه دقیقاً کدام رویداد را بفرستید، می توانید از دستور  اینها رویدادهایی هستند که با فشار دادن دکمه پاور ایجاد می شوند: 
adb shell getevent -lt
/dev/input/event12: EV_KEY       KEY_POWER            DOWN
/dev/input/event12: EV_SYN       SYN_REPORT           00000000
/dev/input/event12: EV_KEY       KEY_POWER            UP
/dev/input/event12: EV_SYN       SYN_REPORT           00000000
      EV_KEYبرای keydown و keyup ارسال کنید:
event send EV_KEY:KEY_POWER:0
OK
event send EV_KEY:KEY_POWER:1
OK
       | 
| event text message | رشته ای از کاراکترها را ارسال می کند که فشار کلید را شبیه سازی می کنند. پیام باید یک رشته UTF-8 باشد. پستهای یونیکد مطابق با صفحهکلید دستگاه فعلی نقشهبرداری معکوس میشوند و کاراکترهای پشتیبانینشده بیصدا کنار گذاشته میشوند. | 
| کنترل های حالت قدرت | توضیحات | 
| power display | وضعیت باتری و شارژر را نمایش می دهد. | 
| power ac {on|off} | وضعیت شارژ AC را روی onیاoffتنظیم می کند. | 
| power status {unknown|charging|discharging|not-charging|full} | وضعیت باتری را همانطور که مشخص شده تغییر می دهد. | 
| power present {true|false} | وضعیت حضور باتری را تنظیم می کند. | 
| power health {unknown|good|overheat|dead|overvoltage|failure} | وضعیت سلامت باتری را تنظیم می کند. | 
| power capacity percent | وضعیت ظرفیت باقیمانده باتری را به صورت درصد از 0 تا 100 تنظیم می کند. | 
| وضعیت اتصال شبکه | توضیحات | 
| network status | وضعیت شبکه و ویژگی های تاخیر و سرعت فعلی را بررسی می کند. | 
| network delay latency | تاخیر شبکه شبیه سازی شده را تغییر می دهد. شبیه ساز به شما امکان می دهد سطوح مختلف تاخیر شبکه را شبیه سازی کنید تا بتوانید برنامه خود را در محیطی معمولی تر از شرایط اجرای واقعی آزمایش کنید. میتوانید در هنگام راهاندازی شبیهساز، سطح یا محدوده تأخیر تنظیم کنید، یا میتوانید از کنسول برای تغییر تأخیر زمانی که برنامه در شبیهساز اجرا میشود، استفاده کنید. فرمت latency شبکه یکی از موارد زیر است (اعداد میلی ثانیه هستند): فرمت تاخیر شبکه: 
  برای تنظیم تأخیر در راهاندازی شبیهساز، از گزینه  emulator -netdelay gprs emulator -netdelay 40,100  برای ایجاد تغییرات در تاخیر شبکه در حالی که شبیه ساز در حال اجرا است، به کنسول متصل شوید و از دستور  network delay gprs network delay 40 100 | 
| network speed speed | شبیه ساز به شما امکان می دهد نرخ های مختلف انتقال شبکه را شبیه سازی کنید. میتوانید در هنگام راهاندازی شبیهساز، نرخ انتقال یا محدوده را تنظیم کنید، یا میتوانید از کنسول برای تغییر نرخ در زمانی که برنامه در شبیهساز اجرا میشود، استفاده کنید.  فرمت  فرمت سرعت شبکه: 
  برای تنظیم سرعت شبکه هنگام راهاندازی شبیهساز، از گزینه  emulator -netspeed gsm @Pixel_API_26 emulator -netspeed 14.4,80 @Pixel_API_26 برای ایجاد تغییرات در سرعت شبکه در حالی که شبیه ساز در حال اجرا است، به کنسول متصل شده و از دستور  network speed 14.4 80 | 
| network capture {start|stop} file | بسته ها را به یک فایل ارسال می کند. لیست زیر پارامترها و مقادیر پارامترها را توضیح می دهد: 
 | 
| شبیه سازی تلفن | توضیحات | 
| شبیه ساز اندروید شامل مودم های شبیه سازی شده GSM و CDMA خود است که به شما امکان می دهد عملکردهای تلفن را در شبیه ساز شبیه سازی کنید. برای مثال، با GSM میتوانید تماسهای تلفنی ورودی را شبیهسازی کنید و اتصالات داده را برقرار و قطع کنید. با CDMA، منبع اشتراک و لیست رومینگ ترجیحی را ارائه می کنید. سیستم اندروید تماس های شبیه سازی شده را دقیقاً مانند تماس های واقعی انجام می دهد. شبیه ساز صدای تماس را پشتیبانی نمی کند. | |
| gsm {call|accept|cancel|busy} phonenumber | پارامترهای gsmبه شرح زیر است:
 | 
| gsm {data|voice} state | دستور data stateوضعیت اتصال داده GPRS را تغییر می دهد و فرمانdata voice stateوضعیت اتصال صوتی GPRS را به شرح زیر تغییر می دهد:
 | 
| gsm hold | وضعیت holdتماس را تغییر می دهد. می توانید حالت تماس را تغییر دهید تا فقط زمانی که وضعیت فعلی آنactiveیاwaitingاست،hold. | 
| gsm list | همه تماس های ورودی و خروجی و وضعیت آنها را فهرست می کند. | 
| gsm status | وضعیت فعلی صدا/داده GSM را گزارش می کند. مقادیر آنهایی هستند که برای دستورات voiceوdataتوصیف شده اند. | 
| gsm signal {rssi|ber} | قدرت سیگنال گزارش شده (rssi) و نرخ خطای بیت (ber) را در 15 ثانیه بعدی به روز رسانی تغییر می دهد. لیست زیر پارامترها و مقادیر آنها را توضیح می دهد: 
 | 
| gsm signal-profile num | مشخصات قدرت سیگنال را تنظیم می کند. numعددی از 0 تا 4 است. | 
| cdma ssource source | منبع اشتراک CDMA فعلی را تنظیم می کند، جایی که sourceیک لیست مجاز مبتنی بر شبکه است که شامل مشترکین حامل CDMA و مقادیر آنها است، به صورت زیر:
 | 
| cdma prl_version version | نسخه فعلی فهرست رومینگ ترجیحی (PRL) را تخلیه می کند. شماره نسخه مربوط به پایگاه داده PRL است که حاوی اطلاعات مورد استفاده در فرآیند انتخاب و اکتساب سیستم است. | 
| حسگرها را روی شبیه ساز مدیریت کنید | توضیحات | 
| این دستورات مربوط به سنسورهای موجود در AVD است. علاوه بر استفاده از فرمان sensor، میتوانید تنظیمات شبیهساز را در صفحه حسگرهای مجازی در زبانههای شتابسنج و سنسورهای اضافی مشاهده و تنظیم کنید. | |
| sensor status | همه سنسورها و وضعیت آنها را فهرست می کند. نمونه زیر خروجی فرمان sensor statusاست: | 
| sensor get sensor-name | تنظیمات sensor-nameرا دریافت می کند. مثال زیر مقدار سنسور شتاب را دریافت می کند:sensor get acceleration acceleration = 2.23517e-07:9.77631:0.812348 مقادیر  | 
| sensor set sensor-name value-x : value-y : value-z | مقادیر sensor-nameرا تنظیم می کند. مثال زیر سنسور شتاب را روی مقادیر x، y و z که با دو نقطه از هم جدا شده اند تنظیم می کند.sensor set acceleration 2.23517e-07:9.77631:0.812348 | 
| شبیه سازی پیامک | توضیحات | 
| sms send sender-phone-number textmessage | یک اس ام اس ورودی شبیه سازی شده ایجاد می کند. لیست زیر پارامترها و مقادیر آنها را توضیح می دهد: 
 مثال زیر پیام "سلام" را به شماره تلفن 4085555555 ارسال می کند: sms send 4085555555 hi there کنسول پیام اس ام اس را به فریم ورک اندروید می فرستد، که آن را به برنامه ای در شبیه ساز که پیامک را مدیریت می کند، مانند برنامه پیام ها، ارسال می کند. اگر 10 شماره را ارسال کنید، برنامه آن را به عنوان شماره تلفن فرمت می کند. رشته های عددی طولانی تر یا کوتاه تر، روشی را که شما آنها را ارسال کرده اید نشان می دهد. | 
| شبیه سازی اثر انگشت | توضیحات | 
| finger touch fingerprint-id | لمس انگشت حسگر را شبیه سازی می کند. | 
| finger remove | شبیه سازی برداشتن انگشت برای دستورالعملهای مربوط به نحوه استفاده از این دستورات، به بخش زیر در مورد شبیهسازی و اعتبارسنجی اثر انگشت مراجعه کنید. | 
شبیه سازی و اعتبار سنجی اثر انگشت

شکل 1. صفحه تأیید هویت اثر انگشت.
 از فرمان finger برای شبیه سازی و تأیید اعتبار اثر انگشت برای برنامه خود استفاده کنید. شما به ابزار SDK 24.3 یا بالاتر و Android 6.0 (سطح API 23) یا بالاتر نیاز دارید.
برای شبیه سازی و اعتبارسنجی احراز هویت اثر انگشت، مراحل زیر را دنبال کنید:
- اگر هنوز شناسه اثر انگشت ندارید، با انتخاب Settings > Security > Fingerprint و دنبال کردن دستورالعملهای ثبتنام، یک اثر انگشت جدید را در شبیهساز ثبت کنید.
- برنامه خود را طوری تنظیم کنید که احراز هویت اثر انگشت را بپذیرد. پس از انجام این تنظیمات، دستگاه شما صفحه تأیید هویت اثر انگشت را نشان می دهد.
-  در حالی که برنامه شما صفحه تأیید هویت اثر انگشت را نشان می دهد، به کنسول بروید و فرمان finger touchو شناسه اثر انگشتی که ایجاد کرده اید را وارد کنید. این یک لمس انگشت را شبیه سازی می کند.
-  سپس دستور finger removeبرای شبیه سازی حذف انگشت وارد کنید.برنامه شما باید طوری پاسخ دهد که گویی کاربر انگشت خود را لمس کرده و سپس از روی حسگر اثر انگشت برداشته است. 
