כל מכשיר וירטואלי פועל מספק מסוף שמאפשר לך להריץ שאילתות על האמולציה ולשלוט בה את סביבת המכשיר. לדוגמה, אפשר להשתמש במסוף כדי לנהל הפניה אוטומטית ליציאה אחרת, הוספת רשת ומאפיינים של אירועי טלפוניה בזמן שהאפליקציה פועלת באמולטור.
בפקודות הבאות נדרש אמולטור פועל. לקבלת מידע נוסף מידע על הפעלת אמולטור, הפעלת אפליקציות באמולטור Android מפעילים את האמולטור משורת הפקודה.
התחלה והפסקה של סשן במסוף
כדי לגשת למסוף ולהזין פקודות מחלון הטרמינל, משתמשים ב-telnet כדי
להתחבר ליציאת המסוף ולספק את אסימון האימות. בכל פעם שהמסוף מוצג
אוקיי, האפליקציה מוכנה לקבלת פקודות. אין הנחיה אופיינית.
כדי להתחבר למסוף של מכשיר וירטואלי פועל:
- פותחים חלון טרמינל ומזינים את הפקודה הבאה:
- אחרי שבמסוף יוצג 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 (Global Positioning System Fix Data) שמקבל את
             שעה, מיקום ותיקון נתונים למקלט 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. מתבצע מיפוי הפוך של פוסטים ב-Unicode בהתאם למקלדת המכשיר הנוכחית, והם לא נתמכים התווים נמחקים ברקע. | 
| אמצעי בקרה למצב ההפעלה של המכשיר | תיאור | 
| power display | הצגת מצב הסוללה והמטען. | 
| power ac {on|off} | הגדרת מצב טעינה של מיזוג אוויר ל- 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 | שליחת חבילות לקובץ. הרשימה הבאה מתארת את הפרמטרים
        ערכי הפרמטרים: 
 | 
| אמולציית טלפוניה | תיאור | 
| האמולטור של Android כולל מודם GSM ו-CDMA משלו, שמאפשר לדמות טלפוניה הפונקציות באמולטור. לדוגמה, באמצעות GSM אפשר לדמות שיחות טלפון נכנסות ולסיים את חיבורי הנתונים. ב-CDMA, אתם מספקים מקור מינויים רשימה בנדידה. מערכת Android מטפלת בשיחות הדמיות בדיוק כפי שהיא מטפלת בשיחות בפועל. האמולטור לא תומך באודיו של שיחה. | |
| gsm {call|accept|cancel|busy} phonenumber | אלה הפרמטרים gsm:
 | 
| gsm {data|voice} state | הפקודה data stateמשנה את המצב של חיבור הנתונים GPRS,
      והפקודהdata voice stateמשנה את המצב של קול ה-GPRS
      באופן הבא:
 | 
| gsm hold | שינוי מצב השיחה ל- hold. אפשר לשנות
         קריאה למצבholdרק כשהמצב הנוכחי שלו הואactiveאוwaiting. | 
| 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 | תיאור | 
| sms send sender-phone-number textmessage | יצירת אמולציה של הודעת SMS נכנסת. הרשימה הבאה מתארת את הפרמטרים
        הערכים שלהם: 
 לפי הדוגמה הבאה נשלחת ההודעה "שלום" למספר הטלפון 4085555555: sms send 4085555555 hi there המסוף מעביר את הודעת ה-SMS ל-framework של Android, שמעביר אותה אפליקציה באמולטור שמטפל ב-SMS, כמו אפליקציית Messages. אם מעבירים 10 מספרים, שהאפליקציה מציגה אותו כמספר טלפון. מחרוזות מספר ארוכות או קצרות יותר מציגות את הדרך. ששלחת אותם. 
 | 
| סימולציה של טביעת אצבע | תיאור | 
| finger touch fingerprint-id | הדמייה של אצבע שנגעת בחיישן. | 
| finger remove | הדמיה של הסרת אצבע. לקבלת הוראות לשימוש בפקודות האלה, קראו את הקטע הבא על הדמיה ואימות של טביעות אצבע | 
סימולציה ואימות של טביעת אצבע
 
    איור 1. מסך לאימות טביעת אצבע.
משתמשים בפקודה finger כדי לדמות ולאמת אימות באמצעות טביעת אצבע
אפליקציה. צריך כלים ל-SDK מגרסה 24.3 ואילך ו-Android מגרסה 6.0 (רמת API 23) ואילך.
כדי לדמות אימות של טביעת אצבע ולאמת אותו, מבצעים את השלבים הבאים:
- אם עדיין אין לך מזהה טביעת אצבע, צריך לרשום טביעת אצבע חדשה באמולטור בחירה באפשרות הגדרות > אבטחה > טביעת אצבע וביצוע של הוראות הרשמה.
- הגדרת האפליקציה לקבלת הסכמה טביעת אצבע אימות. לאחר ביצוע ההגדרה הזו, במכשיר תוצג טביעת האצבע מסך האימות.
- בזמן שהאפליקציה מציגה את המסך של אימות טביעת האצבע, עוברים אל המסוף ו
        מזינים את הפקודה finger touchואת מזהה טביעת האצבע שיצרתם. הזה מדמה מגע באצבע.
- לאחר מכן, מזינים את הפקודה finger removeכדי לדמות את הסרת האצבע.האפליקציה אמורה להגיב כאילו משתמש נגע ואז הסיר את האצבע מחיישן טביעות אצבע. 
