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

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

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


מפות Google לא מופיעות בפקדים המורחבים של Android Emulator

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

בודקים שיש מספיק מקום בכונן

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

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

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

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

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

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

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

ב-Windows, לפעמים ה-AVD קופא באמצעות HAXM והבעיה יכולה להיות נפתרת על ידי להסיר את McAfee לגמרי.

Windows: זיכרון RAM בחינם והתחייבות לתשלום

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

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

במקרים אופייניים, כמות השטח בכונן הקשיח שמוקצית לקובץ העמודים ברוב תרחישי השימוש של האמולטור, זיכרון ה-RAM הפיזי גבוה מספיק. אבל אם נתקלת בכשלים בהפעלת האמולטור בגלל חריגה מהחובה מומלץ לבדוק את החיוב הנוכחי בהתחייבות, שניתן לראות בכרטיסייה Performance (ביצועים) במנהל המשימות של Windows. כדי לפתוח את מנהל המשימות: מקישים על Ctrl+Shift+Esc.

כדי להקטין את הסבירות לחריגה ממגבלת ההתחייבות בדרכים שונות:

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

    למידע נוסף על התחייבות לחיובים והסבר על הסיבה שבגללה הגדרה גמישה היא הטובה ביותר, נקראה במאמר הזה של Microsoft.

אי אפשר להשתמש בריבוי מגע בחלון הכלי

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

אמולטור פוגע בפלט האודיו של Bluetooth

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

כדי להימנע מהבעיה הזו, משביתים את המיקרופון באמולטור על ידי הוספת hw.audioInput=no לקובץ config.ini של המכשיר הווירטואלי של Android (AVD). כדי למצוא קובץ config.ini של AVD, עוברים אל ה-AVD במנהל המכשירים, לוחצים על שלו, ובוחרים באפשרות Show on Disk.

ההפעלה של מכשירים וירטואליים של 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

המפתחים יכולים להתעלם מהאזהרות האלה.

חלון האמולטור המוטמע קטן מדי

במכונות עם רזולוציה נמוכה יותר, כמו 1,024x768, קשה לקרוא את מסך האמולטור כשהוא פועל בחלון כלי ב-Android Studio. שפת תרגום כדי לתת לאמולטור יותר מקום, סוגרים את חלון הכלי של מנהל המכשיר פתיחה. אפשר גם לשלוף את חלון האמולטור מ-Android Studio. כדי לעשות זאת, חלון האמולטור, לוחצים על הגדרות > מצב תצוגה ובוחרים באפשרות חלון במקום Dock Pinned.

בעיות בגרפיקה


אמולטור Android פועל לאט אחרי עדכון

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

  • אם יש לך Intel GPU (ובמיוחד את Intel HD 4000), עליך לוודא הורידו והתקינו את מנהל התקן הגרפיקה העדכני של Intel.
  • אם במחשב יש גם GPU של Intel וגם GPU נפרד, להשבית את ה-GPU של Intel במנהל המכשירים כדי לוודא באמצעות ה-GPU הבדיד.
  • מפעילים את האמולטור במצב -gpu swiftshader. לקבלת מידע נוסף מידע על הגדרת גרפיקה בשורת הפקודה, איך מגדירים שיפור מהירות באמצעות חומרה
  • ודא שהנתב לא משתמש בכתובות IPv6 אם אין לך חיבור IPv6.

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

שגיאה: לא ניתן למצוא את vulkan-1.dll

אם האמולטור לא מופעל בגלל השגיאה vulkan-1.dll cannot be found, כנראה שצריך לעדכן את האמולטור. כדי לעדכן את האמולטור ב-Android Studio, עוברים אל כלים > SDK Manager ולהתקין את הגרסה היציבה האחרונה של פלטפורמת Android.

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

לא ניתן ליצור תמונת מצב

ליצור תמונת מצב של אמולטור שכולל את Vulkan אין תמיכה בספריית הגרפיקה. כדי להריץ את האמולטור בלי Vulkan, להפעיל את האמולטור משורת הפקודה עם הדגל -feature -Vulkan. לחלופין, ניתן להסיר את ההתקנה ולהימנע באמצעות אפליקציות עם Vulkan, כמו Chrome ב-API מגרסה 30 ואילך, אם רוצים להשתמש קובצי snapshot כחלק מתהליך הפיתוח שלכם.

לא ניתן לפתוח את דף האינטרנט בצורה תקינה

החל מרמת API 30, דפדפן Chrome משתמש ספריית הגרפיקה של Vulkan בתור הקצה העורפי של הרינדור, ויכול להיות שיהיו לו בעיות תאימות במחשבים. אם העיבוד של Chrome לא מתבצע כמו שצריך, נסו: הפעלת האמולטור משורת הפקודה עם הדגל -feature -Vulkan.

אזהרה לגבי מנהל ההתקן של ה-GPU – חזרה לתוכנה

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

עבור תמונות שאינן בחנות Play, ניתן לעשות זאת במנהל המכשירים -> סמל 3 נקודות -> עריכה. לגבי תמונות בחנות Play, צריך לערוך באופן ידני את 2 קובצי התצורה האלה:

~/.android/your_avd_name.avd/config.ini

~/.android/your_avd_name.avd/hardware-qemu.ini

ושינוי של hw.gpu.mode ל-host

שימו לב שהפעולה הזו עלולה לפגוע ביציבות של האמולטור. אפשר למצוא פרטים נוספים בקטע הבאג.

האמולטור לא מופעל ב-Windows Chrome Remote Desktop

אם האמולטור לא מופעל במהלך השימוש ב-Chrome Remote Desktop ב-Windows, המעקף המומלץ הוא להשתמש בדגל gpu, כגון -gpu host או -gpu swiftshader.

בעיות ברשת


אין אינטרנט: לא ניתן למצוא את כתובת ה-DNS של השרת

אם האמולטור לא מצליח להתחבר לאינטרנט, יש לנסות הפעלת האמולטור משורת הפקודה באמצעות האפשרות -dns-server “2001:4860:4860::8844,2001:4860:4860::8888,8.8.8.8,8.8.4.4”. הזה הפקודה מספקת רשימה מופרדת בפסיקים של כתובות IP של DNS ציבורי של Google. עבור למידע נוסף על ה-DNS הציבורי של Google, ראו ה-DNS הציבורי של Google למכשירים שלכם.

אין אינטרנט: בעיות ברזולוציית ה-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: ההפעלה של אמולטור נכשלה אם שם ה-AVD כולל Unicode

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

הבעיה הזו נפתרה באמולטור 31.3.6 ואילך. כדי לפתור את הבעיה, מעדכנים את האמולטור באמצעות בחירה באפשרות כלים > ערכת SDK מנהל.

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

Hypervisors לא יכולים לחקות תכונות מעבד (CPU) מסוימות שנדרשות על ידי מערכות Android מסוג x86

בדרך כלל, Hypervisors לא יכולים לחקות תכונות מסוימות של המעבד (CPU), כמו תוספי SIMD בסטרימינג (SSE), שנדרשות על ידי מערכות Android מסוג x86.