פתרון בעיות ידועות באמולטור Android

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

סוגיות כלליות


מפות Google לא מוצגות בפקדים המורחבים של אמולטור Android

החל מאמצע מאי, לגרסאות של אמולטור Android שקודמות לגרסה 34.2.13 לא תהיה יותר מפות Google פונקציונליות בפקדים המורחבים. אמולטורים ישנים יותר נשלחים עם גרסה של Chromium שלא תואמת לממשק Google Maps JavaScript API.

בדיקה אם יש מספיק מקום בדיסק

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

תוכנות אנטי-וירוס

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

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

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

יכול להיות שתוכנות אנטי-וירוס מסוימות לא יהיו תואמות לאמולטור Android.

אם אתם משתמשים בתוכנת Avast ונתקלים בבעיות בהפעלת Android Emulator, אתם צריכים להשבית את ההגדרות Use nested virtualization when available (שימוש בווירטואליזציה מקוננת כשהיא זמינה) ו-Enable Hardware assisted virtualization (הפעלת וירטואליזציה בעזרת חומרה) בהגדרות Troubleshooting (פתרון בעיות) של Avast. בנוסף, אחרי שמשביתים את הווירטואליזציה של החומרה ב-Avast, צריך לוודא ש-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 ב-Device Manager, לוחצים על תפריט האפשרויות הנוספות שלו ובוחרים באפשרות הצגה בדיסק.

השקת מכשירים וירטואליים של 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 ב-Device Manager כדי לוודא שמשתמשים ב-GPU הנפרד.
  • מריצים את האמולטור באמצעות מצב -gpu swiftshader. מידע נוסף על הגדרת אפשרויות להאצת גרפיקה בשורת הפקודה זמין במאמר הגדרת האצת חומרה.
  • אם אין לכם חיבור IPv6, ודאו שהנתב לא משתמש בכתובות IPv6.

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

שגיאה: לא ניתן למצוא את 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, צריך לערוך ידנית את שני קובצי ההגדרות האלה:

‪~/.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)

הסיבה לכך היא כנראה שהקובץ msvcp140.dll,‏ msvcp140_1.dll ו-msvcp140_2.dll חסר במערכת (לדוגמה:C:\Windows\System32 (מערכת 64 ביט)) בעבר, משתמשים שדיווחו על הבעיה הזו הצליחו לפתור אותה על ידי התקנה (או התקנה מחדש) של Windows Media Feature, שהוא אופציונלי בגרסאות Windows 10 N.

בעיה דומה יכולה להתרחש ב-Windows 8.1.

באתר של מיקרוסופט מוסבר איך להתקין את התכונה Windows Media Feature.

שימו לב: Windows 8.1 לא נתמך יותר, לא רק על ידי Android Studio ו-אמולטור Android, אלא גם על ידי מיקרוסופט (מאז 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, מומלץ לשדרג למערכת הפעלה נתמכת.

אנו מתנצלים על אי הנוחות שעלולה להיגרם בשל כך.

האמולטור מתנהג בצורה לא תקינה ב-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 בלבד.

אין אינטרנט: בעיות שקשורות לניגוד אינטרסים בכתובת MAC

אם לכמה אמולטורים יש את אותה כתובת MAC, רק לאמולטור הראשון שהופעל תהיה גישה לאינטרנט. זה יכול לקרות אם לאמולטורים הוקצתה אותה יציאת ADB במהלך היצירה או אם הם הופעלו מאותו מצב שמור.

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

מגבלות בהגדרת רשת משורת הפקודה (-netsim-args)

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

בעיות ישנות (באימולטורים שהוצאו משימוש או במערכות ישנות)


לא ניתן להפעיל את AVD

יכול להיות ש-AVD לא יופעל אם קיים דוח קריסה לאמולטור חדש יותר (בעיה מספר 281725854). הבעיה הזו מתרחשת רק אצל משתמשים שמעדכנים מגרסת קנרי ‎33.x לגרסה ‎32.1.13, שהתרחשה אצלם קריסה בפעם האחרונה שהם הפעילו את גרסה ‎33.x, ושלא הפעילו מחדש את ה-AVD שלהם מאז, כך שהספרייה %TEMP% או /tmp עדיין פועלת. אם נתקלתם בבעיה הזו, נסו לנקות את הספרייה %TEMP% (/tmp ב-Linux או ב-macOS).

‫Windows: האמולטור לא מופעל אם יש Unicode בשם AVD

ב-Windows, כשמנהל המכשירים יוצר מכשיר אנדרואיד וירטואלי (AVD), הוא יוצר את ה-AVD במיקום C:\Users\<name>\.android\avd כברירת מחדל. עם זאת, אם שם ה-AVD (<name>) מכיל Unicode, האימולטור לא יכול להפעיל את ה-AVD בצורה תקינה באמצעות מיקום ברירת המחדל הזה.

הבעיה הזו תוקנה בגרסה 31.3.6 של Emulator ואילך. כדי לפתור את הבעיה, צריך לעדכן את האמולטור באמצעות האפשרות Tools > SDK Manager.

לחלופין, כדי לעקוף את הבעיה, אפשר להגדיר את משתנה הסביבה ANDROID_SDK_HOME לספרייה מותאמת אישית לפני שיוצרים מכשיר וירטואלי של Android (AVD). לדוגמה, יוצרים את הספרייה C:\Android\home, ואז מגדירים את ANDROID_SDK_HOME לספרייה החדשה הזו. מידע נוסף זמין במאמר בנושא משתני סביבה.

ל-Hypervisor אין אפשרות לבצע אמולציה של תכונות מסוימות של מעבד שנדרשות למערכות Android x86

באופן כללי, היפרויזורים לא יכולים לבצע אמולציה של תכונות מסוימות של מעבד, כמו Streaming SIMD Extensions (SSE), שנדרשות על ידי מערכות Android x86.