ערכת Android SDK כוללת אמולטור של מכשיר Android – מכשיר וירטואלי שפועל במחשב. האמולטור של Android מאפשר לכם לפתח ולבדוק אפליקציות ל-Android בלי להשתמש במכשיר פיזי.
בדף הזה מתוארות תכונות של שורת הפקודה שאפשר להשתמש בהן עם Android Emulator. במאמר הפעלת אפליקציות באמולטור של 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 Emulator, סוגרים את חלון האמולטור.
התקנת אפליקציה
בנוסף להתקנת אפליקציה דרך Android Studio או ממשק המשתמש של האמולטור, אפשר להתקין את האפליקציה במכשיר וירטואלי באמצעות כלי השירות adb.
כדי להשתמש ב-adb כדי להתקין, להפעיל ולבדוק את האפליקציה, פועלים לפי השלבים הכלליים הבאים:
- יוצרים את האפליקציה ואורזים אותה ב-APK, כמו שמתואר במאמר יצירה והרצה של האפליקציה.
- מפעילים את האמולטור משורת הפקודה, כמו שמתואר בקטע הקודם, באמצעות אפשרויות ההפעלה הנדרשות.
- מתקינים את האפליקציה באמצעות
adb. - מריצים את האפליקציה באמולטור ובודקים אותה.
בזמן שהאמולטור פועל, אפשר להשתמש במסוף האמולטור כדי להנפיק פקודות לפי הצורך.
כדי להסיר אפליקציה, פועלים כמו במכשיר 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 Emulator
| קובץ | תיאור | אפשרות לציין קובץ אחר |
|---|---|---|
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
|
cache.img
|
תמונת המחיצה של הזיכרון הזמני (cache), שמופיעה כ-cache/ במערכת המדומה. הוא ריק כשיוצרים AVD חדש או כשמשתמשים באפשרות -wipe-data. היא מכילה קבצים זמניים להורדה, ומנהל ההורדות או המערכת מאכלסים אותה. לדוגמה, הדפדפן משתמש בו כדי לשמור במטמון דפי אינטרנט ותמונות שהורדו בזמן שהאמולטור פועל. הקובץ נמחק כשמכבים את המכשיר הווירטואלי. אפשר לשמור את הקובץ באמצעות האפשרות -cache.
|
-cache
|
sdcard.img
|
(אופציונלי) תמונה של מחיצת כרטיס SD שמאפשרת לדמות כרטיס SD במכשיר וירטואלי. אפשר ליצור קובץ תמונה של כרטיס SD בAVD
Manager או באמצעות הכלי
כשמגדירים AVD בכלי AVD Manager, אפשר לבחור להשתמש בקובץ כרטיס SD שמנוהל באופן אוטומטי או בקובץ שיצרתם באמצעות הכלי
אתם יכולים לעיין בקבצים, לשלוח קבצים, להעתיק קבצים ולהסיר קבצים מכרטיס SD מדומה באמצעות ממשק המשתמש של האמולטור או כלי השירות
כדי להעתיק קבצים לקובץ כרטיס ה-SD לפני הטעינה שלו, צריך לטעון את קובץ התמונה כמכשיר לולאה ואז להעתיק את הקבצים. אפשר גם להשתמש בכלי עזר, כמו חבילת האמולטור מתייחס לקובץ כמאגר של בייטים, ולכן פורמט כרטיס ה-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.
אפשרויות הפעלה משורת הפקודה
בקטע הזה מפורטות האפשרויות שאפשר לציין בשורת הפקודה כשמפעילים את האמולטור.
הערה: אנחנו ממשיכים לפתח את Android Emulator כדי לשפר את המהימנות שלו. כדי לראות את הסטטוס של הבעיות שדווחו לגבי אפשרויות שונות של שורת הפקודה, וכדי לדווח על באגים, אפשר לעיין ב כלי למעקב אחר בעיות ב-Android.
אפשרויות נפוצות
בטבלה הבאה מפורטות אפשרויות ההפעלה בשורת הפקודה שבהן אתם עשויים להשתמש לעיתים קרובות יותר:
טבלה 3. אפשרויות נפוצות של שורת הפקודה
| אפשרות של שורת פקודה | תיאור |
|---|---|
| אתחול מהיר | |
-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'בדוגמה, החל מגרסה 25.2.4 של SDK Tools, חובה לציין את שם ה-AVD. |
| קובצי אימג' וזיכרון | |
-memory size
|
מציין את גודל ה-RAM הפיזי, מ-1,536 עד 8,192 מגה-בייט. לדוגמה: emulator @Pixel8_API_34 -memory 2048 הערך הזה מבטל את ההגדרה של AVD. |
-sdcard filepath
|
מציינת את שם הקובץ ואת הנתיב לקובץ תמונה של מחיצה בכרטיס SD. לדוגמה:
emulator @Pixel8_API_34 -sdcard C:/sd/sdcard.img אם הקובץ לא נמצא, האמולטור עדיין יופעל, אבל ללא כרטיס SD. הפקודה מחזירה אזהרה No SD Card Image.
אם לא מציינים את האפשרות הזו, ברירת המחדל היא |
-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 ברמת היומן informative:
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 שבהם אתם משתמשים ומגדיר כינויים מיוחדים ברשת חומת האש המדומה כדי לאפשר למערכת Android להתחבר ישירות לשרתים. משתמשים באפשרות |
-http-proxy proxy
|
כל חיבורי ה-TCP מתבצעים דרך שרת proxy ספציפי של HTTP/HTTPS. אם האמולטור צריך לגשת לאינטרנט דרך שרת proxy, אפשר להשתמש באפשרות הזו או במשתנה הסביבה 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
האמולטור תומך בהגבלת רוחב פס וגם בהשהיות חיבור גבוהות יותר.
אפשר להגדיר את זה דרך הגדרות הסקין או באמצעות האפשרויות |
-port port
|
מגדירה את מספר יציאת ה-TCP שמשמשת את המסוף ואת adb. לדוגמה:
emulator @Pixel8_API_34 -port 5556
ערך ברירת המחדל הוא 5554 עבור המופע הראשון של המכשיר הווירטואלי שפועל במחשב. מכשיר וירטואלי תופס בדרך כלל זוג יציאות סמוכות: יציאת קונסולה ויציאת
הקצאות הפורטים הן לרוב זהות להקצאות שמתקבלות כשמציינים האפשרות
שימו לב: אם הערך של |
-ports
|
מגדירה את יציאות ה-TCP שמשמשות את המסוף ואת adb. לדוגמה:
emulator @Pixel8_API_34 -ports 5556,5559
טווח היציאות התקף הוא 5554 עד 5682, שמאפשר 64 מכשירים וירטואליים בו-זמנית. באפשרות
במקום זאת, מומלץ להשתמש באפשרות
מידע נוסף על הגדרת יציאות של מסוף ו- |
-tcpdump filepath
|
מבצעת לכידה של חבילות נתונים ברשת ומאחסנת אותן בקובץ. לדוגמה:
emulator @Pixel8_API_34 -tcpdump /path/dumpfile.cap אפשר להשתמש באפשרות הזו כדי להתחיל לתעד את כל חבילות הרשת שנשלחות דרך רשת ה-LAN הווירטואלית של האתרנט של האמולטור. אחרי כן, אפשר להשתמש בכלי כמו Wireshark כדי לנתח את התעבורה. הערה: האפשרות הזו מתעדת את כל מנות הנתונים של Ethernet, והיא לא מוגבלת לחיבורי TCP. |
| מערכת | |
-accel mode
|
הגדרה של האצת VM של אמולטור. לדוגמה:
emulator @Pixel8_API_34 -accel auto האצת האמולציה פועלת רק בתמונות מערכת x86 ו-x86_64. ב-Linux, הוא מסתמך על KVM. ב-Windows וב-Mac, הוא מסתמך על מעבד Intel ועל מנהל ההתקן Intel HAXM. המערכת מתעלמת מהאפשרות הזו אם לא מתבצעת אמולציה של מכשיר x86 או x86_64.
הערכים התקינים של
מידע נוסף זמין במאמר בנושא הגדרת האצת חומרה עבור Android Emulator. |
-accel-check
|
הפונקציה בודקת אם מותקן היפר-ויז'ר שנדרש להאצת מכונת VM של אמולטור (HAXM או KVM). לדוגמה:
emulator -accel-check מידע נוסף זמין במאמר בדיקה אם מותקן Hypervisor. |
-engine engine
|
מציינת את מנוע האמולטור:
לדוגמה:
emulator @Pixel8_API_34 -engine auto
הזיהוי האוטומטי אמור לבחור את הערך שמספק את הביצועים הכי טובים כשמדמים AVD מסוים. אפשר להשתמש באפשרות |
-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 Emulator. |
-nojni
-no-jni
|
משבית את הבדיקות המורחבות של Java Native Interface (JNI) בסביבת זמן הריצה של Android Dalvik
או ART. לדוגמה:
emulator @Pixel8_API_34 -nojni כשמפעילים מכשיר וירטואלי, בדיקות JNI מורחבות מופעלות כברירת מחדל. מידע נוסף זמין במאמר JNI tips. |
-selinux {disabled|permissive}
|
מגדיר את מודול האבטחה Security-Enhanced Linux (SELinux) במצב disabled או permissive במערכת הפעלה של Linux. לדוגמה:
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 |
| UI | |
-no-boot-anim
|
משבית את אנימציית ההפעלה במהלך הפעלת האמולטור, כדי לקצר את זמן ההפעלה.
לדוגמה:
emulator @Pixel8_API_34 -no-boot-anim במחשבים איטיים יותר, האפשרות הזו יכולה להאיץ משמעותית את רצף האתחול. |
-screen mode
|
הגדרה של מצב מסך מגע מדומה. לדוגמה:
emulator @Pixel8_API_34 -screen no-touch
הערך
|
אפשרויות מתקדמות
אפשרויות ההפעלה משורת הפקודה שמפורטות בטבלה הבאה זמינות, אבל מפתחי אפליקציות רגילים לא משתמשים בהן בדרך כלל.
בתיאורים, ספריית העבודה היא הספרייה הנוכחית בטרמינל שבו מזינים פקודות. מידע על ספריית המערכת וספריית הנתונים של ה-AVD ועל הקבצים שמאוחסנים בהן מופיע בקטע בנושא ספריות וקבצים שמוגדרים כברירת מחדל.
חלק מהאפשרויות האלה מתאימות למפתחי אפליקציות חיצוניים, וחלק מהן משמשות בעיקר מפתחי פלטפורמות. מפתחי אפליקציות יוצרים אפליקציות ל-Android ומריצים אותן במכשירי AVD ספציפיים. מפתחי פלטפורמות עובדים על מערכת Android ומריצים אותה בתוך האמולטור בלי ליצור מראש AVD.
טבלה 4. אפשרויות מתקדמות של שורת הפקודה
| אפשרות מתקדמת | תיאור קצר |
|---|---|
-bootchart timeout
|
הפעלה של bootcharting עם זמן קצוב לתפוגה בשניות. חלק מתמונות המערכת של Android כוללות מערכת init שעברה שינוי ומשלבת מתקן לתרשים אתחול. באמצעות האפשרות הזו אפשר להעביר למערכת תקופת זמן קצובה ל-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-size size
|
מגדיר את גודל מחיצת המטמון במגה-בייט. לדוגמה: emulator @Pixel8_API_34 -cache-size 1000 אם לא מציינים את האפשרות הזו, ברירת המחדל היא 66MB. בדרך כלל, רוב מפתחי האפליקציות לא צריכים את האפשרות הזו, אלא אם הם צריכים להוריד קבצים גדולים מאוד שגדולים יותר מהמטמון שמוגדר כברירת מחדל. מידע נוסף על קובץ המטמון זמין במאמר בנושא ספריית הנתונים של 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
|
משתמש באמולטור 32 ביט בפלטפורמות 64 ביט. לפעמים האפשרות הזו שימושית לבדיקה או לניפוי באגים. לדוגמה, הייתה בעיה שבה האמולטור לא פעל לפעמים ב-Windows 64 ביט, אבל כן פעל ב-32 ביט. האפשרות הזו הייתה שימושית להשוואות כדי לנפות באגים בבעיה. לדוגמה: emulator @Pixel8_API_34 -force-32bit |
-help-disk-images
|
קבלת עזרה לגבי תמונות דיסק. האפשרות הזו מספקת מידע שרלוונטי למפתחי אפליקציות ולמפתחי פלטפורמות. לדוגמה: emulator -help-disk-images |
-help-char-devices
|
קבלת עזרה לגבי המפרטים של התו 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
|
מציינת את הגרסה הראשונית של מחיצת הנתונים. אחרי מחיקת נתוני המשתמש, האמולטור מעתיק את התוכן של הקובץ שצוין לנתוני המשתמש (כברירת מחדל, הקובץ לדוגמה: 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
|
האפשרות הזו משביתה את התמיכה באודיו במכשיר הווירטואלי הזה. במחשבים מסוימים עם Linux ו-Windows יש מנהלי התקנים פגומים של אודיו שגורמים לתסמינים שונים, כמו מניעת ההפעלה של האמולטור. במקרה כזה, כדאי להשתמש באפשרות הזו כדי לפתור את הבעיה. לחלופין, אפשר להשתמש במשתנה הסביבה לדוגמה: 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 כל 15 שניות בערך. לדוגמה: 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
|
מגדיר מאפיין של מערכת Android באמולטור כשהוא מופעל.
הערך של emulator @Pixel8_API_34 -prop qemu.name=value -prop qemu.abc=xyz |
-qemu args
|
העברת ארגומנטים לתוכנת האמולטור QEMU. אם משתמשים באפשרות הזו, חשוב לוודא שהיא האפשרות האחרונה שצוינה, כי כל האפשרויות שאחריה יפורשו כאפשרויות ספציפיות ל-QEMU. זו אפשרות מתקדמת למדי, ורק מפתחים שמכירים מאוד את QEMU ואת האמולציה של Android צריכים להשתמש בה. |
-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
|
יוצר מסוף shell של root בטרמינל הנוכחי. האפשרות הזו שונה מהפקודה
לדוגמה: emulator @Pixel8_API_34 -shell |
-snapshot name
|
מציינת את השם של צילום מסך בקובץ אחסון של צילומי מסך לפעולות אוטומטיות של התחלה ושמירה. במקום להפעיל רצף אתחול מלא, האמולטור יכול להמשיך את ההפעלה מתמונת מצב קודמת, שבדרך כלל מהירה משמעותית. כשמספקים את האפשרות הזו, האמולטור טוען את תמונת המצב עם השם הזה מקובץ תמונת המצב ושומר אותה בחזרה עם אותו שם ביציאה. אם לא משתמשים באפשרות הזו, ברירת המחדל היא רצף אתחול מלא. אם הצילום שצוין לא קיים, האמולטור מבצע במקומו רצף אתחול מלא ומבצע פעולת שמירה. מידע על ציון קובץ אחסון של תמונת מצב וקובץ ברירת המחדל זמין באפשרות 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 אם לא מציינים את האפשרות הזו, ברירת המחדל היא |
-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 אם לא משתמשים באפשרות הזו, ברירת המחדל היא הקובץ |
-writable-system
|
משתמשים באפשרות הזו כדי לקבל תמונת מערכת שניתן לכתוב בה במהלך סשן האמולציה. לשם כך:
השימוש בדגל הזה יוצר עותק זמני של תמונת המערכת שיכול להיות גדול מאוד, עד כמה מאות מגה-בייט, אבל הוא יימחק כשהאמולטור ייצא. |
אפשרויות שהוצאו משימוש
האפשרויות הבאות בשורת הפקודה הוצאו משימוש:
-audio-in-audio-out-charmap-code-profile-cpu-delay-dpi-device-dynamic_skin-enable-kvm-gps-image-keyset-help-keys-help-keyset-file-nand-limits-noskin-no-skin-onion-onion-alpha-onion-rotation-radio-ranchu-raw-keys-scale-shared-net-id-shell-serial-skin-skindir-trace-useaudio
עזרה לגבי אפשרויות של שורת פקודה
בקטע הזה מוסבר איך לקבל עזרה לגבי האפשרויות של שורת הפקודה. הוא מספק מידע מעמיק יותר על האפשרויות הנפוצות בשורת הפקודה של האמולטור, שזמינות כשמפעילים את האמולטור.
הצגת כל האפשרויות של האמולטור
כדי להדפיס רשימה של כל האפשרויות של האמולטור, כולל תיאור קצר, מזינים את הפקודה הבאה:
emulator -help
קבלת עזרה מפורטת לגבי אפשרות ספציפית
כדי להדפיס עזרה לאפשרות הפעלה ספציפית, מזינים את הפקודה הבאה:
emulator -help-option
לדוגמה:
emulator -help-netspeed
ההסבר הזה מפורט יותר מהתיאור שמופיע באפשרות -help.
קבלת עזרה מפורטת לגבי כל האפשרויות
כדי לקבל עזרה מפורטת לגבי כל האפשרויות של האמולטור, מזינים את הפקודה הבאה:
emulator -help-all
הצגת משתני סביבה של אמולטור
כדי לקבל רשימה של משתני סביבה של אמולטור, מזינים את הפקודה הבאה:
emulator -help-environment
אפשר להגדיר משתני סביבה בחלון המסוף לפני שמפעילים מכשיר וירטואלי, או להגדיר אותם דרך הגדרות המשתמש במערכת ההפעלה. לדוגמה, אפשר להגדיר אותו בקובץ .bashrc ב-Linux.
הצגת רשימה של תגי ניפוי באגים
כדי להדפיס רשימה של תגים לאפשרויות של -debug, מזינים את הפקודה הבאה:
emulator -help-debug-tags
האפשרויות -debug מאפשרות להפעיל או להשבית הודעות ניפוי באגים מרכיבי אמולטור ספציפיים, כפי שמצוין בתגים.