הפעלת האמולטור משורת הפקודה

ערכת Android SDK כוללת אמולטור של מכשיר Android – מכשיר וירטואלי שפועל במחשב. אמולטור Android מאפשר לכם לפתח ולבדוק אפליקציות ל-Android בלי להשתמש במכשיר פיזי.

בדף הזה מתוארות תכונות של שורת הפקודה שאפשר להשתמש בהן עם אמולטור Android. במאמר הפעלת אפליקציות באמולטור Android מוסבר איך משתמשים בממשק המשתמש של אמולטור Android.

הפעלת האמולטור

אפשר להשתמש בפקודה emulator כדי להפעיל את האמולטור, במקום להפעיל את הפרויקט או להפעיל אותו דרך AVD Manager.

זו התחביר הבסיסי של שורת הפקודה להפעלת מכשיר וירטואלי מהנחיה של מסוף:

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

או

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

לדוגמה, אם מפעילים את האמולטור מתוך Android Studio שפועל ב-Mac, שורת הפקודה שמוגדרת כברירת מחדל תהיה דומה לזו:

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

שימו לב שהארגומנטים -qt-hide-window -grpc-use-token -idle-grpc-timeout משמשים רק להרצת חלון האמולטור ב-Android Studio. אם רוצים להריץ את האמולטור בחלון נפרד, לא צריך להשתמש בפרמטרים הנוספים האלה.

אפשר לציין אפשרויות הפעלה כשמפעילים את האמולטור, אבל לא אחרי שהוא כבר פועל.

כדי לראות רשימה של שמות AVD, מזינים את הפקודה הבאה:

emulator -list-avds

משתמשים באפשרות הזו כדי להציג רשימה של שמות AVD מתיקיית הבית של Android. כדי לשנות את ספריית הבית שמוגדרת כברירת מחדל, מגדירים את משתנה הסביבה ANDROID_SDK_HOME שמציין את השורש של הספרייה הספציפית למשתמש שבה מאוחסנים כל התוכן של התצורה וה-AVD.

אפשר להגדיר את משתנה הסביבה בחלון הטרמינל לפני שמפעילים מכשיר וירטואלי, או דרך הגדרות המשתמש במערכת ההפעלה. לדוגמה, בקובץ .bashrc ב-Linux.

כדי להפסיק את אמולטור Android, סוגרים את חלון האמולטור.

התקנת אפליקציה

בנוסף להתקנת אפליקציה דרך Android Studio או ממשק המשתמש של האמולטור, אפשר להתקין את האפליקציה במכשיר וירטואלי באמצעות כלי השירות adb.

כדי להשתמש ב-adb כדי להתקין, להפעיל ולבדוק את האפליקציה, פועלים לפי השלבים הכלליים הבאים:

  1. יוצרים חבילת APK לאפליקציה, כמו שמתואר במאמר יצירה והרצה של האפליקציה.
  2. מפעילים את האמולטור משורת הפקודה, כמו שמתואר בקטע הקודם, באמצעות אפשרויות ההפעלה הנדרשות.
  3. מתקינים את האפליקציה באמצעות adb.
  4. מריצים את האפליקציה באמולטור ובודקים אותה.
    בזמן שהאמולטור פועל, אפשר להשתמש במסוף האמולטור כדי להנפיק פקודות לפי הצורך.

כדי להסיר אפליקציה, פועלים כמו במכשיר Android.

המכשיר הווירטואלי שומר את האפליקציה ואת נתוני המצב שלה בין הפעלות מחדש במחיצה של דיסק נתוני המשתמש (userdata-qemu.img). כדי לנקות את הנתונים האלה, מפעילים את האמולטור עם האפשרות -wipe-data או מוחקים את הנתונים ב-AVD Manager. מידע נוסף על המחיצה של נתוני המשתמשים ועל אחסון אחר זמין בקטע הבא.

הערה: כלי השירות adb מציג את המכשיר הווירטואלי כמכשיר פיזי אמיתי. לכן, יכול להיות שתצטרכו להשתמש בדגל -d עם כמה פקודות נפוצות של adb, כמו install. הדגל -d מאפשר לציין באיזה מבין כמה מכשירים מחוברים להשתמש כיעד של פקודה. אם לא מציינים את -d, האמולטור יטרגט את המכשיר הראשון ברשימה שלו.

הסבר על קבצים וספריות שמוגדרים כברירת מחדל

האמולטור משתמש בקבצים משויכים, שהכי חשובים מביניהם הם מערכת ה-AVD וספריות הנתונים. כשמציינים אפשרויות של שורת פקודה, כדאי להבין את מבנה הספרייה והקבצים של האמולטור, אבל בדרך כלל לא צריך לשנות את ספריות ברירת המחדל או הקבצים.

אמולטור Android משתמש בהיפרווייזר (QEMU).

ספריית מערכת AVD

ספריית המערכת מכילה את תמונות המערכת של Android שבהן האמולטור משתמש כדי לדמות את מערכת ההפעלה. בספרייה הזו יש קבצים לקריאה בלבד שספציפיים לפלטפורמה, שמשותפים לכל מכשירי ה-AVD מאותו סוג, כולל רמת ה-API, ארכיטקטורת ה-CPU והווריאציה של Android. מיקומי ברירת המחדל הם:

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

איפה:

  • apiLevel היא רמת API מספרית או אות לגרסאות טרום-השקה. לדוגמה, android-V מציין את התצוגה המקדימה של Android VanillaIceCream. עם ההשקה, רמת ה-API שלה הייתה 35, והיא סומנה ב-android-35.
  • variant הוא שם שמתאים לתכונות ספציפיות שהוטמעו בקובץ אימג' של המערכת. לדוגמה, google_apis או android-wear.
  • arch היא ארכיטקטורת ה-CPU של היעד. לדוגמה, x86.

משתמשים באפשרות -sysdir כדי לציין ספריית מערכת אחרת עבור ה-AVD.

האמולטור קורא את הקבצים הבאים מהספרייה של המערכת:

טבלה 1. קובצי ספרייה של המערכת שנקראים על ידי אמולטור Android

קובץ תיאור אפשרות לציין קובץ אחר
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/
  • ‫Windows 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 Manager, אפשר לבחור להשתמש בקובץ כרטיס SD שמנוהל באופן אוטומטי או בקובץ שיצרתם באמצעות הכלי mksdcard. אפשר לראות את sdcard.imgהקובץ שמשויך למכשיר וירטואלי ב-AVD Manager. האפשרות -sdcard מבטלת את קובץ כרטיס ה-SD שצוין ב-AVD. שימו לב: האפשרות הזו של כרטיס SD לא תפעל במחשבי Mac עם Apple Silicon.

אתם יכולים לעיין בקבצים, לשלוח קבצים, להעתיק קבצים ולהסיר קבצים מכרטיס SD מדומה באמצעות ממשק המשתמש של האמולטור או באמצעות כלי השירות adb בזמן שהמכשיר הווירטואלי פועל. אי אפשר להסיר כרטיס 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 כדי לשפר את המהימנות שלו. כדי לראות את הסטטוס של הבעיות שדווחו לגבי אפשרויות שונות בשורת הפקודה ולדווח על באגים, אפשר לעיין ב כלי למעקב אחר בעיות ב-Android.

אפשרויות נפוצות

בטבלה הבאה מפורטות אפשרויות הפעלה בשורת הפקודה שאולי תשתמשו בהן לעיתים קרובות יותר:

טבלה 3. אפשרויות נפוצות של שורת הפקודה

אפשרות של שורת פקודה תיאור
אתחול מהיר
-no-snapshot-load מבצע אתחול קר ושומר את מצב האמולטור ביציאה.
-no-snapshot-save מבצע אתחול מהיר אם אפשר, אבל לא שומר את מצב האמולטור ביציאה.
-no-snapshot משבית את התכונה 'הפעלה מהירה' באופן מלא, ולא טוען או שומר את מצב האמולטור.
חומרת המכשיר
-camera-back mode
-camera-front mode
הגדרת מצב האמולציה למצלמה שפונה קדימה או אחורה. ההגדרה הזו מבטלת כל הגדרה של המצלמה ב-AVD.

הערך mode יכול להיות כל אחת מהאפשרויות הבאות:

  • emulated – האמולטור מדמה מצלמה בתוכנה.
  • webcamn – האמולטור משתמש במצלמת אינטרנט שמחוברת למחשב הפיתוח, ומצוינת באמצעות מספר. כדי לראות רשימה של מצלמות אינטרנט, משתמשים באפשרות -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

מציינת את גודל ה-RAM הפיזי, מ-1,536 עד 8,192MB. לדוגמה:

emulator @Pixel8_API_34 -memory 2048

הערך הזה מבטל את ההגדרה של AVD.

-sdcard filepath מציינת את שם הקובץ ואת הנתיב לקובץ תמונה של מחיצה בכרטיס SD. לדוגמה:

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

אם הקובץ לא נמצא, האמולטור עדיין מופעל, אבל ללא כרטיס SD. הפקודה מחזירה אזהרה No SD Card Image.

אם לא מציינים את האפשרות הזו, ברירת המחדל היא 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 – verbose
  • d - ניפוי באגים
  • i – אינפורמטיבי
  • w – רמת היומן של האזהרה
  • e – שגיאה
  • s – שקט

בדוגמה הבאה מוצגות הודעות של רכיב GSM ברמת היומן informative:

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

אם לא מציינים את האפשרות -logcat בשורת הפקודה, האמולטור מחפש את משתנה הסביבה ANDROID_LOG_TAGS. אם ANDROID_LOG_TAGS מוגדר עם ערך logtags תקין והוא לא ריק, האמולטור משתמש בערך הזה כדי להפעיל כברירת מחדל את הפלט של Logcat בטרמינל. אפשר גם להפנות הודעות יומן זהות או אחרות למסוף באמצעות adb.

מידע נוסף על Logcat ועל adb זמין במאמרים כלי שורת הפקודה Logcat, צפייה ביומנים וכתיבה שלהם באמצעות Logcat, Log class והפעלת פקודות 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 שבהם אתם משתמשים ומגדיר כינויים מיוחדים ברשת חומת האש המדומה כדי לאפשר למערכת Android להתחבר ישירות לשרתים. משתמשים באפשרות -dns-server כדי לציין רשימה אחרת של שרתי DNS.

-http-proxy proxy כל חיבורי ה-TCP מתבצעים דרך שרת proxy ספציפי של HTTP/HTTPS. אם האמולטור צריך לגשת לאינטרנט דרך שרת proxy, אפשר להשתמש באפשרות הזו או במשתנה הסביבה http_proxy כדי להגדיר את ההפניה המתאימה. לדוגמה:

emulator @Pixel8_API_34 -http-proxy myserver:1981

הערך proxy יכול להיות אחד מהבאים:

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

אפשר להשמיט את הקידומת http://.

אם לא מספקים את האפשרות הזו, האמולטור מחפש את משתנה הסביבה http_proxy ומשתמש אוטומטית בכל ערך שתואם לפורמט proxy. מידע נוסף זמין במאמר בנושא שימוש באמולטור עם שרת proxy.

הערה: כשמריצים כמה אמולטורים, צריך להגדיר את הדגל הזה בהפעלה הראשונה.

-netdelay delay

המדיניות הזו מגדירה את האפשרות לדמות השהיה ברשת לאחד מהערכים הבאים של delay באלפיות השנייה:

  • gsm – GSM/CSD (מינימום 150, מקסימום 550).
  • hscsd - HSCSD (min 80, max 400).
  • gprs – GPRS (מינימום 35, מקסימום 200).
  • edge – EDGE/EGPRS (מינימום 80, מקסימום 400).
  • umts – UMTS/3G (מינימום 35, מקסימום 200).
  • hsdpa - HSDPA (min 0, max 0).
  • lte – LTE (מינימום 0, מקסימום 0).
  • evdo – EVDO (מינימום 0, מקסימום 0).
  • none – ללא זמן אחזור, ברירת המחדל (מינימום 0, מקסימום 0).
  • num – מציין את זמן האחזור המדויק.
  • min:max – מציין ערכי חביון מינימליים ומקסימליים ספציפיים.

לדוגמה:

emulator @Pixel8_API_34 -netdelay gsm

האמולטור תומך בהגבלת רוחב פס וגם בערכי השהיה גבוהים יותר בחיבור. אפשר להגדיר אותו דרך הגדרות הסקין או באמצעות האפשרויות ‑netspeed ו--netdelay.

הערה: ההגדרה הזו חלה על Ethernet ועל רשת סלולרית.

-netfast השבתה של הגבלת רוחב פס. לדוגמה:

emulator @Pixel8_API_34 -netfast

האפשרות הזו זהה לציון -netspeed full -netdelay none. אלה ערכי ברירת המחדל של האפשרויות האלה.

הערה: ההגדרה הזו חלה על Ethernet ועל רשת סלולרית.

-netspeed speed

הגדרת הדמיה של מהירות הרשת. מציינים את מהירויות ההעלאה וההורדה המקסימליות ברשת באמצעות אחד מהערכים הבאים speed ביחידות Kbps:

  • 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 (העלאה: 5,760.0, הורדה: 13,980.0).
  • lte – LTE (העלאה: 58,000, הורדה: 173,000).
  • evdo – EVDO (העלאה: 75,000, הורדה: 280,000).
  • full – ללא מגבלה, ברירת המחדל (עלייה: 0.0, ירידה: 0.0).
  • num – מציין את מהירות ההעלאה וההורדה.
  • up:down – מציין מהירויות העלאה והורדה נפרדות.

לדוגמה:

emulator @Pixel8_API_34 -netspeed edge

האמולטור תומך בהגבלת רוחב פס וגם בערכי השהיה גבוהים יותר בחיבור. אפשר להגדיר את זה דרך הגדרות הסקין או באמצעות האפשרויות ‑netspeed ו--netdelay.

הערה: ההגדרה הזו חלה על Ethernet ועל רשת סלולרית.

-netsim-args arguments מעבירה ארגומנטים נוספים לסימולטור הרשת (netsim). ‫arguments היא רשימה של דגלים שמופרדים ברווחים.

לדוגמה, כדי להפעיל לכידת מנות ולהפנות את הרישום ביומן ל-stderr:

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

מידע נוסף זמין במאמר בנושא תכונות מתקדמות של רשתות אמולטורים.

-port port מגדירה את מספר יציאת ה-TCP שמשמשת את המסוף ואת adb. לדוגמה:

emulator @Pixel8_API_34 -port 5556

ערך ברירת המחדל הוא 5554 עבור המופע הראשון של המכשיר הווירטואלי שפועל במחשב. מכשיר וירטואלי תופס בדרך כלל זוג יציאות סמוכות: יציאת קונסולה ויציאת adb. המסוף של המכשיר הווירטואלי הראשון שפועל במכונה מסוימת משתמש ביציאת המסוף 5554 וביציאה adb 5555. במופעים הבאים נעשה שימוש במספרי יציאה שגדלים ב-2. לדוגמה, 5556/5557,‏ 5558/5559 וכן הלאה. הטווח הוא 5554 עד 5682, שמאפשר 64 מכשירים וירטואליים בו-זמנית.

הקצאות הפורטים הן לרוב כמו אלה שמוגדרות ב--ports port,{port + 1}. המספר {port + 1} צריך להיות בחינם והוא משוריין ל-adb. אם אחד מהיציאות של המסוף או של adb כבר נמצא בשימוש, האמולטור לא יופעל.

האפשרות ‑port מדווחת על היציאות והמספר הסידורי שבהם המכשיר הווירטואלי משתמש, ומציגה אזהרה אם יש בעיות בערכים שסיפקתם. בממשק המשתמש של האמולטור, אפשר לראות את מספר יציאת המסוף בכותרת החלון, ולצפות במספר היציאה adb על ידי בחירה באפשרות עזרה > מידע.

שימו לב: אם הערך של port לא זוגי והוא בטווח 5554 עד 5584, המכשיר הווירטואלי יופעל אבל לא יוצג כשמשתמשים בפקודה adb devices, אם adb server מופעל אחרי האמולטור. לכן, מומלץ להשתמש במספר יציאת קונסולה זוגי.

-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

אפשר להשתמש באפשרות הזו כדי להתחיל לתעד את כל חבילות הרשת שנשלחות דרך רשת ה-LAN הווירטואלית של האתרנט של האמולטור. אחרי כן, אפשר להשתמש בכלי כמו Wireshark כדי לנתח את התעבורה.

הערה: האפשרות הזו מתעדת את כל מנות האתרנט ולא מוגבלת לחיבורי TCP.

מערכת
-accel mode הגדרת האצת VM של אמולטור. לדוגמה:

emulator @Pixel8_API_34 -accel auto

האצת האמולציה פועלת רק בתמונות מערכת x86 ו-x86_64. ב-Linux, הוא מסתמך על KVM. ב-Windows וב-Mac, הוא מסתמך על מעבד Intel ועל מנהל התקן Intel HAXM. המערכת מתעלמת מהאפשרות הזו אם לא מתבצעת אמולציה של מכשיר x86 או x86_64.

הערכים התקינים של mode הם:

  • auto – המערכת קובעת אוטומטית אם יש תמיכה בהאצה ומשתמשת בה כשאפשר (ברירת מחדל).
  • off – משבית את ההאצה לחלוטין, וזה שימושי בעיקר לניפוי באגים.
  • on – כופה האצה. אם KVM או HAXM לא מותקנים או לא ניתנים לשימוש, האמולטור לא יופעל ותוצג הודעת שגיאה.

מידע נוסף זמין במאמר בנושא הגדרת שיפור מהירות באמצעות חומרה לאמולטור Android.

-accel-check הפונקציה בודקת אם מותקן היפר-ויז'ר שנדרש להאצת מכונת VM של אמולטור (HAXM או KVM). לדוגמה:

emulator -accel-check

מידע נוסף זמין במאמר בדיקה אם מותקן Hypervisor.

-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 משבית את ההאצה של מכונת ה-VM של האמולטור כשמשתמשים בתמונת מערכת x86 או x86_64. הוא שימושי רק לניפוי באגים, והוא זהה לציון -accel off. לדוגמה:

emulator @Pixel8_API_34 -no-accel

מידע נוסף זמין במאמר בנושא הגדרת שיפור מהירות באמצעות חומרה לאמולטור Android.

-nojni
-no-jni
משבית את הבדיקות המורחבות של Java Native Interface ‏ (JNI) בסביבת זמן הריצה של Android Dalvik או ART. לדוגמה:

emulator @Pixel8_API_34 -nojni

כשמפעילים מכשיר וירטואלי, בדיקות JNI מורחבות מופעלות כברירת מחדל. מידע נוסף זמין במאמר טיפים ל-JNI.

-selinux {disabled|permissive} הגדרת מודול האבטחה SELinux (‏Security-Enhanced Linux) למצב disabled או למצב permissive במערכת הפעלה של Linux. לדוגמה:

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 ועל הקבצים שמאוחסנים בהן זמין בקטע בנושא ספריות וקבצים שמוגדרים כברירת מחדל.

חלק מהאפשרויות האלה מתאימות למפתחי אפליקציות של צד שלישי, וחלק מהן משמשות בעיקר מפתחי פלטפורמות. מפתחי אפליקציות יוצרים אפליקציות ל-Android ומריצים אותן במכשירי AVD ספציפיים. מפתחי פלטפורמות עובדים על מערכת Android ומריצים אותה בתוך האמולטור בלי ליצור מראש מכשיר וירטואלי של Android (AVD).

טבלה 4. אפשרויות מתקדמות של שורת הפקודה

אפשרות מתקדמת תיאור קצר
-bootchart timeout

הגדרה של יצירת תרשים אתחול עם זמן קצוב לתפוגה בשניות. בחלק מתמונות המערכת של Android יש מערכת init שעברה שינוי ומשולבת בה תכונה של bootcharting. באמצעות האפשרות הזו אפשר להעביר למערכת תקופת זמן קצובה ל-bootcharting. אם מערכת ההפעלה לא מפעילה את bootcharting, האפשרות לא עושה כלום. האפשרות הזו שימושית בעיקר למפתחי פלטפורמות, ולא למפתחי אפליקציות של צד שלישי.

לדוגמה:

emulator @Pixel8_API_34 -bootchart 120
-cache filepath

מציינת קובץ תמונה של מחיצת מטמון. המאפיין הזה מספק שם קובץ ונתיב מוחלט או נתיב יחסי לספריית הנתונים כדי להגדיר קובץ מטמון קבוע. אם הקובץ לא קיים, האמולטור יוצר אותו כקובץ ריק.

לדוגמה:

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

אם לא משתמשים באפשרות הזו, ברירת המחדל היא קובץ זמני בשם cache.img. מידע נוסף זמין במאמר בנושא ספריית נתונים של AVD.

-cache-size size

מגדיר את גודל מחיצת המטמון במגה-בייט.

לדוגמה:

emulator @Pixel8_API_34 -cache-size 1000

אם לא מציינים את האפשרות הזו, ברירת המחדל היא 66MB. בדרך כלל, רוב מפתחי האפליקציות לא צריכים את האפשרות הזו, אלא אם הם צריכים להוריד קבצים גדולים מאוד שגדולים יותר ממטמון ברירת המחדל. מידע נוסף על קובץ המטמון זמין במאמר בנושא ספריית הנתונים של 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 ביט. לפעמים האפשרות הזו שימושית לבדיקה או לניפוי באגים. לדוגמה, הייתה בעיה שבה האמולטור לא פעל לפעמים ב-Windows‏ 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

קבלת עזרה לגבי תמונות דיסק שרלוונטיות למפתחי אפליקציות. האפשרות הזו מקבלת מידע על המיקום של קובצי התמונות עבור מכשיר וירטואלי של Android (AVD) שנוצר באמצעות כלי ה-SDK. לדוגמה:

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

קבלת עזרה לגבי תמונות דיסק שרלוונטיות למפתחי פלטפורמות. לדוגמה:

emulator -help-build-images
-initdata filepath
-init-data filepath

מציינת את הגרסה הראשונית של מחיצת הנתונים. אחרי מחיקת נתוני המשתמש, האמולטור מעתיק את התוכן של הקובץ שצוין לנתוני המשתמש (כברירת מחדל, הקובץ userdata-qemu.img) במקום להשתמש בקובץ ברירת המחדל userdata.img כגרסה הראשונית. מציינת את שם הקובץ ואת הנתיב המוחלט או הנתיב שביחס לספריית העבודה.

לדוגמה:

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

אם לא מציינים נתיב, הקובץ ממוקם בספריית המערכת. מידע נוסף זמין במאמר ספריית המערכת של AVD.

-kernel filepath

שימוש בליבת מערכת הפעלה ספציפית שמתבצעת בהדמיה. אם לא מציינים נתיב, האמולטור מחפש בספריית המערכת.

אפשר להשתמש באפשרות ‑show‑kernel כדי להציג הודעות ניפוי באגים של ליבת המערכת.

לדוגמה:

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

אם לא מציינים את האפשרות הזו, ברירת המחדל היא kernel-ranchu. מידע נוסף זמין במאמר ספריית המערכת של AVD.

-noaudio
-no-audio

האפשרות הזו משביתה את התמיכה באודיו במכשיר הווירטואלי הזה. במחשבים מסוימים עם Linux ו-Windows יש מנהלי התקנים פגומים של אודיו שגורמים לתסמינים שונים, כמו מניעת הפעלה של האמולטור. במקרה כזה, כדאי להשתמש באפשרות הזו כדי לפתור את הבעיה. לחלופין, אפשר להשתמש במשתנה הסביבה QEMU_AUDIO_DRV כדי לשנות את קצה העורף של האודיו.

לדוגמה:

emulator @Pixel8_API_34 -noaudio
-nocache
-no-cache

מפעיל את האמולטור ללא חלוקת מטמון. אם לא משתמשים באפשרות הזו, ברירת המחדל היא קובץ זמני בשם cache.img. האפשרות הזו מיועדת למפתחי פלטפורמות בלבד. מידע נוסף זמין במאמר ספריית הנתונים של AVD.

לדוגמה:

emulator @Pixel8_API_34 -nocache
-no-snapshot

מונע את הפעולות האוטומטיות של טעינה ושמירה, וגורם לאמולטור לבצע רצף אתחול מלא ולאבד את המצב שלו כשהוא נסגר. היא מבטלת את האפשרות -snapshot.

לדוגמה:

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

מונעת מהאמולטור לטעון את מצב ה-AVD מאחסון התמונות. מבצע אתחול מלא.

לדוגמה:

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

מונעת מהאמולטור לשמור את מצב ה-AVD באחסון של תמונת המצב ביציאה, כלומר כל השינויים יימחקו.

לדוגמה:

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

לא מנסה לתקן את השעה בשעון של ה-AVD מיד אחרי שחזור תמונת המצב. האפשרות הזו יכולה להיות שימושית במהלך בדיקות, כי היא מונעת קפיצה פתאומית בזמן. עדכוני הזמן עדיין נשלחים ל-AVD כל 15 שניות בערך.

לדוגמה:

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

מגדיר מאפיין של מערכת Android באמולטור כשהוא מופעל. הערך של 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 ואת האמולציה של Android.
-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

יוצר מסוף root shell בטרמינל הנוכחי. האפשרות הזו שונה מהפקודה adb shell בכמה דרכים:

  • היא יוצרת מעטפת root שמאפשרת לשנות חלקים רבים במערכת.
  • היא פועלת גם אם adb daemon במערכת המדומה לא תקין.
  • מקישים על Control+C (או על Command-C ב-macOS) כדי לעצור את האמולטור במקום את המעטפת.

לדוגמה:

emulator @Pixel8_API_34 -shell
-snapshot name

הגדרה של שם צילום מסך בקובץ אחסון של צילומי מסך לפעולות אוטומטיות של התחלה ושמירה.

במקום להפעיל רצף אתחול מלא, האמולטור יכול להמשיך את ההפעלה מתמונת מצב קודמת, מה שבדרך כלל מהיר משמעותית. כשמספקים את האפשרות הזו, האמולטור טוען את התמונה של השם הזה מתמונת ה-Snapshot ושומר אותה בחזרה באותו שם ביציאה.

אם לא משתמשים באפשרות הזו, ברירת המחדל היא רצף אתחול מלא. אם הצילום שצוין לא קיים, האמולטור מבצע במקומו רצף אתחול מלא ומבצע פעולת שמירה.

מידע על ציון קובץ אחסון של תמונת מצב וקובץ ברירת המחדל זמין באפשרות -snapstorage.

emulator @Pixel8_API_34 -snapshot snapshot2

חשוב לזכור שבתהליך הטעינה של תמונת מצב, כל התוכן של המערכת, נתוני המשתמשים ותמונות כרטיס ה-SD נמחקים ומוחלפים בתוכן שהיה בהם בזמן יצירת תמונת המצב. אלא אם תשמרו את המידע הזה בתמונת מצב אחרת, כל השינויים שבוצעו מאז יאבדו.

אפשר גם ליצור תמונת מצב ממסוף האמולטור באמצעות הפקודה avd snapshot save name. מידע נוסף זמין במאמר בנושא שליחת פקודות למסוף של אמולטור.

-snapshot-list

מוצגת רשימה של תמונות המצב הזמינות. הפקודה הזו מדפיסה טבלה של תמונות מצב שמאוחסנות בקובץ האחסון של תמונות המצב שהאמולטור הופעל איתו, ואז יוצאת. אם מציינים גם את -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.

-writable-system

השתמשו באפשרות הזו כדי לקבל קובץ אימג' של המערכת שניתן לכתוב בו במהלך סשן האמולציה. לשם כך:

  1. מפעילים מכשיר וירטואלי באמצעות האפשרות -writable-system.
  2. מזינים את הפקודה adb remount ממסוף פקודות כדי להורות לאמולטור לטעון מחדש את system/ במצב קריאה/כתיבה. כברירת מחדל, הוא נטען לקריאה בלבד.

השימוש בדגל הזה יוצר עותק זמני של קובץ אימג' של המערכת, שיכול להיות גדול מאוד (עד כמה מאות MB), אבל הוא יימחק כשהאמולטור ייצא.

אפשרויות שהוצאו משימוש

האפשרויות הבאות בשורת הפקודה הוצאו משימוש:

  • -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 ב-Linux.

הצגת רשימה של תגי ניפוי באגים

כדי להדפיס רשימה של תגים לאפשרויות של -debug, מזינים את הפקודה הבאה:

emulator -help-debug-tags

האפשרויות -debug מאפשרות להפעיל או להשבית הודעות ניפוי באגים מרכיבי אמולטור ספציפיים, כפי שמצוין בתגים.