בדף הזה מפורטות בעיות מוכרות ב-Android Emulator, פתרונות אפשריים וטיפים לפתרון בעיות. אם נתקלתם בבעיה שלא מופיעה כאן או שלא הצלחתם להשתמש בפתרון עקיף שמופיע כאן, אתם יכולים לדווח על באג.
סוגיות כלליות
מפות Google לא מוצגות באמצעי הבקרה המורחבים של Android Emulator
החל מאמצע מאי, לגרסאות של Android Emulator שקודמות לגרסה 34.2.13 לא תהיה יותר מפות Google פונקציונלית באמצעי הבקרה המורחבים. אמולטורים ישנים יותר נשלחים עם גרסה של Chromium שלא תואמת לממשק API של JavaScript במפות Google.
בדיקה אם יש מספיק מקום בדיסק
כדי למנוע קריסות והשהיות בגלל חוסר מקום פנוי בדיסק, האמולטור בודק אם יש מספיק מקום פנוי בדיסק בזמן ההפעלה, ולא מופעל אם אין לפחות 5GB פנויים. אם האמולטור לא מופעל, בודקים אם יש מספיק מקום פנוי בדיסק.
תוכנות אנטי-וירוס
הרבה חבילות של תוכנות אבטחה ואנטי-וירוס פועלות על ידי מעקב אחרי כל פעולת קריאה וכתיבה, ולכן השימוש בתוכנות כאלה עלול להפחית את הביצועים של כלים כמו Android Emulator.
חבילות רבות של תוכנות אנטי-וירוס מאפשרות להוסיף אפליקציות ספציפיות לרשימה של אפליקציות מהימנות, וכך האפליקציות שמופיעות ברשימה יכולות לפעול בלי לפגוע בביצועים. אם אתם נתקלים בביצועים ירודים בשמירה או בטעינה של תמונות מצב של AVD, יכול להיות שתוכלו לשפר את הביצועים האלה על ידי הוספת אפליקציית Android Emulator כאפליקציה מהימנה בתוכנת האנטי-וירוס שלכם.
ההשפעה על הביצועים משתנה בין חבילות שונות של תוכנות אנטי-וירוס. אם מותקנת אצלכם תוכנת אנטי-וירוס נוספת מעבר למה שכלול במערכת ההפעלה, אתם יכולים להריץ בדיקות פשוטות כדי לקבוע לאיזו תוכנת אנטי-וירוס יש השפעה גדולה יותר על הביצועים של פעולות הטעינה והשמירה של האמולטור.
יכול להיות שתוכנות אנטי-וירוס מסוימות לא יהיו תואמות לאמולטור של Android.
אם אתם משתמשים בתוכנת Avast ונתקלים בבעיות בהפעלת האמולטור של Android, אתם צריכים להשבית את ההגדרות Use nested virtualization when available (שימוש בווירטואליזציה מקוננת כשהיא זמינה) ו-Enable Hardware assisted virtualization (הפעלת וירטואליזציה בעזרת חומרה) בהגדרות Troubleshooting (פתרון בעיות) של Avast. בנוסף, אחרי השבתת Avast hardware virtualization, צריך לוודא ש-HAXM מוגדר שוב בצורה תקינה על ידי התקנה מלאה מחדש של הגרסה העדכנית של HAXM מ-SDK Manager.
ב-Windows, לפעמים ה-AVD קופא עם HAXM, ואפשר לפתור את הבעיה על ידי הסרת McAfee לחלוטין.
Windows: זיכרון RAM פנוי וחיוב על הקצאת זיכרון
כשהאמולטור מתחיל, הוא צריך לאתחל את ה-RAM של מערכת ההפעלה האורחת של Android. ב-Windows, האמולטור מבקש שחשבון Windows יקצה את הגודל המלא של זיכרון האורח בזמן ההפעלה, למרות שבמהלך הפעולה בפועל, יכול להיות שהזיכרון יועבר לדף לפי דרישה. האמולטור מבקש את כל כמות הזיכרון של האורח בזמן ההתחלה, כי מערכת Windows שמרנית ומוודאת שיש מספיק זיכרון RAM פיזי וקובץ החלפה כדי להכיל את כל קבוצת העבודה הפוטנציאלית. הבקשה הזו מתכוננת לתרחיש הגרוע ביותר, שבו כל הזיכרון של האורח נגיש במהירות בלי אפשרות להשליך או לפנות זיכרון.
לפעמים, כשהאמולטור מבקש מ-Windows להקצות את גודל הזיכרון המלא של המכונה האורחת, הבקשה חורגת ממגבלת ההקצאה הנוכחית, שהיא סך הזיכרון הפיזי הזמין וקובץ ההחלפה. במקרה כזה, מערכת Windows לא יכולה להבטיח שקבוצת העבודה במקרה הגרוע ביותר תתאים לזיכרון ה-RAM הפיזי או לקובץ ההחלפה, והאמולטור לא יופעל.
במקרים רגילים, כמות המקום בכונן הקשיח שהוקצה לקובץ ההחלפה בתוספת זיכרון ה-RAM הפיזי מספיקה לרוב תרחישי השימוש באמולטור. עם זאת, אם נתקלתם בבעיות בהפעלת האמולטור בגלל חריגה ממגבלת ההתחייבות, מומלץ לבדוק את עלות ההתחייבות הנוכחית בכרטיסייה ביצועים במנהל המשימות של Windows. כדי לפתוח את מנהל המשימות, מקישים על Ctrl+Shift+Esc.
כדי להקטין את הסיכוי לחרוג ממגבלת השליחות, אפשר לנסות את הדרכים הבאות:
- לפני שמפעילים את האמולטור, צריך לפנות זיכרון RAM פיזי על ידי סגירת אפליקציות וקבצים שלא בשימוש.
- משביתים כלי עזר לניהול זיכרון ולדחיסת זיכרון של צד שלישי. הכלים האלה עלולים לגרום לחיוב עודף על הקצאת זיכרון, ולהביא את המערכת קרוב יותר למגבלת ההקצאה.
משתמשים בגודל שמנוהל על ידי המערכת עבור קובץ ההחלפה של Windows, שמאפשר להגדיל את הגודל של קובץ ההחלפה בצורה גמישה ודינמית יותר, וכך גם את מגבלת השמירה, בתגובה לביקוש מוגבר מהאמולטור ומאפליקציות אחרות.
מידע נוסף על חיובים על התחייבות ועל הסיבות לכך שהגדרה גמישה היא האפשרות הטובה ביותר זמין במאמר הזה של מיקרוסופט.
ריבוי מגע לא פועל בחלון כלי
תנועות מגע מרובות, כולל הזזה עם שתי אצבעות, לא פועלות כשהאמולטור פועל בחלון כלי. כדי להפעיל מולטי-טאץ', מפעילים את האמולטור בחלון נפרד.
האמולטור פוגע בפלט האודיו של Bluetooth
אם אתם משתמשים באוזניות Bluetooth, יכול להיות שתבחינו שפלט האודיו של אוזניות ה-Bluetooth יורד כשמפעילים את האמולטור (בעיה 183139207). זה קורה כי כשהאמולטור מופעל, המיקרופון של האוזניות מופעל, מה שגורם לאוזניות לעבור למצב דופלקס עם איכות מופחתת.
כדי להימנע מהבעיה הזו, משביתים את המיקרופון באמולטור על ידי הוספת hw.audioInput=no
לקובץ config.ini
של מכשיר Android וירטואלי (AVD).
כדי למצוא קובץ config.ini
של AVD, עוברים אל ה-AVD במנהל המכשירים, לוחצים על תפריט האפשרויות הנוספות שלו ובוחרים באפשרות הצגה בדיסק.
השקת מכשירים וירטואליים של Android נכשלת ב-ChromeOS
ב-ChromeOS, יכול להיות שההפעלה של מכשירים וירטואליים של Android (AVD) תיכשל כי חסר רכיב התלות libnss3
. כדי להפעיל את מכשירי ה-AVD בהצלחה, מריצים את הפקודה sudo apt install libnss3
כדי להתקין ידנית את הספרייה libnss3
.
אזהרות לגבי חיישן הטיית פרק כף היד ב-Wear OS
ב-Wear OS, יכול להיות שהאמולטור ירשום שוב ושוב את ההודעה הבאה לגבי חיישן הטיית פרק כף היד:
the host has not provided value yet for sensorHandle=16
מפתחים יכולים להתעלם מהאזהרות האלה.
חלון האמולטור המוטמע קטן מדי
במחשבים עם רזולוציה נמוכה יותר, כמו 1024x768, יכול להיות שיהיה קשה לקרוא את המסך של האמולטור כשהוא פועל בחלון כלי ב-Android Studio. כדי להגדיל את נפח האחסון של האמולטור, סוגרים את חלון הכלים Device Manager אם הוא פתוח. אפשר גם להוציא את חלון האמולטור מ-Android Studio. כדי לעשות את זה, בחלון האמולטור לוחצים על הגדרות > מצב תצוגה ובוחרים באפשרות חלון במקום הצמדה לרציף.
בעיות בגרפיקה
אמולטור Android פועל לאט אחרי עדכון
יש מספר גורמים חיצוניים שיכולים לגרום לאמולטור של Android להתחיל לפעול לאט אחרי עדכון. כדי להתחיל בפתרון הבעיות, מומלץ לבצע את השלבים הבאים:
- אם יש לכם כרטיס גרפי של Intel (ובמיוחד Intel HD 4000), חשוב לוודא שהורדתם והתקנתם את מנהל ההתקן הגרפי העדכני של Intel.
- אם במחשב שלכם יש גם GPU של Intel וגם GPU נפרד, צריך להשבית את ה-GPU של Intel במנהל ההתקנים כדי לוודא שאתם משתמשים ב-GPU הנפרד.
- מריצים את האמולטור באמצעות מצב
-gpu swiftshader
. מידע נוסף על הגדרת אפשרויות להאצת גרפיקה בשורת הפקודה זמין במאמר הגדרת האצת חומרה. - אם אין לכם חיבור IPv6, ודאו שהנתב לא משתמש בכתובות IPv6.
אם הבעיות בביצועים של Android Emulator נמשכות, אפשר לדווח על באג ולכלול את הפרטים הנדרשים של Android Emulator כדי שנוכל לבדוק את הבעיה.
שגיאה: לא ניתן למצוא את vulkan-1.dll
אם האמולטור לא מופעל בגלל השגיאה vulkan-1.dll cannot be found
,
כנראה שצריך לעדכן את האמולטור. כדי לעדכן את האמולטור ב-Android Studio, עוברים אל Tools > SDK Manager ומתקינים את הגרסה היציבה האחרונה של פלטפורמת Android.
לחלופין, אם אתם לא צריכים אפליקציות שמשתמשות בספריית הגרפיקה Vulkan, אתם יכולים להשבית את Vulkan על ידי הפעלת האמולטור משורת הפקודה עם הדגל -feature -Vulkan
.
אי אפשר ליצור תמונת מצב
אין תמיכה ביצירת תמונת מצב של האמולטור שכוללת את ספריית הגרפיקה Vulkan. כדי להריץ את האמולטור בלי Vulkan, צריך להפעיל את האמולטור משורת הפקודה עם הדגל -feature -Vulkan
. לחלופין, אם אתם רוצים להשתמש בתמונות מצב כחלק מתהליך העבודה שלכם בפיתוח, אתם יכולים להסיר אפליקציות עם Vulkan, כמו Chrome ב-API 30 ומעלה, ולהימנע משימוש בהן.
אי אפשר לפתוח דף אינטרנט בצורה תקינה
החל מרמת API 30, Chrome משתמש בספריית הגרפיקה Vulkan כקצה העורפי של הרינדור, ויכולות להיות בעיות תאימות במחשבים מסוימים. אם Chrome לא מוצג בצורה תקינה, אפשר לנסות להפעיל את האמולטור משורת הפקודה עם הדגל -feature -Vulkan
.
אזהרה לגבי מנהל ההתקן של GPU – חזרה לתוכנה
אם אתם מקבלים אזהרה לגבי חזרה לגרסה קודמת של מנהל התקן של GPU, יכול להיות שאתם משתמשים ב-GPU שלא נתמך. כברירת מחדל, נעשה שימוש באפשרות 'אוטומטי', שעשויה לבחור עיבוד תוכנה. אם בוחרים חומרה, אמורה להיות אפשרות לאלץ אותה להשתמש בעיבוד חומרה (יכול להיות שעדיין תוצג הודעת אזהרה).
אם התמונות לא מגיעות מחנות Play, אפשר לעשות את זה במנהל המכשירים -> 3 נקודות -> עריכה. כדי לערוך תמונות ב-Play Store, צריך לערוך ידנית את שני קובצי ההגדרות האלה:
~/.android/your_avd_name.avd/config.ini
~/.android/your_avd_name.avd/hardware-qemu.ini
ומשנים את hw.gpu.mode
ל-host
שימו לב שפעולה כזו עלולה להפחית את היציבות של האמולטור. פרטים נוספים זמינים במאמר בנושא באגים.
האמולטור לא מופעל ב-Chrome Remote Desktop ב-Windows
אם האמולטור לא מופעל כשמשתמשים ב-Chrome Remote Desktop ב-Windows, הפתרון המומלץ כרגע הוא להשתמש בדגל -gpu כמו -gpu host או -gpu swiftshader.
האמולטור הסתיים עם קוד יציאה -1073741511 (Windows 8.1 או Windows 10 N)
הסיבה לכך היא כנראה שהמערכת שלך (לדוגמה:C:\Windows\System32 (מערכת 64 ביט)) חסרים הקבצים msvcp140.dll, msvcp140_1.dll ו-msvcp140_2.dll בעבר, משתמשים שדיווחו על הבעיה הזו הצליחו לפתור אותה על ידי התקנה (או התקנה מחדש) של Windows Media Feature, שהוא אופציונלי בגרסאות Windows 10 N.
בעיה דומה יכולה להתרחש ב-Windows 8.1.
באתר של מיקרוסופט מוסבר איך להתקין את התכונה Windows Media Feature.
שימו לב: Windows 8.1 לא נתמך יותר, לא רק על ידי Android Studio ו-Android Emulator, אלא גם על ידי מיקרוסופט (מאז 2023). אפשר לומר דבר דומה גם לגבי Windows 10, כי מיקרוסופט הודיעה שהתמיכה ב-Windows 10 תסתיים ב-14 באוקטובר 2025. אנחנו מבינים שיש צורך בפתרון ב-Windows 8.1/Windows 10, אבל המשך הפיתוח והתמיכה במערכות הפעלה ישנות יותר יוצר אתגרים שיכולים להשפיע על היציבות והביצועים של האמולטור עבור רוב המשתמשים שלנו.
כפתרון אפשרי (אבל לא נתמך), אם אתם לא מצליחים לשדרג את מערכת ההפעלה, אתם יכולים לנסות למצוא גרסה ישנה יותר של Android Emulator בארכיון שלנו (https://developer.android.com/studio/emulator_archive, הגרסה היציבה האחרונה היא 32.1.11) שאולי תהיה תואמת ל-Windows 8.1. חשוב לזכור שהגרסאות הישנות האלה לא נתמכות, ויכול להיות שהן לא יפעלו בצורה תקינה. אנחנו ממליצים מאוד לא להשתמש בהן עם גרסאות חדשות יותר של Android (כמו API 34 ומעלה).
כדי ליהנות מחוויית השימוש הטובה ביותר ב-Android Emulator, מומלץ לשדרג למערכת הפעלה נתמכת.
אנו מתנצלים על אי הנוחות שעלולה להיגרם בשל כך.
האמולטור מתנהג בצורה לא תקינה ב-macOS במצב עיבוד חומרה
במכשירי Mac עם Apple Silicon, האמולטור משתמש בספריית MoltenVK עבור Vulkan API כשבוחרים במצב רינדור חומרה. למרות שבדרך כלל MoltenVK מספק ביצועים טובים בהרבה, הספרייה לא תומכת בכל התכונות של Vulkan. במקרה של בעיות תאימות, כמו כשלים בהידור של shader, תקלות גרפיות או קריסות באפליקציות, צריך לשנות את מצב העיבוד לתוכנה דרך הגדרות ה-AVD, או להשתמש בארגומנט -gpu swiftshader
של שורת הפקודה.
לחלופין, אפשר להשבית את התמיכה ב-Vulkan באמצעות הארגומנט -feature -Vulkan
כדי להמשיך להשתמש בשיפור המהירות באמצעות חומרה באפליקציות GLES.
בעיות ברשת
אין אינטרנט: לא ניתן למצוא את כתובת ה-DNS של השרת
אם האמולטור לא מצליח להתחבר לאינטרנט, נסו להפעיל את האמולטור משורת הפקודה באמצעות האפשרות -dns-server “2001:4860:4860::8844,2001:4860:4860::8888,8.8.8.8,8.8.4.4”
. הפקודה הזו מספקת רשימה של כתובות IP של Google Public DNS, שמופרדות בפסיקים. מידע נוסף על Google Public DNS זמין במאמר Google Public DNS למכשירים.
אין אינטרנט: בעיות ברזולוציית DNS
לפעמים כתובות DNS בקובץ /etc/resolv.conf
לא פועלות כמו שצריך.
כדי לעקוף את הבעיה, אפשר להפעיל את האמולטור משורת הפקודה באמצעות האפשרות -dns-server 8.8.8.8
או -dns.server 2001:4860:4860::8888
כדי להתחבר לרשת IPv6 בלבד.
בעיות ישנות (באימולטורים שהוצאו משימוש או במערכות ישנות)
לא ניתן להפעיל את ה-AVD
יכול להיות ש-AVD לא יופעל אם קיים דוח קריסה לאמולטור חדש יותר (בעיה מספר #281725854). הבעיה הזו מתרחשת רק אצל משתמשים שמעדכנים מגרסת קנרי 33.x לגרסה 32.1.13, שהייתה קריסה בפעם האחרונה שהם הפעילו את גרסה 33.x, ולא הפעילו מחדש את ה-AVD מאז, כך שהספרייה %TEMP%
או /tmp
עדיין פועלת. אם נתקלתם בבעיה הזו, נסו לנקות את הספרייה %TEMP%
(/tmp
ב-Linux או ב-macOS).
Windows: האמולטור לא מופעל אם יש Unicode בשם של AVD
ב-Windows, כשמנהל המכשירים יוצר מכשיר וירטואלי של Android (AVD), הוא יוצר את ה-AVD בנתיב C:\Users\<name>\.android\avd
כברירת מחדל. עם זאת, אם שם ה-AVD (<name>
) מכיל Unicode, האימולטור לא יכול להפעיל את ה-AVD בצורה תקינה באמצעות מיקום ברירת המחדל הזה.
הבעיה הזו נפתרה בגרסה 31.3.6 של Emulator ואילך. כדי לפתור את הבעיה, צריך לעדכן את האמולטור דרך Tools > SDK Manager.
לחלופין, כדי לעקוף את הבעיה הזו, צריך להגדיר את משתנה הסביבה ANDROID_SDK_HOME
לספרייה מותאמת אישית לפני שיוצרים מכשיר וירטואלי של Android. לדוגמה, יוצרים את הספרייה C:\Android\home
, ואז מגדירים את ANDROID_SDK_HOME
לספרייה החדשה הזו. מידע נוסף על משתני סביבה
ל-Hypervisor אין אפשרות לבצע אמולציה של תכונות מסוימות של מעבד שנדרשות למערכות Android x86
באופן כללי, היפרויזורים לא יכולים לבצע אמולציה של תכונות מסוימות של המעבד, כמו Streaming SIMD Extensions (SSE), שנדרשות על ידי מערכות Android x86.