ערכת Android SDK כוללת אמולטור של מכשיר Android – מכשיר וירטואלי שפועל במחשב. בעזרת אמולטור Android אפשר לפתח ולבדוק אפליקציות ל-Android בלי להשתמש במכשיר פיזי.
בדף הזה מתוארים מאפיינים של שורת הפקודה שאפשר להשתמש בהם עם אמולטור Android. במאמר הפעלת אפליקציות באמולטור Android מוסבר איך משתמשים בממשק המשתמש של אמולטור Android.
Android CLI
הורדת Android CLIשימוש ב-Android CLI לניהול אמולטור Android
emulator יצא משימוש.
במקום זאת, משתמשים בפקודה android emulator של Android CLI כדי לנהל את אמולטור Android משורת הפקודה.android emulator [create <profile-name>|start <device-name>|stop <device-serial-number>|list]הפעלת האמולטור
אפשר להשתמש בפקודה 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 300
שימו לב שהארגומנטים -qt-hide-window -grpc-use-token -idle-grpc-timeout 300 משמשים רק להפעלת חלון האמולטור ב-Android Studio. אם רוצים להריץ את האמולטור בחלון נפרד, לא צריך להשתמש בפרמטרים הנוספים האלה.
אפשר לציין אפשרויות הפעלה כשמפעילים את האמולטור, אבל לא אחרי שהוא כבר פועל.
כדי לראות רשימה של שמות AVD, מזינים את הפקודה הבאה:
emulator -list-avds
אפשר להשתמש באפשרות הזו כדי להציג רשימה של שמות AVD מתיקיית הבית של Android.
כדי לשנות את ספריית הבית שמוגדרת כברירת מחדל, צריך להגדיר את משתנה הסביבה ANDROID_SDK_HOME שמציין את הבסיס של הספרייה הספציפית למשתמש שבה מאוחסנים כל ההגדרות והתוכן של ה-AVD.
אפשר להגדיר את משתנה הסביבה בחלון הטרמינל לפני שמפעילים מכשיר וירטואלי, או דרך הגדרות המשתמש במערכת ההפעלה. לדוגמה, בקובץ .bashrc ב-Linux.
כדי להפסיק את אמולטור Android, סוגרים את חלון האמולטור.
התקנת אפליקציה
בנוסף להתקנת אפליקציה דרך 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 נמצא בפיתוח מתמיד כדי להפוך אותו לאמין יותר. כדי לראות את הסטטוס של הבעיות שדווחו לגבי אפשרויות שונות בשורת הפקודה ולדווח על באגים, אפשר לעיין ב כלי למעקב אחר בעיות ב-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,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 (אין תמונה בכרטיס 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
|
הפעלת סוג מסוים של הודעת ניפוי באגים. משתמשים בטופס 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 שצוינו. emulator @Pixel8_API_34 -dns-server 192.0.2.0, כברירת מחדל, האמולטור מנסה לזהות את שרתי ה-DNS שבהם אתם משתמשים ומגדיר כינויים מיוחדים ברשת חומת האש המדומה כדי לאפשר למערכת Android להתחבר ישירות לשרתים. משתמשים באפשרות |
-http-proxy proxy
|
כל חיבורי ה-TCP מתבצעים דרך שרת proxy ספציפי של HTTP/HTTPS. אם האמולטור צריך לגשת לאינטרנט דרך שרת proxy, אפשר להשתמש באפשרות הזו או במשתנה הסביבה emulator @Pixel8_API_34 -http-proxy myserver:1981 הערך
אפשר להשמיט את הקידומת אם לא מספקים את האפשרות הזו, האמולטור מחפש את משתנה הסביבה הערה: כשמריצים כמה אמולטורים, צריך להגדיר את הדגל הזה בהפעלה הראשונה. |
-netdelay delay
|
ההגדרה הזו קובעת את ערך ההשהיה ברשת באחד מהערכים הבאים
לדוגמה: emulator @Pixel8_API_34 -netdelay gsm האמולטור תומך בהגבלת רוחב פס וגם בערכי השהיה גבוהים יותר בחיבור.
אפשר להגדיר את זה דרך הגדרות הסקין או באמצעות האפשרויות הערה: ההגדרה הזו רלוונטית לחיבורי Ethernet ולחיבורים סלולריים. |
-netfast
|
השבתה של הגבלת רוחב פס. לדוגמה: emulator @Pixel8_API_34 -netfast האפשרות הזו זהה לציון הערה: ההגדרה הזו רלוונטית לחיבורי Ethernet ולחיבורים סלולריים. |
-netspeed speed
|
הגדרת הדמיה של מהירות הרשת. מציינים את מהירויות ההעלאה וההורדה המקסימליות ברשת באמצעות אחד מהערכים הבאים
לדוגמה: emulator @Pixel8_API_34 -netspeed edge האמולטור תומך בהגבלת רוחב פס וגם בערכי השהיה גבוהים יותר בחיבור.
אפשר להגדיר את זה דרך הגדרות הסקין או באמצעות האפשרויות הערה: ההגדרה הזו רלוונטית לחיבורי Ethernet ולחיבורים סלולריים. |
-netsim-args arguments
|
מעבירה ארגומנטים נוספים לסימולטור הרשת ( לדוגמה, כדי להפעיל את לכידת המנות ולהפנות את הרישום ביומן ל-stderr: emulator @Pixel8_API_34 -netsim-args="--pcap --logtostderr" מידע נוסף זמין במאמר בנושא תכונות מתקדמות של רשתות אמולטורים. |
-port port
|
מגדירה את מספר יציאת ה-TCP שמשמשת את המסוף ואת emulator @Pixel8_API_34 -port 5556 ערך ברירת המחדל הוא 5554 עבור המופע הראשון של המכשיר הווירטואלי שפועל במחשב. מכשיר וירטואלי תופס בדרך כלל זוג יציאות סמוכות: יציאת קונסולה ויציאת הקצאות הפורטים זהות בדרך כלל להקצאות שמתקבלות כשמציינים האפשרות שימו לב: אם הערך של |
-ports
|
מגדירה את יציאות ה-TCP שמשמשות את המסוף ואת 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. |
-accel-check
|
הפונקציה בודקת אם מותקן Hypervisor שנדרש להאצת מכונת 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. הוא שימושי רק לניפוי באגים, והוא זהה לציון 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 (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 ומריצים אותה בתוך האמולטור בלי ליצור מראש מכשיר וירטואלי של 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-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-bit, אבל כן פעל ב-32-bit. האפשרות הזו הייתה שימושית להשוואות כדי לנפות באגים בבעיה. לדוגמה: 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
|
משתמשים בליבת אמולציה ספציפית. אם לא מציינים נתיב, האמולטור מחפש בספריית המערכת. משתמשים באפשרות
לדוגמה: 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
|
יוצרת קונסולת root 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 אם לא מציינים את האפשרות הזו, ברירת המחדל היא |
-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
|
אפשר להשתמש באפשרות הזו כדי שתהיה תמונת מערכת שניתן לכתוב עליה במהלך סשן האמולציה. לשם כך:
השימוש בדגל הזה יוצר עותק זמני של קובץ אימג' של המערכת, שיכול להיות גדול מאוד (עד כמה מאות 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 מאפשרות להפעיל או להשבית הודעות ניפוי באגים מרכיבי אמולטור ספציפיים, כפי שמצוין בתגים.