אמולטור Android כלול ב-Android Studio.
גרסאות של האמולטור שקדמו ל-25.3.0 הופצו כחלק מכלי ה-SDK של Android.
כדי לוודא שאתם משתמשים בגרסה העדכנית, חפשו עדכונים ב-SDK Manager.
כדי להוריד גרסאות קודמות של אמולטור Android, עיינו בארכיון ההורדות של האמולטור.
למידע על גרסאות של האמולטור שקודמות ל-25.3.0, קראו את נתוני הגרסה של Android SDK Tools.
כדי לראות אילו בעיות תוקנו בגרסאות האחרונות של אמולטור Android, עיינו בבעיות שנסגרו.
למידע על בעיות מוכרות ופתרון בעיות, אפשר לעיין במאמר פתרון בעיות באמולטור.
אמולטור Android מהדור הבא (גרסת טרום-השקה)
החל מגרסת Android Studio Rabbit 3 Canary 1, גרסת טרום-השקה (Preview) של הדור הבא של אמולטור Android זמינה ומשמשת כברירת מחדל למכשירים וירטואליים שעומדים בדרישות.
המנוע החדש משדרג את המערכת מ-QEMU 2 הקודם ל-QEMU (גרסה 11 ואילך) המודרני, וכולל הפרדה בין תהליכי המנוע לתהליכי ממשק המשתמש, שנועדה לשפר את הדיוק והביצועים.
היתרונות למפתחים:
- זמני הפעלה מהירים יותר ופחות עומס על המעבד (CPU) והזיכרון
- יציבות משופרת של הסשן באמצעות תהליכים מבודדים של המנוע וממשק המשתמש
- וירטואליזציה מודרנית עם מודלים מעודכנים של חומרת virtio וגרפיקה של Vulkan
כדי להתחיל, יוצרים מכשיר וירטואלי של טלפון עם Android ברמת API 37.0 ואילך ומפעילים אותו מ-Android Studio Canary. מכשירי AVD קיימים ימשיכו לפעול בצורה חלקה במנוע האמולטור הקלאסי בינתיים.
37.2.12 גרסה יציבה (1 באוקטובר 2026)
[תיקון באג]בעיה מספר 537802959 macOS (מעבד Apple): gRPC streamScreenshot עם ImageTransport MMAP גורם לקריסה של מנוע האמולטור או לא כותב פריימים אף פעם בלי להציג הודעה
[תיקון באג]בעיה מספר 507078580 האמולטור מונע מ-macOS להיכנס למצב שינה
[תיקון באג]בעיה מספר 506475581 תוקנו הבעיות שנותרו בעיוות האודיו וברעשי הפיצוח בהפעלה ב-macOS כשמשתמשים בממשק אודיו עם יותר מ-2 ערוצים (לולאה חוזרת, פלט מרובה)
37.1.11 יציבה (30 ביולי 2026)
מנהל ההתקן של ה-hypervisor של אמולטור Android (AEHD) יצא משימוש ב-31 בדצמבר 2026. כדי לעזור במעבר, Android Studio עוזר עכשיו למשתמשי Windows לעבור מ-AEHD ל-Windows Hypervisor Platform (WHPX). במאמר הגדרת האצת VM באמצעות WHPX מוסבר איך להגדיר האצת VM באמצעות WHPX.

נוסף Pixel 10a AVD
הוספנו תמיכה בתוספי Vulkan חדשים שנדרשים להפעלת קובצי אימג' של מערכת API 37
[תיקון באג]בעיה מספר 324465986 לא מופיעה הודעת שגיאה על מחסור בנפח אחסון כשמצלמים תמונה באמולטור שאין בו מקום פנוי
[תיקון באג]בעיה מספר 526671872 תמיכה בסיומות של יחידות (למשל, "6G", "32M") להגדרות של זיכרון RAM של AVD וגודל של VM Heap בקובץ config.ini
[תיקון באג]בעיה מספר 325814592 בעיה שהופיעה ב-macOS 14 שבה האמולטור מתחיל לקפוא ולעבוד לאט מאוד אחרי הפעלת המצלמה
36.6.11 גרסה יציבה (2 ביוני 2026)
החל מ-API 37, הזיכרון המינימלי (RAM) שמשמש את המכונה הווירטואלית של ה-AVD הוגדל ל-4GB.
כדי לתמוך בדרישות הזיכרון הגבוהות יותר של Android 17 (API 37), מכשירי Android וירטואליים (AVD) של טלפונים דורשים עכשיו זיכרון RAM בנפח של 4GB לפחות. אם ה-AVD מוגדר עם פחות זיכרון, האמולטור יחליף באופן אוטומטי את ההגדרה כדי להקצות לפחות 4GB, וכך ימנע בעיות פוטנציאליות בזמן הריצה.
הוספנו לאמולטור את מצב המצלמה "סביבה" כדי לאפשר הגדרה של רקעים וירטואליים לסצנות. הסצנות האלה מוגדרות בקובץ environment.ini של ה-AVD, ואפשר לטעון אותן מחדש באופן דינמי בזמן הריצה.
תוקן באג שגרם לכך שהתצוגה המקדימה של תמונת המצב באמולטור העצמאי לא נמחקה אחרי שתמונת המצב נמחקה.
[תיקון באג]בעיה מספר 506475581 האודיו של האמולטור מעוות מאוד ב-macOS כשמשתמשים בממשק אודיו עם יותר מ-2 ערוצים (לולאה חוזרת, פלט מרובה)
[תיקון באג]בעיה מספר 516455370 תוקנה דליפת זיכרון משמעותית ב-macOS 26.3 כשסוגרים את האמולטור, שקשורה לניקוי המשאבים שמשמשים את ממשקי ה-API של Hypervisor.framework.
36.5.11 תיקון (23 באפריל 2026)
- [תיקון באג]בעיה מספר 492228020 אמולטור Android מציג מסך שחור כשמשתמשים ברינדור גרפיקה של חומרה/אוטומטי ב-Intel GPU
36.5.10 גרסה יציבה (2 באפריל 2026)
העדכון הזה כולל את התכונה ותיקוני הבאגים הבאים:
בדיקת אינטראקציות בין כמה מכשירים באמצעות אמולטור Android
לאמולטור Android יש עכשיו מקבץ רשת (network stack) חדש שמשפר את הבדיקה בהתאמה רחבה, ומבטל את הצורך בהעברה ידנית ליציאה אחרת כדי לחבר כמה מכונות AVD באותו מארח. עכשיו מכשירי AVD יכולים לגלות אחד את השני באופן אוטומטי ולתקשר ביניהם כאילו הם נמצאים באותה רשת וירטואלית. כך אפשר לבדוק בצורה חלקה אינטראקציות בין מכשירים באמצעות פרוטוקולים כמו Wi-Fi ישיר וזיהוי שירותי רשת.
למקבץ הרשת החדש הזה יש כמה יתרונות מרכזיים למפתחים:
- אפס הגדרות: לא צריך יותר להעביר ידנית ליציאה אחרת או להגדיר סקריפטים לפקודות adb.
- חיבור חלק בין מכשירים: פרוטוקולים קריטיים כמו Wi-Fi Direct ו-Network Service Discovery פועלים באופן מיידי בין אמולטורים.
- יציבות משופרת: פתרון בעיות יציבות ארוכות טווח, כמו אובדן נתונים (בעיה מספר 150758736) וניתוקים (בעיה מספר 449817856) שנמצאו במקבץ הקודם.
כדי להתחיל, מעדכנים לגרסה האחרונה של אמולטור Android ב-SDK Manager של Android Studio. מידע נוסף זמין כאן.
תכונות נוספות ותיקוני באגים
נוספו מכשירי Pixel AVD חדשים, כולל Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL ו-Pixel 10 Pro Fold
הצגת מצלמות אינטרנט כשמות ידידותיים למשתמש ותיקון בעיה ב-Linux שבה האמולטור לא הצליח לזהות את כל מצלמות האינטרנט המחוברות ולהציג אותן ברשימה
[תיקון באג]בעיה מספר 333628462 התהליך crashpad_handler צורך יותר מדי משאבי מעבד (CPU) ב-macOS
תיקון 36.4.10 (9 במרץ 2026)
- [תיקון באג]בעיה מספר 489369080 תיקון קריסה באמולטור של הטלוויזיה כשמעבירים את העכבר מעל אחרי העדכון ל-Panda 2
36.4.9 גרסה יציבה (10 בפברואר 2026)
כדי לייעל את בחירת ה-GPU בממשק המשתמש, אמצעי הבקרה המורחבים של אמולטור Android כוללים עכשיו אפשרויות ספציפיות לחומרה ולתוכנה. למשתמשים בשורת הפקודה, עכשיו אפשר להשתמש באפשרות "-gpu software" כדי לבחור את הקצוות העורפיים הטובים ביותר של רינדור תוכנה ב-GLES וב-Vulkan שזמינים למערכת שלכם.
הפעלנו את Lavapipe ככלי ברירת המחדל לרינדור תוכנת גרפיקה כדי לשפר את התאימות של Vulkan בכל הפלטפורמות
שיפורים ב-Vulkan:
- עדכון של טוען Vulkan שמצורף לאמולטור
- תוקנו מקרים שונים של שימוש לא חוקי בקצה העורפי של Vulkan
- נוספה תמיכה בשימוש ב-SkiaVk ב-systemui עם אמולציה של תור גרפיקה בקובצי אימג' חדשים של המערכת
- נוספה תמיכה בקומפוזיציה של Vulkan כדי להשבית את השימוש ב-GL במארח. התכונה הזו מופעלת כברירת מחדל לתמונות XR, ואפשר להפעיל אותה באמצעות האפשרות "-feature VulkanNativeSwapchain" בשורת הפקודה.
[תיקון באג]בעיה מספר 471008659 דליפת זיכרון בצד המארח של האמולטור כשפותחים או סוגרים פעילויות
36.4.3 Canary (8 בדצמבר 2025)
אמולטור חדש למשקפי AI
הוספנו אמולטור ניסיוני חדש למשקפי AI, שמאפשר לפתח ולבדוק אפליקציות שנוצרו באמצעות Jetpack XR SDK למשקפי AI. אתם יכולים להפעיל אמולטור של משקפיים יחד עם אמולטור של טלפון, להתאים ביניהם ולבצע אינטראקציות אופייניות שהייתם מפעילים במשקפיים. במאמר יצירת מכשירים וירטואליים של משקפי AI מוסבר איך להתקין את האמולטור של משקפי ה-AI ולהגדיר את סביבת הפיתוח.
האמולטור של משקפי AI הוא כלי ניסיוני. צפויות בעיות, במיוחד בהתאמה מחדש של המשקפיים לאמולטורים של טלפונים ובאינטראקציות עם ממשק המשתמש של לוח המגע.
אמולטור חדש למשקפי XR
הרחבנו את אמולטור Android XR שהושק בעבר למשקפי OST (Optical See Through) XR. אתם יכולים להשתמש באמולטור של משקפי ה-XR כדי לראות תצוגה מקדימה של האפליקציה עם שדה הראייה והרזולוציה המשוערים של מכשיר משקפי ה-XR. במאמר יצירת מכשירים וירטואליים של משקפי XR מוסבר איך להתקין את האמולטור של משקפי ה-XR ולהגדיר את סביבת הפיתוח.
האמולטורים של משקפי XR ומשקפי AI הם כלים ניסיוניים. יכול להיות שיהיו בעיות, במיוחד בחלק מההגדרות של ה-GPU והדרייברים של Windows (ראו דרישות המערכת של Windows).
בעיות מוכרות
המשוב שלכם יעזור לנו לשפר את התכונות ולקבוע את סדר העדיפויות לפיתוח תכונות בעתיד. במאמר דיווח על באג מוסבר איך לדווח על באגים שקשורים ל-Android Studio או לאמולטור Android.
36.3.10 גרסה יציבה (4 בדצמבר 2025)
[תיקון באג]בעיה מספר 452843321 ירידה בביצועים כשמעבירים קבצים גדולים לאמולטור ב-Android API 34 ואילך.
תיקון קריסות של קומפוזיציית Vulkan כשקודקי וידאו פועלים במצב טקסטורת GPU.
תיקון קריסות של האמולטור באירוע של מסך מגע כשמפעילים עם -debug-events.
תיקון 36.2.12 (13 באוקטובר 2025)
- תוקנה קריסה ב-Windows שהתרחשה בזמן הפעלת אפליקציית Vulkan במצב רינדור תוכנה
36.2.11 גרסה יציבה (9 באוקטובר 2025)
התמיכה ב-HAXM הוסרה מהאמולטור. אם תנסו ליצור AVD עם HAXM, יוצג באנר עם הודעה על כך שחסר Hypervisor וקישור לפעולה להתקנת AEHD.

מידע נוסף על הסרת HAXM זמין במאמר הסרת HAXM.
תיקון כדי לוודא ש-Intel GPU משתמש ב-OpenGL ES 3.0 כדי למנוע קריסה של מנהל ההתקן
[תיקון באג]בעיה מספר 340322888 אי אפשר להפעיל את AVD כשאין מקום פנוי במכשיר
[תיקון באג]בעיה מספר 150758736 אובדן נתונים לסירוגין של בייט אחד בחיבורי TCP באמולטור
[תיקון באג]בעיה מספר 434774381 קרנל האורח קרס אחרי הפעלה מהירה של API 36 ו-35 (אולי יותר) ב-Windows 11 באמצעות WHPX ב-i7-11850H
36.1.9 גרסה יציבה (31 ביולי 2025)
[תיקון באג]בעיה מספר 419157428 תווים בקידוד UTF-8 בשם המשתמש או בנתיב של ה-AVD עלולים למנוע את הפעלת האמולטור
[תיקון באג]בעיה מספר 423670833 אמולטור Android קורס במערכת הקבצים btrfs
הערה: אם נתקלתם בבעיות בהפעלת האמולטור ב-X11, נסו להשתמש ברינדור תוכנה. במאמר הגדרת האצת עיבוד גרפי מוסבר איך להגדיר עיבוד תוכנה.
35.6.11 גרסה יציבה (24 ביוני 2025)
שיפרנו את התמיכה במעבדי GPU של AMD ו-Nvidia ב-Windows וב-Linux לאמולציית XR
אפשר להפעיל את XR AVD כשהוא מוטמע בחלונות שפועלים ב-Android Studio.
שיפור הפרטים בדוחות הקריסה ב-Windows כדי לאפשר קובץ Dump מלא של האמולטור
[תיקון באג]בעיה מספר 410485043 אמולטור Android במכשיר XR קורס עם שגיאת Vulkan
[תיקון באג]בעיה מספר 388718417 הקובץ libndk_translation.so נסגר וגורם לקריסה ב-Arm64AesEncode
35.5.10 גרסה יציבה (6 במאי 2025)
הוספנו בדיקות תאימות נוספות למעבד (CPU) עם הודעות שגיאה (למשל: אין מספיק מקום בכונן)
תוקנו באגים שקשורים לניהול הזיכרון של Vulkan ולתרחישי שימוש לא חוקיים
התמיכה בתמונת מצב של Vulkan נבדקת ומדלגים עליה בצורה נכונה כשמפעילים אותה דרך מסוף
הוספנו תמיכה בתוסף VK_KHR_multiview ובפורמט הטקסטורה A1R5G5B5
נוסף מכשיר וירטואלי של Pixel 9a
35.4.9 גרסה יציבה (25 בפברואר 2025)
הוספנו תפריט נפתח באמצעי הבקרה המורחבים להעדפות של מנהל ההתקן של GLES לאורחים
[תיקון באג]בעיה מספר 389330750 שליחת SMS לאמולטור עם התו Ñ מפצלת את ההודעה
[תיקון באג]בעיה מספר 382180488 הפונקציה emuglConfig_get_vulkan_hardware_gpu_support_info קורסת כי לא זוהו מכשירי Vulkan
הערה: אמולטור Android XR זמין רק בגרסאות Canary של Studio
35.3.11 יציבה (9 בינואר 2025)
[תיקון באג]בעיה מספר 368059211 הגישה הפרוגרמטית של Android Auto OS ל-VHAL לא פועלת באמצעות Car Service API
[תיקון באג]בעיה מספר 348598513 לאמולטור יש שיטה ציבורית מיותרת שלא בטוחה לשימוש ב-thread בנעילה מרובת-threads
[תיקון באג]בעיה מספר 356896486 השבתה של קריאות ל-Vulkan API בזמן הפעלה עם -feature -Vulkan
35.4.4 Canary (12 בדצמבר 2024)
אמולטור Android XR חדש
הוספנו אמולטור ניסיוני חדש של Android XR לפיתוח ולבדיקה של אפליקציות שנוצרו באמצעות Jetpack XR SDK למשקפי VR. במאמר הגדרת Jetpack XR SDK מוסבר איך להתקין את אמולטור Android XR ולהגדיר את סביבת הפיתוח.
אמולטור Android XR הוא כלי ניסיוני. בכל זאת החלטנו לשתף אתכם מוקדם – כדי לאפשר לכם לבדוק את זה בשלב מוקדם. צפויות בעיות, במיוחד בחלק מההגדרות של ה-GPU והדרייברים של Windows. יכולות להיות גם בעיות בבדיקות תאימות של אפליקציות קיימות לניידים בדו-ממד. המשוב שלכם יעזור לנו לשפר את התכונות ולקבוע את סדר העדיפויות לפיתוח תכונות בעתיד.
עד עכשיו, אמולטור Android XR נבדק בהגדרות החומרה הבאות:
- Mac (ARM)
- Windows 11
- nVidia GPU, 4GB של vRAM, דרייבר בגרסה 553.35 ואילך
- זיכרון RAM בנפח 16GB או יותר
- 8 ליבות או יותר
בעיות מוכרות
אמולטור – יציבות וביצועים:
- במערכות Windows מסוימות, יכולות להתרחש נעילות קריטיות או קריסות של המערכת במהלך ההפעלה או בזמן הפעלת אפליקציות. כדי לוודא ש-Windows Hypervisor Platform (WHPX) מופעל, צריך לפעול לפי המדריך למפתחים של Android Studio להפעלת WHPX.
- בעיות כמו רכיבים בממשק המשתמש או AVD שלא מגיבים במחשבים ניידים אחרי מחזור של השעיה והמשך (למשל, סגירת מחשב נייד ופתיחה שלו).
- קריסות מדי פעם כשעוברים מאפליקציות מ "מצב מסך הבית" ל "מצב מסך מלא"
- ממשקי Gemini API עדיין לא זמינים, והאפליקציה של תבנית ההתחלה של Gemini API תקרוס.
אמולטור – סימולציה של קלט ופלט:
- יכול להיות שלוח המקשים הווירטואלי לשדות החיפוש והעריכה יהיה גלוי רק באופן חלקי בשדה הראייה
אי אפשר להזיז רכיבים בכיוון ציר ה-Z (פנימה והחוצה מהמסך) באמצעות העכבר והמקלדת
חוסר יציבות בקלט האודיו של המארח במיקרופון של ה-AVD עלול לגרום להפעלה מחדש ולקריסות של ה-AVD.
לפעמים יש רעש סטטי או עיוות בצליל.
כשהמצלמה יוצאת מהסלון הווירטואלי, רואים שגיאות עיבוד.
במחשבים עם Windows, הצבעים מוצגים כהים יותר מהרגיל.
האודיו מפסיק לפעול אחרי שמשאירים את האמולטור במצב חוסר פעילות ונועלים את המסך ב-macOS. (הפעלה מחדש של האמולטור תשחזר אותו).
החיבור לרשת מתנתק כשהמחשב המארח עובר לרשת Wi-Fi אחרת.
גם כש-Caps Lock מופעל, עדיין מוקלדות אותיות קטנות.
הגלילה באמצעות משטח המגע ב-Mac לא חלקה.
יכול להיות שגלילה בלחיצה וגרירה לא תפעל בחלק מהרכיבים בממשק המשתמש, כי היא לא מיועדת לפעול בהם. אם לא, אפשר להשתמש בגלגל העכבר כדי לגלול.
טקסט מטושטש, ממשק משתמש ותקלות אחרות ב-Chrome בחלק מההגדרות של מערכת Windows. פתרון עקיף אפשרי: הפעלת WHP.
אמולטור – הדמיה של מישורים ונקודות עיגון:
- לפעמים עוגנים לא מופיעים מחדש ליד אותו מיקום
- יכול להיות שחלוניות ניידות לא יעוגנו לקירות או לתקרה
- המישורים המדומים לא תואמים לפריסה הפיזית של החדר התלת-ממדי במצב מעבר
- באופן כללי, יש אזורים מוגבלים לעיגון אובייקטים בחדר הווירטואלי
- פריט מידע קטן שנוצר בתהליך פיתוח (Artifact) וגלוי בתצוגת המעבר ב-Windows
- במקרים מסוימים, הצבת עוגנים עלולה לגרום לקריסת האפליקציה
- יכול להיות שיופיעו קווים שחורים מעל אפליקציות כשמזיזים אותן קרוב לקרקע ב-Windows
אמולטור – אחרים:
- האמולטור מופעל רק במצב "עצמאי". עדיין אין תמיכה במצב "מוטמע" (ממשק משתמש מוטמע).
- התחברות לחשבונות באמולטור ב-Windows עלולה לגרום לאמולטור להפסיק להגיב
- תוכן ממשק המשתמש של חלונות עלול להיעלם אחרי שינוי הגודל (פתרון עקיף: לחיצה על הלחצן "דף הבית")
- באפליקציה JXRCore ActivityPanelTest, החלונית המשנית לא מוצגת בהתחלה
- יכול להיות שפריטים בהגדרות המהירות ייעלמו מהגדרות המערכת אחרי תקופה ארוכה.
- יכול להיות שממשק המשתמש של האמולטור יופיע בהתחלה מחוץ לאזור המסך. אם כן, משנים קצת את הגודל של חלון האמולטור והוא אמור לחזור למקום.
- יכול להיות שהאמולטור לא יופעל כשמשתמשים ב-Chrome Remote Desktop ב-Windows
- בשלב הזה אין תמיכה ב-OpenXR באמולטור, ואפליקציות OpenXR עלולות לגרום לקריסה של האמולטור
- כשלים נדירים כשמנסים לשלוח דוחות על באגים באמצעות ההגדרות המורחבות של Android Studio ב-Windows
- ב-Mac, הסמל "חזרה" לא מוצג כמו שצריך באפליקציית ההגדרות עד שהסמן עובר קרוב אליו
- במקרים מסוימים, יכול להיות שתופיע שגיאה בבנייה כשמשתמשים במודול "פרופיל Baseline" כחלק מפרויקט של תבנית XR.
- הנגישות של "XR Talkback" משולבת עד עכשיו רק באופן חלקי באמולטור
אפליקציית Scene Viewer:
- הזזת רכיבים ב-Scene Viewer עלולה לגרום לקריסה. כדי לעקוף את הבעיה, צריך להזיז מעט את הראש מהמיקום הראשוני שלו (למשל, באמצעות הזזה אופקית, הזזה אנכית, WASD וכו') לפני שמנסים להזיז את הרכיב.
- התכונה "גודל אמיתי 1:1" לא תפעל כמו שצריך אם הגודל האמיתי של המודל התלת-ממדי קטן או גדול מהגבולות המינימליים והמקסימליים של קנה המידה (שמוגדרים כרגע ל-20 ס"מ ול-70 מ' בהתאמה)
- המודל התלת-ממדי עלול לקפוץ בפריים הראשון אחרי הטעינה
35.2.10 (1 באוקטובר 2024)
- נוספו מכשירי Pixel AVD חדשים, כולל Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL ו-Pixel 9 Pro Fold
- נוספה תמונת מערכת חדשה לטאבלט ל-Vanilla Ice Cream (API 35)
35.1.20 (29 באוגוסט 2024)
- נוסף מכשיר וירטואלי של Pixel 8a
- תיקוני באגים שונים במכשירים מתקפלים
- עדכון Qt ותיקונים לקריסות ולתקיעות שקשורות ל-Qt
- [תיקון באג] תיקון קריסות וקיפאון ב-Windows באפליקציות שמשתמשות ב-Vulkan
34.2.16 (9 ביולי 2024)
- [תיקון באג] ממשק המשתמש קופא במכשירי Pixel Fold במהלך קיפול או פתיחה
- [תיקון באג] גרסת Android הוצגה באופן שגוי בתור Android Vanilla Ice Cream Preview במקום API 35 ב-Mac M1.
- [תיקון באג] בעיה מספר 296162661: HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE מחזיר את הערך true באמולטור של טאבלט Pixel C
34.2.15 (31 במאי 2024)
- תיקונים שונים של קריסות שקשורות למצב swangle ולניקוי מפרסמים
34.2.14 (20 במאי 2024)
נבדק עם Android Studio Jellyfish Stable Patch 1.
- [תיקון באג] לפעמים תמונת המצב נתקעת באמולטור מוטמע
- [תיקון באג] הכפתורים "לא" ו"ביטול" לא פועלים כמו שצריך בתמונת המצב
- [תיקון באג] הכפתורים של מקשי החיצים לא עובדים
- [תיקון באג] תוקנה הבעיה ב-Windows שמונעת מהאמולטור לפעול בתנאים מסוימים כשמשתמשים במצבי GPU עם ANGLE, ומחזירה את הודעת השגיאה "Failed to initialize GL emulation" ביומן. שימו לב: אם תפעילו את האמולטור באמצעות שורת הפקודה עם האפשרות
-gpu swangle_indirect, יכול להיות שהשגיאה הזו עדיין תופיע בגרסה הזו. אם עדיין רוצים להפעיל את האמולטור באמצעות שורת פקודה ב-Windows עם רינדור גרפיקה של תוכנה בגרסה הזו, צריך להשתמש ב--gpu swiftshader_indirect - [תיקון באג] קיצור הדרך למיקום במקלדת טוען מפה שלא ניתן להשתמש בה
- [תיקון באג] כשמגדירים מיקום, תיבת הדו-שיח "שמירת המסלול" חסרה
34.2.13 (30 באפריל 2024)
נבדק עם Android Studio Jellyfish Stable.
- עדכון ל-Qt 6.5.3
- תאימות לעדכונים של Google Maps API שמשמשים בתכונות המיקום ב-Extended Controls של האמולטור, שיתרחשו בסוף מאי.
- תיקונים של קריסות משמעותיות
- תיקונים שונים במכשירי Pixel AVD
- עדכון ספריית הגרפיקה שמשמשת לעיבוד תוכנה
- [תיקון באג]בעיה 225541819 הפעלת Chrome גורמת לקריסת האמולטור ב-x86_64
- [תיקון באג]בעיה 314614435 המתג
-http-proxyמנותח באופן שגוי
34.1.20 (1 באפריל 2024)
נבדק עם הגרסה היציבה של Android Studio Iguana.
- [תיקון באג] בעיה מספר 314614435: תיקון בעיה שבה המתג
-http-proxyמנותח באופן שגוי
34.1.19 (7 במרץ 2024)
נבדק עם הגרסה היציבה של Android Studio Iguana.
- [תיקון באג] בעיה מספר 312677259: תוקנה בעיה שבה המסך קפא באמולטור המוטמע אחרי שינוי גודל החלון.
34.1.18 (29 בפברואר 2024)
נבדק עם הגרסה היציבה של Android Studio Iguana.
- הוספנו מכשירים לאמולטור, כולל:
- Pixel Fold
- Pixel Tablet
- Pixel 8
- Pixel 8 Pro
- Pixel 7a
- בדיקת שילוב של gRPC: נקודות קצה (endpoint) של gRPC זמינות עכשיו לבדיקות אינסטרומנטציה שפועלות בתוך האמולטור, ומאפשרות לבדוק תרחישים מציאותיים. התכונה הזו מאפשרת למפתחים לקיים אינטראקציה בטוחה עם נקודת הקצה של gRPC שמתארחת באמולטור Android, מתוך בדיקות אינסטרומנטציה של Android.
- תיקוני באגים שונים
33.1.24 (28 בדצמבר 2023)
נבדק עם Android Studio Hedgehog Stable ו-Iguana Beta 1.
- תוקנה בעיה במצלמת האינטרנט של האמולטור שלא מאפשרת הקלטת מסך בפורמט MP4.
- תוקנה קריסה של האמולטור ב-AVD של Pixel Fold כשפותחים אותו במהלך הקלטת מסך.
- תוקנה בעיה שבה ב-Pixel Fold מוצג עיצוב שונה של הטלפון עם מקלדת מנותקת, ואי אפשר להשתמש בו (תוקן ב-Windows, ב-Mac Intel וב-Linux)
- תיקון תקלה בתצוגה של חיישנים וירטואליים במצב עצמאי (תוקן ב-Windows, ב-Mac Intel וב-Linux)
- תיקון קריסות מסוימות, במיוחד בזמן סגירת האמולטור
33.1.23 (30 בנובמבר 2023)
נבדק עם Android Studio Giraffe Patch 4 ו-Hedgehog Stable.
- הטמעה חדשה של מכשיר מתקפל כדי לדמות טוב יותר את מכשיר Pixel Fold, פועלת עם API 34 העדכני
- שדרוג הקצה העורפי של הגרפיקה: הטמענו את פרוטוקול gfxstream בקצה העורפי של הגרפיקה. השדרוג הזה משפר את הביצועים הגרפיים הכוללים ואת היציבות של המערכת. בנוסף, הוספנו תמיכה ב-Vulkan 1.3 החל מתמונת המערכת עם API 34
- הגשת בקשה להוספת תכונה: אפשרות להשבית את תנועת הפינץ' לשינוי מרחק התצוגה או להקצות מחדש את מקש הקיצור שלה
- [תיקון באג] בעיה מספר 302562962 תיקון קריסה של מצלמת האינטרנט של האמולטור כשמשתמשים ב-macOS Sonoma
- [תיקון באג] בעיה מספר 293503871 תיקון בעיה שבה ההגדרה "מיקרופון" לא נשמרת כשהאמולטור מופעל מחדש
- [תיקון באג] בעיה מספר 270386314 תיקון שגיאת אנימציה שבה סרגל הצד נשאר פתוח אחרי שממזערים את מסך ה-AVD
- [תיקון באג] בעיה מספר 154896775 תיקון הכלי לשליחת באגים
32.1.15 (29 באוגוסט 2023)
נבדק עם Android Studio Giraffe Patch 1 ו-Hedgehog Canary 16.
- עמידה בדרישות החומרה של GAS לחיישנים באמולטור של AAE
- [תיקון באג] בעיה מספר 266201208 הודעות SMS בעברית לא נשלחות ב-API 33
- [תיקון באג] בעיה מספר 257097404 האמולטור לא מציג את השעה הנכונה אחרי שהמארח מתעורר ב-API 29 ו-30
- [תיקון באג] בעיה מספר 228201899 לא ניתן לראות את מפות Google בתוך אמולטור Android Extended Controls
32.1.14 (27 ביוני 2023)
נבדק עם Android Studio Hedgehog Canary 8, Giraffe Beta 5 ו-Flamingo Stable.
- תיקון הכיוונים והעיוותים של מצלמת האמולטור.
- [תיקון באג] בעיה מספר 257097404 "האמולטור לא מציג את השעה הנכונה אחרי שהמארח מתעורר". עדיין אפשר לשחזר את הבאג הזה ב-API 29 וב-API 30.
- [תיקון באג] בעיה מספר 243456582 "יכול להיות שגרסאות Android אחרי API 30 לא יופעלו כמו שצריך באמולטור במחשבי Mac M1"
32.1.13 (22 במאי 2023)
נבדק עם Android Studio Hedgehog Canary 2, Giraffe Beta 1 ו-Flamingo Stable.
- הוספת תמיכה במכשירי Pixel Fold ו-Pixel Tablet וירטואליים.
- שיפור בעיית הקריסה של gLinux.
- [תיקון באג] בעיה מספר 215231636 "אמולטור עם API מעל API 30 לא פועל במעבד Intel מדור 12".
- [תיקון באג] בעיה מספר 275397905 קריסה ברמה גבוהה ב-אמולטור Android M1 כשמעבירים את המיקוד של הסמן פנימה והחוצה מהאמולטור שוב ושוב.
- בעיה מוכרת בהפעלת AVD כשקיים דוח קריסה של אמולטור חדש יותר. מידע נוסף זמין במאמר פתרון בעיות באמולטור.
32.1.12 (21 במרץ 2023)
נבדק עם Android Studio Giraffe Canary 10, Flamingo RC ו-Electric Eel Patch 2.
- [תיקון באג] בעיה מספר 267647323 הרשת לא פועלת באמולטור שהופעל מ-Android Studio
- [תיקון באג] בעיה מספר 268498686 מסך האמולטור מהבהב
- [תיקון באג] בעיה מספר 270034824 הביצועים של האמולטור ירדו אחרי העדכון לגרסה 33.1.1
- [תיקון באג] בעיה מספר 225541819 הפעלת Chrome גורמת לקריסת האמולטור ב-x86_64
- [תיקון באג] בעיה מספר 257097404 האמולטור לא מציג את השעה הנכונה אחרי שהמארח מתעורר
- הוספת דיווח על קריסות למכשירי Apple M1
32.1.11 (8 בפברואר 2023)
נבדק עם Android Studio Giraffe Canary 2, Flamingo Beta 1 ו-Electric Eel Patch 1.
- אופטימיזציה של מהירות הרשת
- תמיכה בעכבר באמולטור מוטמע
- שיפורים ב-Virtio-snd
- השבתת השימוש בקישורים סימבוליים בזמן פתיחת הקובץ המכווץ של אמולטור Android במהלך ההתקנה
- תיקון קריסה ב-emulator-check
31.3.14 (13 בדצמבר 2022)
נבדק עם Android Studio Dolphin, Electric Eel RC1 ו-Flamingo Canary 9.
- [תיקון באג] תיקון קריסות של AVD שמתרחשות כשמתחברים לחנות Play.
31.3.13 (27 באוקטובר 2022)
נבדק עם Android Studio Dolphin, Electric Eel Beta 2 ו-Flamingo Canary 5.
- [תיקון באג] בעיה מספר 249948338: הפרמטר של אזור הזמן לא פועל
- [תיקון באג] בעיה מספר 249366543: האפשרות -dns-server של האמולטור לא פועלת אחרי API 31
31.3.12 (10 באוקטובר 2022)
נבדק עם Android Studio Dolphin ו-Electric Eel Beta 1.
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- [תיקון באג] בעיה מספר 247843000: שגיאה בטיפול בנתיב יחסי של AVD
- הגדלת נפח הדיסק ל-API מגרסה 24 ואילך
31.3.11 (23 בספטמבר 2022)
נבדק עם Android Studio Dolphin ו-Electric Eel Canary 10.
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- [תיקון באג] קריסה של AVD באמולטור מוטמע בחלון Extended Controls
- [תיקון באג] בעיה מספר 183139207: בעיות אודיו שקשורות להפעלת המיקרופון על ידי האמולטור
- [תיקון באג] בעיה מספר 229764024: באג ב-AVD שגורם לבעיות בהתנהגות של ממשק המשתמש
- [תיקון באג] שגיאה בהפעלת API 33 AVD ב-Mac M1.
- [תיקון באג] בעיה מספר 243053479: מהירות הרשת איטית אחרי עדכון האמולטור
- [תיקון באג] בעיה מספר 244617627: המיקום במפות Google לא פועל ב-Windows וב-Linux
- [תיקון באג] בעיה מספר 232971796: הלחצן "התקשרות למכשיר" לא פועל בדף "אמצעי בקרה מורחבים" > "טלפון"
- עדכון של אמולטור Android ל-minigbm
- העברת סקריפטים של גרסאות build ל-Python3
31.3.10 (18 באוגוסט 2022)
נבדק עם Android Studio Dolphin Beta 5 ו-Electric Eel Canary 9.
עכשיו אפשר להוריד את האמולטור בנפרד. אם נתקלתם בבעיות או בקריסות בגרסה היציבה האחרונה, דווחו על באג והורידו גרסה קודמת שפועלת מארכיון ההורדות של האמולטור.
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- תמיכה טובה יותר בנתיבי Unicode ב-Windows
- טיפול טוב יותר בכיבוי האמולטור, כדי שהפעלה חדשה של אותו AVD תצליח.
- עיצוב מעודכן של מכשיר וירטואלי מתקפל ב-Android והגדרות ברירת מחדל
- כפתורים מעודכנים של אמולטור Wear
- שיפורים בסטרימינג של אודיו ב-gRPC
- נוספה פקודת מסוף לאמולטור שניתן לשנות את הגודל שלו
- תיקון ב-Chrome ל-API 31
- [תיקון באג] האימות של חשבון Google נכשל ב-GmsCore בגרסה 21.42.18
31.2.10 (20 באפריל 2022)
נבדק עם Android Studio Dolphin Canary 8 ו-Chipmunk RC 1.
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- הוספת כלי לטעינת פונקציות Vulkan עם חלופות
- [תיקון באג] תיקון שגיאת build של gcc8
31.2.9 (23 במרץ 2022)
נבדק עם Android Studio Dolphin Canary 7.
העדכון הזה כולל את התיקון הבא:
- [תיקון באג] התעלמות מלחץ על הזיכרון כששומרים תמונת מצב ב-M1
31.2.8 (7 בפברואר 2022)
נבדק עם Android Studio Bumblebee Patch 1 ו-Chipmunk Canary 6.
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- [תיקון באג] לא ניתן להיכנס לאפליקציות
- [תיקון באג] בעיה מספר 215368358: הפקודה "adb reboot" בפלטפורמת Intel תגרום לקריסה של avd עם "vcpu shutdown request"
31.2.7 (1 בפברואר 2022)
נבדק עם Android Studio Bumblebee Patch 1 ו-Chipmunk Canary 6.
העדכון הזה כולל את התיקון הבא:
- [תיקון באג] שגיאה שגורמת לאמולטור להיתקע במכונות M1.
31.2.6 (20 בינואר 2022)
נבדק עם Android Studio Arctic Fox, Bumblebee Beta 4 ו-Chipmunk Canary 6.
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- נוספו כפתורי Wear לאמולטור של Wear OS.
- כל מאפייני הרכב ניתנים לעריכה בכרטיסייה VHAL.
- [תיקון באג] האימות של חשבון Google נכשל ב-GmsCore בגרסה 21.42.18.
- [תיקון באג] Netshaper לא פעל כמו שצריך עם VirtioWifi.
- [תיקון באג] פקודת המסוף של אירוע העכבר לא עבדה.
- נוספה בדיקת KVM ליצירת AVD מקומי.
31.1.3 (18 בינואר 2022)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- הפעלת יציאות מסוף ל-Fuchsia.
- כשמשנים את הגודל של חלון עם כמה מסכים, המערכת מתעלמת מהכיוון.
- Wi-Fi: הוספנו תמיכה בסינון של חבילות Unicast על סמך כתובת MAC של MAT.
- Wi-Fi: תוקנה קריסה כשמשתמשים ב-vmnet.
30.9.5 (15 בדצמבר 2021)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- הוספנו את האפשרות לשנות בקלות את הגודל של החלון לגודל של מסך מחשב או טאבלט.
- הוספנו תמיכה בקלט מרובה-מגע ממכשירים מארחים תואמים.
- VirtioWifi: נוספה תמיכה ברשת TAP.
- הפעלת חוגה להזנת נתונים לתמונות מערכת של Wear.
- תוקנה הבעיה בהגדרת האודיו של gRPC.
- הפעלת SensorReplay Emulator עודכנה כדי לתמוך בחיישני Android רגילים.
- חיבור האמולטור לציוד היקפי ולמכשירים באמצעות USB עם מעבר USB.
30.4.5 (23 בפברואר 2021)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- macOS: תוקנו בעיות של עיוות בקלט האודיו.
- נוספה תמיכה ב-virtio-vsock במרחב המשתמש.
- תמונות מערכת עתידיות ישתמשו ב-virtio-console להודעות logcat וליבה.
- האצת הרינדור של Vulkan.
- הוספנו תמיכה בניפוי באגים של תמונת מצב במקרה של שגיאת בדיקה.
- virtio-gpu: הגדרות מעודכנות לתמיכה בערכי ה-enum העדכניים של משאבי blob.
- הוספנו תמיכה בתמונת מצב (snapshot) להעברות גרפיקה מסוג asg.
- macOS: נוספה תמיכה בבנייה מול macOS SDK 11.1 ואילך.
- KVMclock מופעל כברירת מחדל בקובצי אימג' חדשים יותר של המערכת.
- הוספנו תמיכה בחיישן דופק לאמולטורים של Wear.
- הוסר הבק-אנד של libportability Vulkan.
- נוספה תמיכה בתכונות נוספות בסימולטור המודם.
30.0.26 (16 באוגוסט 2020)
העדכון הזה כולל כמה תכונות חדשות, שיפורים בתכונות קיימות ותיקוני באגים.
תמיכה במכשירים מתקפלים עם חיישן ציר וירטואלי ותצוגת תלת-ממד
הוספנו תמיכה בחיישני צירים למכשירים מתקפלים. לשם כך נדרשים קובץ אימג' של מערכת Android 11 והגדרת AVD עתידיים. הפרמטרים של תצוגת תלת-ממד וציר של מכשיר מתקפל משולבים עכשיו בהגדרות הקבועות מראש הקיימות של מכשירים מתקפלים. אפשר להשתמש בקוד הבא, למשל, עם קובץ
config.iniשל מכשיר מתקפל בגודל 7.3 אינץ' ב-AVD:hw.sensor.hinge = yes hw.sensor.hinge.count = 1 hw.sensor.hinge.type = 1 hw.sensor.hinge.ranges = 180-360 hw.sensor.hinge.defaults = 180 hw.sensor.hinge.areas = 54.7-0 hw.sensor.posture_list=4, 3 hw.sensor.hinge_angles_posture_definitions=210-360, 180-210 hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture=4למכשירים מתקפלים יש עכשיו גם פרמטר של סוג משנה. הנכס
hw.sensor.hinge.sub_type = hinge/foldמסוגconfig.iniזמין עכשיו. למידע נוסף, קראו את הפוסט בבלוג Developing for Android 11 with the Android Emulator.חיישן הציר מופעל עכשיו כברירת מחדל.
אם מוגדר מכשיר מתקפל, האמולטור שולח עכשיו עדכונים של חיישני זווית הציר ושינויים בתנוחה לאורח. במכשירים מתקפלים קיימים, עכשיו אפשר לעדכן את זווית החיישן של הציר ואת המנח כשלוחצים על הלחצנים לקיפול או לפתיחה בסרגל הכלים.

אמולטור למארחי ARM64
קוד המקור של אמולטור Linux תומך עכשיו בעיבוד בין מערכות ממארחי x86_64 למארחי arm64, ומאפשר להריץ קובצי אימג' של מערכת arm64 עם וירטואליזציה של KVM. כרגע יש תמיכה רק ב-
-gpu swiftshader_indirect(רינדור מארח של Swiftshader arm64), אבל אפשר גם להשתמש בקבוצה תואמת של ספריות libEGL/libGLESv2 של GPU מארח על ידי החלפת lib64/gles_swiftshader בהן, ואז להפעיל מחדש עם-gpu swiftshader_indirect. יכול להיות שגם תמונות המצב לא פועלות (צריך להוסיף את-no-snapshotלשורת הפקודה). הוראות להתאמה אישית:mkdir emu cd emu repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1 repo sync -qcj 12 cd external/qemu pip install absl-py pip install urlfetch sudo apt-get install crossbuild-essential-arm64 python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64אנחנו עובדים על תמיכה ב-Apple Silicon.
תמיכה ב-virtio-gpu
- הוספנו תמיכה בצד המארח למשאבי blob קוהרנטיים של מארח virtio-gpu.
- בגלל אופן הפעולה של רינדור האמולטור, עכשיו אנחנו מעבדים את virtqueue של virtio-gpu בשרשור vcpu (כי הרינדור מועבר לשרשורים אחרים בכל מקרה). הרינדור של virtio-gpu יופעל בגרסה עתידית של קובץ אימג' של המערכת ושל האמולטור.
- בתמונת מערכת עתידית, האמולטור יוכל להריץ את כל הגרפיקה באמצעות מחסנית שמבוססת על virtio-gpu.
תכונות חדשות ושיפורים נוספים
- עכשיו אפשר להעביר נתוני USB ללא שינוי ב-Windows באמצעות
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>. (האפשרות הזו אמורה לפעול כבר גם ב-Linux וב-macOS) - ספריות WebRTC עודכנו ל-M83.
- האמולטור תומך עכשיו בשידור אודיו בקונטיינרים דרך WebRTC.
- נקודת הקצה (endpoint) של צינור עיבוד הנתונים של darwinn הוסרה.
- עכשיו אפשר לפענח וידאו ב-CUDA VPx, אם פענוח CUDA VPx זמין בחומרה, באמצעות משתנה הסביבה
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1. - ב-macOS, עכשיו אפשר להשתמש ב-SSE 4.1 ו-4.2 מתוך המערכת המארחת של Android.
- ב-macOS, התכונה INVTSC מופעלת עכשיו כברירת מחדל. כך אפשר לשפר את הדיוק של מדידות הזמן מהאורח.
- עכשיו אנחנו עוקבים במדדים אחרי חלונית הבקרה המורחבת שהמשתמש בחר.
- האמולטור של Linux משתמש עכשיו בשעון KVM עם וירטואליזציה חלקית כשגרסת הליבה של האורח היא >= 5.4 (תמונות מערכת R ואילך).
- האמולטור משתמש עכשיו ב-LZ4 כדי לפרוס את הליבות של האורחים, כך שהוא תואם לצינור עיבוד הנתונים המודרני של הליבה.
הוספנו פקודות למסוף כדי לקבל את ספריית ה-AVD של האמולטור, את נתיב קובץ הגילוי בתרחיש לדוגמה שמוטמע ב-Studio ואת הנתיב לתמונות המצב:
adb emu avd path # Obtains path to AVD directory adb emu avd discoverypath # Obtains path to discovery file adb emu avd snapshotspath # Obtains path to snapshots folder adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
כדי שיהיה קל יותר לחסוך מקום במסך האנכי, הוספנו אפשרות להסתיר את מסגרת המכשיר של ה-AVD הנוכחי בExtended Controls > Settings. כדי להסתיר את מסגרות המכשירים בכל ה-AVD, הוספנו את ה-feature flag
NoDeviceFrame. אפשר להפעיל אותו על ידי הפעלת האמולטור משורת הפקודה באמצעות-feature NoDeviceframe, או להוסיף אתNoDeviceFrame = onלקובץ~/.android/advancedFeatures.ini(אם הקובץ לא קיים, צריך ליצור אותו).הוספנו פריט נפתח בדף הסלולר כדי להפעיל ולהשבית את התמיכה בחיבורים לפי נפח נתונים. הפעולה הזו לא משפיעה על קובצי אימג' ישנים יותר של המערכת שלא תומכים במתג של חיבורים לפי נפח נתונים ב-5G.
- הוספנו גם פקודת מסוף לאותה מטרה:
gsm meter on|off
- הוספנו גם פקודת מסוף לאותה מטרה:
שדרוג של ה-toolchain או ה-build ל-C++17.
תיקונים: אמולטור מוטמע
- עכשיו הלוח אמור לפעול.
- תוקנה בעיה שבה אותיות רישיות הועברו כאותיות קטנות באמולטור.
- תוקנה טעינת אסימון מסוף מנתיב Unicode ב-Windows.
- תוקנה הודעת השגיאה
SO_REUSEPORTב-Linux. - תוקנה בעיה שגרמה לפגיעה בתמונת המצב כשנשלחו פקודות של תמונת מצב דרך gRPC, וגם כשנלחץ הכפתור לשמירת תמונת המצב באמולטור המוטמע של Android Studio.
כשמשתמשים באמולטור של Linux שמוטמע ב-Studio, גילינו שאם עושים את זה דרך Chrome Remote Desktop, יש באג שבו
XDG_RUNTIME_DIRלא מוגדר, ויכול להיות שהאמולטור המוטמע לא יופיע כי קובצי הגילוי של האמולטור ממוקמים ב-XDG_RUNTIME_DIR. אתם יכולים לבדוק את הסטטוס של הבעיה המתאימה בכלי למעקב אחר בעיות ב-Chrome.כדי לעקוף את הבעיה, האמולטור משתמש עכשיו בקובצי גילוי בספרייה שעשויה להיות שונה, שמבוססת על מזהה המשתמש:
/run/user/<uid>.אמולטור מוטמע: מכשירים עם פינות מעוגלות או מגרעות משנים עכשיו את הפריסה שלהם בצורה תקינה כדי לפנות מקום לפינות ולמגרעת. כדי לעשות את זה, צריך לבצע אתחול קר של האמולטורים האלה.
נקודת הקצה של gRPC תומכת עכשיו בשליחת SMS למכשיר.
תיקונים כלליים
- נתקלנו בבעיות תאימות בהפעלת האמולטור של Windows כש-Riot Vanguard פועל. האמולטור של Windows מזהה עכשיו את Vanguard anti-cheat ומציג הודעת אזהרה אם Vanguard מזוהה.
- תוקנה שגיאה מסוג
FD_SETSIZEב-Windows. עכשיו אנחנו משתמשים ב-WSAEventSelect()במקום ב-select()כדי ליצור חיבורים לא חוסמים לשרתי לולאה חוזרת. - נוספה תמיכה בתכונה F16C CPUID לאמולטור של Linux, עם תיקונים לבעיות בהפעלת אפליקציות ARM64 מסוימות באמצעות תרגום NDK. התמיכה ב-macOS וב-Windows נמצאת בתהליך פיתוח.
- תוקנה הפעלת מסלול gpx/kml בהתאם לחותמות הזמן.
- תוקן הסמל הקופץ בהפעלה ב-macOS.
- אם
hw.audioInput=noו-hw.audioOutput=noב-config.ini, האודיו של האמולטור מושבת עכשיו כמו שצריך. - תוקנה בעיה שבה אם חלון האמולטור היה ממוזער בזמן שחלון הפקדים המורחבים היה פתוח אבל לא פעיל, חלון הפקדים המורחבים המשיך להופיע כששינו את הגודל של חלון האמולטור. בעדכון עתידי נסיר לחלוטין את ההתנהגות הזו (המקרה עם חלון הפקדים המורחבים הפעיל).
- תוקן באג לא עקבי שגרם לכך שה-Wi-Fi לא התחבר כשהאמולטור הופעל.
- תוקנה בעיה שבה האמולטור נתקע ביציאה כשהוא מנפיק פקודות מעטפת עם זמן קצוב ארוך או לא מוגדר.
- עדכון של pc-bios עם תיקונים לתמיכה טובה יותר בתמונות גדולות שמועברות אל
-initrd; ה-BIOS הקודם השתמש בשיטה מאוד לא יעילה. - תוקנה קריסה במהלך סיום כשמשתמשים באפשרות
-wifi-server-port. - האמולטור מדפיס עכשיו אזהרה אם מועברות אפשרויות לא נתמכות אל
-prop(רק מאפייני qemu.* נתמכים). - כשמפתחים את האמולטור ב-Windows, יש פחות סיכוי לראות כשלים לא עקביים בכתיבה לקבצים. מידע נוסף זמין בהוראות ה-build של Windows.
- השבתנו את כפתור הזום במכשירי AVD מתקפלים, כי הוא גרם לבעיות.
- האמולטור מדווח עכשיו בצורה נכונה על זמן ההפעלה (boot) שמגיע מהפעלה מחדש של המכשיר.
- Linux: במקרים שבהם אין מספיק הרשאות KVM, האמולטור מדפיס עכשיו הוראות לניפוי באגים מהר יותר.
- תוקנה בעיה שבה האמולטור לא הצליח להפעיל קובצי אימג' של המערכת מהזמן האחרון ללא האצה.
- תוקנה פגיעה בזיכרון או קריסה בהפעלה מגלאי של השלמת אתחול.
- תוקנה דליפת זיכרון במהלך סשנים ארוכים של הקלטת מסך.
- סמלי האמולטור עודכנו כדי לשקף את המיתוג של Studio 4.1.
- שיפרנו את התמיכה בזיהוי סשנים מרחוק ב-Windows.
תיקונים: גרפיקה ופענוח וידאו
- תוקנה בעיה שבה הגרסה האחרונה של המשחק Asphalt 9 עובדה עם מסך שחור.
- הוסר ספאם לגבי ניקוי מאגר ממופה באמצעות
NULL. - תוקן מרוץ תהליכים שקרה כשמצב Vulkan נסגר אחרי יציאה מאפליקציית Vulkan אורחת.
- הצללות של אמולציית Vulkan ASTC/ETC2 מוטמעות עכשיו בספריית libOpenglRender. השיטה הזו אמינה יותר מקריאה ממערכת הקבצים.
- תוקנה בעיה ב-Vulkan שבה אם מפעילים מכונה של Vulkan 1.0 במארח,
vkGetImageMemoryRequirements2KHRמנקה באופן שגוי את השדהpNextשל המבנהVkMemoryRequirements2שהוחזר. - תוקנה דליפת זיכרון בכלי הרינדור של Vulkan.
- תוקנה רגרסיה שקרתה לאחרונה, שבה הצללות (shaders) של GLSL ES 1.00 עם שמות משתנים כמו
isampler2Dנכשלו בהידור. - עדכנו את מתרגם ההצללה של ANGLE עם תיקונים שונים שמטפלים בכשלים אפשריים בהידור של הצללות ב-Linux.
- עכשיו אנחנו גורמים לקריסה של האמולטור אם ה-shader הבסיסי של ה-framebuffer blit לא מצליח לעבור קומפילציה, כדי לעקוב אחרי התופעה.
- מעדכנים את מתרגם ההצללה של ANGLE כדי להתאים אותו ל-ANGLE במעלה הזרם. התיקון הזה פתר בעיה שקשורה לפגיעה בזיכרון בזמן תרגום וקיפול קבוע של הצללות OpenGL ES שהשתמשו במטריצות לא ריבועיות. המתרגם של ה-shader הוא עכשיו ספרייה משותפת נפרדת,
libshadertranslator.dll. - תוקנה בעיה באתחול של Vulkan בחלק מהדרייברים של ה-GPU, שבה לא נמצאו פונקציות מסוימות של מכשיר 1.1.
- Vulkan: חזרנו להשתמש ברכיב הטעינה שנוצר מראש, כי העדפת רכיב הטעינה של המערכת גרמה לבעיות בחלק מההגדרות. ננסה למצוא פתרון טוב יותר.
- תוקנה בעיה בשימוש בזיכרון חיצוני של Vulkan, שבה יכול להיות שיובאו אינדקסים של סוגי זיכרון לא תואמים במארח.
- תוקנה בעיה באמולציה של
GL_ALIASED_POINT_SIZE_RANGEשבה ה-enum לא נתמך במארח. - תוקנה בעיה שבה בחלק מהמעבדים הגרפיים המארחים, לא ניתן היה לקמפל את ה-shaders של Skia בגלל שגיאות שקשורות ל-
GL_EXT_shader_framebuffer_fetch. - העותק שלנו של מנוע הרינדור D3D9 ANGLE הוסר לפני כמה גרסאות, ולכן אנחנו מעבירים עכשיו באופן אוטומטי משתמשים שהשתמשו במנוע הרינדור הזה ל-d3d11 ANGLE, אם הוא נבחר בהעדפות של ממשק המשתמש.
- הוספנו עוד מידע על תוצאות ניפוי הבאגים להפעלה של WGL ב-Windows כדי לעקוב אחרי כשלים.
- כאשר
hw.gltransport=virtio-gpu-pipe, הביצועים משתפרים על ידי אי-סיבוב במארח בהעברות ממארח לאורח. - הוספנו עוד רישום ביומן של ניפוי באגים למקרים שבהם האמולציה של OpenGLES לא מצליחה להתחיל.
- תוקנה בעיה שבה סרטונים ב-YouTube הבהבו או לא הופיעו בטעינת תמונת המצב.
- חזרנו בינתיים לפענוח תוכנה של libvpx כי נתקלנו בבעיות בפענוח חומרה של CUDA ב-libvpx. אם יש לכם הטמעה נתמכת של פענוח חומרה של CUDA בצד המארח, אתם יכולים להפעיל מחדש את פענוח החומרה של libvpx באמצעות משתנה הסביבה
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1.
30.0.10 (30 באפריל 2020)
העדכון הזה כולל תמיכה בהפעלת האמולטור ישירות ב-Android Studio ובמכשירים וירטואליים עם מצב חלון חופשי שמופעל כברירת מחדל.
הפעלת האמולטור ב-Android Studio
עכשיו אפשר להריץ את אמולטור Android ישירות ב-Android Studio. התכונה הזו מאפשרת לחסוך מקום במסך, לנווט במהירות בין האמולטור לחלון העריכה באמצעות מקשי קיצור, ולארגן את תהליך העבודה של ה-IDE והאמולטור בחלון אחד של האפליקציה.
מצב חלון חופשי
כדי ליצור מכשיר וירטואלי עם מצב חלון חופשי, בוחרים בפרופיל החומרה של טאבלט בגודל 13.5 אינץ' עם מצב חלון חופשי כשיוצרים מכשיר וירטואלי ב-Android Studio. לפרופיל החומרה הזה נדרשת קובץ אימג' של המערכת עם Android 11 Developer Preview 3 ואילך.
בעיות מוכרות
כרגע אי אפשר לשנות את הגודל של חלונות צפים בגלל בעיות בהעברת המיקוד למנהל החלונות. הבעיה הזו תטופל באחת מהגרסאות הבאות של קובץ האימג' של מערכת Android 11.
30.0.0 (19 בפברואר 2020)
העדכון הזה כולל קובצי אימג' של מערכת Android 11 (רמת API 30) וביצועים משופרים בהרצת קובצי ARM בינאריים.
תמונות מערכת של Android 11
עכשיו אתם יכולים ליצור AVD שמריץ את Android 11 על ידי בחירה באחת מתמונות המערכת הזמינות ברמת API 30:
- x86: כולל ממשקי ABI מסוג x86 ו-ARMv7.
- x86_64: כולל ממשקי ABI מסוג x86, x86_64, ARMv7 ו-ARM64.
תמיכה בקובצי ARM בינאריים בתמונות מערכת של Android 9 ו-Android 11
אם לא הצלחתם להשתמש באמולטור Android כי האפליקציה שלכם הייתה תלויה בקובצי ARM בינאריים, עכשיו אתם יכולים להשתמש בקובץ האימג' של מערכת Android 9 x86 או בכל קובץ אימג' של מערכת Android 11 כדי להפעיל את האפליקציה – כבר לא צריך להוריד קובץ אימג' ספציפי של המערכת כדי להפעיל קובצי ARM בינאריים. תמונות המערכת האלה של Android 9 ו-Android 11 תומכות ב-ARM כברירת מחדל, ומספקות ביצועים משופרים באופן משמעותי בהשוואה לאלה עם אמולציה מלאה של ARM.
בעיות מוכרות
- חלק מהקבצים הבינאריים של ARMv7 לא פועלים בקובצי אימג' של מערכת Android 11 x86 ו-x86_64. כשמטרגטים ל-Android 11, כדאי לשקול פיתוח ל-ARM64.
29.0.11 (29 במאי 2019)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- Windows: האמולטור מסתמך עכשיו על ה-DLL של
libgccשאנחנו מספקים, במקום להיות מקומפל עםlibgccבאופן סטטי. - Linux: הוספנו תמיכה ב-logcat ל-gRPC API. מידע נוסף על gRPC זמין במאמר אמולטור סטרימינג של gRPC (Linux).
- האמולטור כולל עכשיו גרסה ללא ממשק משתמש (headless) לאורחים ב-32-bit x86 (
qemu-system-i386). התכונה הזו מאפשרת להפעיל תמונות x86 32-bit לרמות API 26 ומטה עם הגרסה ללא ממשק משתמש. שימו לב שבמכונות אורח של 32-bit x86 עם API 27 ואילך, האמולטור משתמש במנוע של 64-bit (qemu-system-x86_64) כי בתמונות המערכת האלה, מרחב המשתמש הוא של 32-bit אבל הליבה היא של 64-bit. Android Studio משתמש בקרנל כדי לבחור מנועי אמולציה. - עכשיו אפשר לציין נתיבים מותאמים אישית לספריית Qt באמצעות משתנה הסביבה
ANDROID_QT_LIB_PATH. - עכשיו אפשר להריץ את האמולטור עם קבצים בינאריים קודמים שמשתמשים ב-QEMU1, אם קובצי ההפעלה של QEMU1 (
emulator[64]-[x86|arm|etc]) נמצאים בספריית האמולטור. - Windows: תוקנה בעיה שלפעמים גרמה לכך שהאמולטור לא הופעל והוצגה ההודעה "vCPU shutdown request".
- תוקנה בעיה שקשורה למחסום מיותר בצינור עיבוד הנתונים בטקסטורות דחוסות באמולציה ב-Vulkan.
- תוקנה שגיאה שקרתה בבקשות של שרת proxy ל-HTTP כשנעשה שימוש בקידוד העברה במקטעים. למידע נוסף, ראו פרטי ה-commit.
29.0.9 (7 במאי 2019)
העדכון הזה כולל את התיקון הבא:
- Windows: תוקנה בעיה שבה מצלמת הסצנה הווירטואלית ומצלמת האינטרנט לא פעלו באמולטור.
29.0.8 (6 במאי 2019)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- הוספנו תמיכה במספר מסכים וירטואליים כשיש שירות אורח לספירה ולהגדרה של כל מסך. בעדכון עתידי של קובץ האימג' של מערכת האמולטור, נוסיף כמה מסכי חומרה וירטואליים.
- נוספה אפשרות חדשה לשורת הפקודה:
-delay-adb. האפשרות הזו מונעת את העיבוד של חבילות ADB עד שהאורח מסיים את תהליך ההפעלה (מאתחול קר). האפשרות הזו עוזרת לפתור בעיות שעלולות להתרחש אם משתמשים באמולטור בסביבת CI שמפעילה מחדש את האמולטור ומשתמשת ב-DDMS בו-זמנית. - תוקנה שגיאה שהתרחשה כשנטענו קובצי Snapshot, שבה
glIsRenderbufferהחזיר ערך שגוי. - תוקנו כמה בעיות שקשורות למצב לא עדכני כשהאורח ב-Android מבצע הפעלה מחדש.
- Windows: תוקנו בעיות שמנעו את הפעלת האמולטור כששם המשתמש ב-Windows הכיל תווים שהם לא תווי ASCII או רווחים.
בעיות מוכרות
- ממשק המשתמש של Snapshots מושבת בתמונות מערכת של Automotive כי כרגע אין תמיכה בתמונות המצב האלה.
29.0.6 (1 במאי 2019)
העדכון הזה כולל כמה תכונות חדשות, שיפורים בתכונות קיימות ותיקוני באגים.
הסרת התמיכה ב-QEMU1 וב-Windows בגרסת 32 ביט
כדי לשפר את תחזוקת האמולטור, אנחנו כבר לא מספקים קובצי בינארי של QEMU1 ו-Windows בגרסת 32 ביט. אם אתם משתמשים ב-Windows בגרסת 32 ביט, אתם לא יכולים לשדרג לגרסה 29.0.6.
דרישות לתמונות מערכת של Android Q
אם רוצים להריץ AVD שמשתמש בתמונת מערכת של Android Q, צריך להשתמש בגרסה 29.0.6 (גרסת ההפצה הזו) או בגרסה חדשה יותר.
שיפורים ב-Project Marble
העדכון הזה ממשיך את העבודה שלנו על יוזמת Project Marble, שהוכרזה במפגש של מפתחי Android בנובמבר 2018. מידע נוסף על שיפורים אחרים של Project Marble בגרסאות קודמות זמין במאמר אמולטור Android: שיפורים של Project Marble.
בעדכון הזה, רוב המאמצים שלנו ב-Project Marble הוקדשו לצמצום השימוש במשאבים של האמולטור, כמו הפחתת השימוש ב-CPU של האמולטור בזמן שהוא לא פעיל. בנוסף, כללנו שינויים שמאפשרים לעבוד עם האמולטור בקלות רבה יותר במגוון רחב יותר של סביבות, וטיפלנו בבעיות איכות כלליות.
בקטעים הבאים מתוארים השיפורים של Project Marble שכלולים בעדכון הזה:
שיפורים באופן הפעולה של האודיו של המארחים
החל מגרסה 28.0.3, האמולטור חוסם כברירת מחדל קלט אודיו מהמארח.
אם רוצים להשתמש בנתוני האודיו של המארח, אפשר להפעיל את האפשרות הזו: עוברים אל Extended Controls > Microphone (פקדים מורחבים > מיקרופון) ומפעילים את האפשרות Virtual microphone uses host audio input (המיקרופון הווירטואלי משתמש בקלט האודיו של המארח). האפשרות הזו מושבתת באופן אוטומטי בכל פעם שמפעילים מחדש את האמולטור.
אם אתם משתמשים בשורת הפקודה, אתם יכולים גם להפעיל את האודיו של המארח באמצעות האפשרות -allow-host-audio, ולהשתמש בפקודות ה-ADB הבאות כדי להפעיל או להשבית את נתוני האודיו של המארח, בהתאמה:
adb emu avd hostmiconadb emu avd hostmicoff
שיפורים בגרסאות build של אמולטור ללא ממשק משתמש (headless)
החל מגרסה 28.0.25, האמולטור כולל אפשרות build ללא ממשק משתמש שיכולה לפעול בלי ממשק המשתמש. אתם יכולים להשתמש בגרסאות build ללא ממשק משתמש כדי להגדיר את האמולטור לתהליכי עבודה של Docker ואינטגרציה רציפה (CI).
בעדכון הזה ביצענו שיפורים נוספים כדי לאפשר לאמולטור לפעול עם מספר מינימלי של יחסי תלות. ב-Linux, גרסאות build ללא ממשק משתמש לא כוללות יותר את הספרייה pulseaudio או libX11. הספריות המשותפות שתלויות במערכת ולא נכללות בחבילה עם האמולטור צומצמו לרשימה הבאה:
Linux-vdso.so.1Libutil.so.1Libm.so.6Libdl.so.2Librt.so.1Libpthread.so.0Libgcc_s.so.1Libc.so.6ld-linux-x86-64.so.2
שדרוג ספריות ממשק המשתמש של Qt ל-5.12 LTS
העדכון הזה כולל את השיפורים הבאים מגרסת Qt 5.12 LTS:
- כדי למנוע קריסות בפענוח
libpngשל Qt כשמפעילים קובצי אימג' מסוימים של המערכת, האמולטור משתמש עכשיו בעותק משלו שלlibpngכדי לפענח תמונות PNG. - כדי לטפל בבעיות בהתקנות מסוימות של Linux שמכילות גרסאות לא תואמות של ספריות מסוימות שתלויות ב-Qt, אנחנו אורזים עכשיו את
libfreetype,libsoftokn,libsqlite3ו-libxkbcommonעם האמולטור. - האמולטור משתמש עכשיו בספריות החלונות המקוריות של הפלטפורמה כדי לקבל את מידות המסך, במקום להשתמש בספריות Qt שהחזירו תוצאות לא מהימנות.
אופטימיזציות אוטומטיות של המעבד אחרי אתחול קר
כדי לטפל בשימוש במעבד (CPU), האמולטור מריץ עכשיו את פקודות ה-ADB הבאות באתחול קר אחרי שהוא מקבל אות boot complete:
adb shell settings put screen_off_timeout 214783647- הפקודה הזו מאריכה את הזמן הקצוב לכיבוי המסך, כדי שאפשר יהיה להשתמש באמולטור במצב סוללה בלי לטעון אותו. במצב סוללה, השימוש במעבד (CPU) ברקע מצטמצם באופן משמעותי.
- במצב טעינה בזרם חילופין, פעולות ברקע של GMSCore, כמו עדכוני אפליקציות, יכולות להשתלט על כל ליבות המעבד (CPU) של המכשיר – וכתוצאה מכך, על המכשיר של המשתמש – ללא אזהרה.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO- הפקודה הזו מבטלת את הרשאות הגישה למיקרופון של אפליקציית חיפוש Google, וכך מפחיתה באופן משמעותי את השימוש במעבד ברקע במסך הבית ובמרכז האפליקציות כשאפליקציית חיפוש Google פעילה.
- הפקודה הזו פועלת בנוסף לפעולת ברירת המחדל של האמולטור, שהיא השבתת האודיו של המארח. בנוסף, ההגדרה הזו מספקת באופן אוטומטי את ההפחתה בשימוש במעבד (CPU) שמתוארת בקטע זיהוי של מילת הפעלה מגרסה 28.0.23.
משתני סביבה חדשים למעקב אחרי ביצועים
עכשיו אפשר להשתמש בשני משתני סביבה חדשים כדי להפעיל מעקב מפורט אחרי הביצועים והשימוש במשאבים של האמולטור.
SHOW_PERF_STATS=1- משתנה הסביבה הזה מאפשר לעקוב אחרי השימוש במעבד (CPU) וב-RAM. המעקב אחרי השימוש ב-RAM מבדיל בין השימוש בגרפיקה לבין הזיכרון הכולל של המערכת.
ANDROID_EMU_TRACING=1- משתנה הסביבה הזה מאפשר הדפסה בכל פעם שפעולת קלט או פעולה גרפית נמשכת זמן רב (יותר ממילישנייה אחת).
- אנחנו משתמשים במשתנה הסביבה הזה גם כדי לאבחן בעיות שמשתמשי Windows חווים עם יותר תקיעות (פריימים שהושמטו) מאשר משתמשים ב-macOS או ב-Linux.
שיפורים כלליים ב-Project Marble
העדכון הזה כולל גם את השיפורים הכלליים הבאים, שהם חלק מיוזמת Project Marble:
- עכשיו אפשר להשהות באופן מיידי את כל המעבדים הווירטואליים (vCPU) באמולטור באמצעות הפקודות הבאות במסוף:
adb emu avd pauseadb emu avd resume
- הפחתה משמעותית של התקורה של שרטוט OpenGL. השיפור הזה מפחית את השימוש במעבד (CPU) בזמן שהאמולטור מפעיל אנימציות.
- החזרנו את התמיכה במכשיר הרשת הווירטואלית e1000 של QEMU הראשי. אתם יכולים להשתמש במכשיר הזה כדי להגדיר את האמולטור בסביבת רשת מגושרת. בסביבת רשת מגושרת, האמולטור מוצג ברשת המארחת והרשת המארחת מוצגת באמולטור.
- עכשיו האמולטור מופעל באמצעות קובצי BIOS בינאריים שמתאימים ל-QEMU 2.12.
- שדרוג גרסת
ffmpegל-3.4.5 לצורך קידוד ופענוח של וידאו. - הפחתה משמעותית של התקורה של קלט/פלט בלולאה הראשית של QEMU ב-macOS, על ידי החלפת הלולאה הראשית שהתבססה על
select()בלולאה ראשית שמבוססת עלkqueue. - גודל שטח האחסון הזמני של Logcat הוגדל ל-2MB כדי לטפל בבעיות של EOF לא צפוי ולא יציב כשמפעילים את Logcat עם האמולטור.
- עכשיו האמולטור מייצא את משתנה הסביבה
LC_ALL=Cכברירת מחדל. השינוי הזה פותר קריסות ובעיות תאימות שקשורות להפעלת האמולטור בלוקאלים שונים. - עכשיו אפשר לעקוב אחרי השימוש של האמולטור במעבד וב-RAM באמצעות נתוני ביצועים שאפשר לגשת אליהם דרך Extended Controls > Settings > Advanced > Performance Stats. הנתונים הסטטיסטיים האלה יכולים לעזור לכם לאבחן במהירות בעיות אם נראה שהאמולטור משתמש ביותר מדי מעבד (CPU) או זיכרון RAM.
- עכשיו
glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPEמשתמש בתוצאה של המעבד הגרפי המארח במקום בתוצאה של אמולטור. השינוי הזה עוזר לפתור בעיות שבהן תמונות ונכסים לא מוצגים בגלל פורמט לא תקין לקריאה חוזרת. - הוספנו תמיכה בתוספים
GL_EXT_texture_format_BGRA8888ו-GL_APPLE_texture_format_BGRA8888של OpenGL ES, אם התוספים האלה נתמכים על ידי המארח. - הוספנו עוד פרטי אבחון לממשק המשתמש של דוח על באג. בנוסף, אפשר לגשת לדוחות על באגים מהמסוף באמצעות הפקודות הבאות:
telnet localhost 5554avd bugreport
- בתמונות מערכת של Android Q, האמולטור מגדיל את גודל ה-RAM המינימלי ל-2GB.
- הוספנו עוד רישום ביומן והדפסה בכל פעם שהאתחול של OpenGL או של ה-hypervisor נכשל.
- אם האמולטור לא מצליח להפעיל מכשיר וירטואלי של Android (AVD) ב-
-read-onlyבמקביל, הוא מנסה להפעיל מחדש את ה-AVD ב--read-onlyעוד 3 פעמים במשך 3 שניות. השינוי הזה מגדיל את הסבירות שהאמולטור יוכל להפעיל מכונות-read-onlyבו-זמנית ב-AVD, אם מכונות אחרות של ה-AVD הזה שניתן לכתוב בהן לא סיימו לנקות קבצים ישנים. - בתמונות המערכת הבאות, האמולטור תומך עכשיו ב-Hardware Composer 2.0. השינוי הזה אמור להפחית את התקורה של הדרייבר בזמן הפעלת רוב האנימציות.
- גרסת ה-build של האמולטור מבוססת עכשיו על CMake/Ninja.
- בממשק המשתמש של אמצעי הבקרה המורחבים של האמולטור, שוחזרו קווי ההפרדה בטבלה של מקשי הקיצור.
- המשתמשים יכולים עכשיו להביע הסכמה לספק לצוות שלנו מדדי שימוש ב-CPU וב-RAM במרווחים של 10 שניות. אנחנו משתמשים במדדים האלה כדי להעשיר את הנתונים שלנו על השימוש במשאבים של האמולטור, באמצעות תרחישי שימוש שונים של המשתמשים שלנו. כך אנחנו יכולים לשפר את היעילות ואת מהירות התגובה של האמולטור.
תיקונים כלליים של Project Marble
העדכון הזה כולל גם את התיקונים הכלליים הבאים, שהם חלק מיוזמת Project Marble:
- תוקנו בעיות של ריצודים ופריימים שגויים שהוצגו במערכות עם מעבדים גרפיים של Intel, כשנעשה שימוש בתמונות מערכת של Android Q.
- תוקנו בעיות שבהן הוצג מסך שחור כשמשתמשים בתמונות מערכת של Android Q עם סקינים של Pixel 2 XL (או כל סקין עם מגרעת או פינות מעוגלות).
- תוקנה בעיה שבה האפשרות
-partition-sizeבשורת הפקודה לא הגדירה את גודל מחיצת הנתונים. - תוקנה בעיה שבה pulseaudio באמולטור של Linux היה מסתובב ותופס ליבת מעבד שלמה במצבים מסוימים.
- תוקנו בעיות שקשורות לגישה לזיכרון מחוץ לגבולות בזמן עיבוד של טקסטורות דחוסות.
- תוקנו שגיאות GL שהתרחשו במארח ב-
glTexSubImage2Dבזמן עדכון של מאגרי נתונים זמניים מסוימים של gralloc (בפורמט RGB 565, RGB10A2, RGB(A)16F). - תוקנה בעיית תצוגה בתמונות מערכת של Android Q עם תמונות מצב, שבהן הגיאומטריה של מרכז ההתראות עובדה עם הגדרה לא תקינה של מחלק מופעים.
- תוקנו כמה בעיות של קריסה וקיפאון בזמן ההפעלה שקשה לשחזר, שנגרמו בגלל אובדן אותות ב-Qt או מצבים לא עקביים ולא יציבים בזמן ההפעלה.
- תוקנו כמה בעיות שקשורות לפעולות בו-זמניות. עכשיו אנחנו יכולים ליצור את אמולטור Linux באמצעות ThreadSanitizer (TSAN), שיכול לחשוף בקלות באגים שקשה לשחזר בדרכים אחרות.
- למשתמשי Linux: גילינו שבליבות מארחות מסוימות, הליבה של Android האורח יכולה להציג שגיאה ולצאת ב-KVM עם שגיאת חומרה כללית. מעכשיו, האמולטור יבצע
abort()כשהמצב הזה יקרה כדי לשפר את יכולת ניפוי הבאגים (בעבר, האמולטור פשוט נתקע). - למשתמשי Linux: כדי להקל על הגדרות CI, אתם יכולים להשתמש באפשרות החדשה של שורת הפקודה
-stdouterr-file <file-name>כדי להפנות אתstdoutו-stderrלקובץ. - תוקנה בעיה שבה נעשה שימוש שגוי ב-
SO_REUSEADDR. מידע נוסף זמין בפרטי ה-commit. - תוקנה בעיה ותיקה באמולטור של Windows שבה תהליכי משנה, כמו פקודות ADB, לא התחילו אם שם המשתמש הכיל רווחים.
- תוקנה בעיה שקשורה לאתחול חסר של RCU בשרשורי HAXM vCPU. התיקון הזה יכול לפתור חלק מהקריסות וממרוצי התהליכים.
- תוקנה קריסה שהתרחשה בדפוסים מסוימים של שמירה וטעינה של קובצי snapshot מממשק המשתמש של קובצי ה-snapshot, באמצעות קובצי אימג' של מערכת Android Q מהזמן האחרון.
- תוקנה בעיה שבה המצלמה של הסצנה הווירטואלית הייתה ריקה כשהאמולטור אותחל מתמונת מצב, אם פקודת מאקרו של AR הופעלה כשתמונת המצב הזו נשמרה.
- תוקנה בעיה שבה חלק מהמשתמשים עם הגדרות של שולחן עבודה מרוחק קיבלו מסך שחור כשהפעילו את האמולטור ב-Linux. כדי למנוע את זה, האמולטור מגדיר עכשיו באופן מפורש את
MESA_RGB_VISUAL. מידע נוסף זמין בפרטי ההתחייבות. - תוקנה בעיה שבה כפתורי הסיבוב הופיעו במכשירי AVD של טלוויזיה.
- תוקנה בעיה שבה אם האמולטור הוגדר להופיע תמיד בחלק העליון, חלון הפקדים המורחבים הופיע בכל פעם שהאמולטור סובב.
פרופילי חומרה למכשירים מתקפלים
האמולטור כולל עכשיו פרופילי חומרה למכשירים מתקפלים. כדי להשתמש בפרופילי החומרה החדשים האלה, צריך להשתמש ב-Android Studio 3.5 Canary 10 ואילך.
יש שני פרופילי חומרה של מכשירים מתקפלים שאפשר להשתמש בהם כדי ליצור AVD:
- מכשיר מתקפל בגודל 7.3 אינץ': 1536x2152 במצב פתוח, 4.6 אינץ' 840x1960 במצב מקופל
- מכשיר מתקפל בגודל 8 אינץ': 2,200x2,480 במצב פתוח, 6.6 אינץ' 1,480x2,480 במצב מקופל
כשמפעילים את האמולטור באמצעות אחד מפרופילי החומרה האלה, אפשר לקפל ולפתוח את המכשיר באמצעות פעולות הקיפול והפתיחה בסרגל הכלים של האמולטור, פקודות במסוף או מקשי הקיצור הבאים:
- קיפול:
Ctrl + F(Command + Fב-macOS) - הרחבה:
Ctrl + U(Command + Uב-macOS)
פקודות מאקרו של AR
האמולטור כולל עכשיו פקודות מאקרו של AR שיכולות לעזור לכם לבדוק פעולות AR נפוצות. לדוגמה, אפשר להשתמש בפקודת מאקרו כדי לאפס את כל החיישנים של המכשיר למצב ברירת המחדל שלהם.
מידע נוסף זמין במאמר בדיקת פעולות נפוצות של כללי התראה באמצעות פקודות מאקרו.
תמיכה ב-Vulkan (Windows, Linux)
משתמשי Windows ו-Linux יכולים עכשיו לבדוק אפליקציות Vulkan באמצעות אמולטור Android עד Vulkan 1.1, כשמשתמשים בקובץ אימג' תואם של המערכת (Android Q Beta 3 ואילך ל-Vulkan 1.1, Android Q Beta 2 ל-Vulkan 1.0) וב-GPU מארח תואם (כולל רוב המעבדים הגרפיים של Intel, NVIDIA ו-AMD משנת 2014 ואילך).
כדי להפעיל תמיכה ב-Vulkan, צריך להוסיף את ה-feature flags הבאים לקובץ ~/.android/advancedFeatures.ini (אם הקובץ לא קיים, צריך ליצור אותו):
Vulkan = onGLDirectMem = on
תמיכה ראשונית למפתחי ROM
מפתחי ROM שיוצרים את היעדים sdk_phone_x86 או sdk_phone_x86_64 (גרסאות userdebug, eng) בהסתעפות master של AOSP יכולים עכשיו להריץ אמולטור עם Vulkan.
התמיכה הזו עדיין ניסיונית ומיועדת בעיקר למפתחים שעובדים על קובצי אימג' של המערכת, מנהלי התקנים ומנועי משחקים. עדיין חסרים הרבה תוספים.
עם זאת, יש תמיכה בזיכרון של HOST_COHERENT, ועכשיו אתם אמורים להיות מסוגלים להריץ את הדוגמאות של המדריך ל-Vulkan API.
אם אתם משתמשים ב-Linux, אתם יכולים לנסות את זה באמצעות הפקודות הבאות:
mkdir aosp-mastercd aosp-masterrepo init -u https://android.googlesource.com/platform/manifest -b master --depth=1repo sync -c -j12. build/envsetup.shlunch sdk_phone_x86_64-userdebugmake -j12emulator -no-snapshot -feature Vulkan,GLDirectMem
רינדור Skia עם Vulkan
מעבדי GPU של NVIDIA ו-AMD שתומכים ב-Vulkan תומכים גם בפעולה הדדית ללא העתקה עם OpenGL באמצעות התוסף GL_EXT_memory_objects. האמולטור משתמש ביכולת הזו כדי לספק דרך מלאה לעיבוד של ממשק המשתמש של Android באמצעות ממשקי ה-API של Skia Vulkan.
אם יש לכם GPU של NVIDIA או AMD שתומך ב-Vulkan, אתם יכולים להשתמש בפקודות הבאות כדי לבדוק את העיבוד של Skia עם קובץ אימג' תואם של המערכת (Android Q בגרסת בטא 3 ואילך):
adb shellsusetprop debug.hwui.renderer skiavkstopstart
תמיכה ב-Vulkan ב-macOS
התמיכה ב-macOS עדיין ניסיונית, אבל האמולטור כבר כולל את ממשקי ה-API Swiftshader, MoltenVK ו-libportability (gfx-rs). כדי להתנסות בממשקי ה-API האלה, אתם יכולים להגדיר את משתני הסביבה הבאים:
- Swiftshader:
ANDROID_EMU_VK_ICD=swiftshader - MoltenVK:
ANDROID_EMU_VK_ICD=moltenvk - libportability:
ANDROID_EMU_VK_ICD=portability
בעיות מוכרות
לפעמים HAXM לא מצליח למפות את הזיכרון הקוהרנטי של Vulkan לאורח, והאמולטור נסגר. הבעיה הזו תטופל בעדכון הבא של HAXM.
אמולטור סטרימינג של gRPC (לינוקס)
אנחנו תמיד מנסים להפוך את האמולטור לכמה שיותר ורסטילי, ומאפשרים רינדור GPU ואינטראקטיביות במארח במגוון רחב של הקשרים. למשתמשים שלנו ב-CI ובשולחן עבודה מרוחק יש את הבעיות הבאות כבר הרבה זמן:
- כדי לשלוח פקודות קלט לאמולטור באופן פרוגרמטי, צריך להריץ פקודות adb shell שיכולות לגרום לתקורה גבוהה, או להשתמש במסוף telnet, שהוא מהיר יותר אבל יכול להיות שלא יעבוד עם הגדרות רשת מסוימות.
- משתמשי CI מריצים לעיתים קרובות אמולטורים ללא ממשק משתמש, ולכן קשה להבחין בבעיות שדורשות שהמסך יהיה גלוי או אינטראקטיבי.
- משתמשים בשולחן עבודה מרוחק לא תמיד יכולים להשתמש באמולטור כשהם משתמשים ברינדור GPU במארח, כי רינדור GPU קשור בדרך כלל למסכים הלא וירטואליים של המארח.
כדי לפתור את הבעיה, כשמריצים את האמולטור במכונת Linux, הוא מפעיל שירות gRPC – מסגרת כללית ל-RPC שפועלת דרך HTTP.
כברירת מחדל, שירות ה-gRPC של הסימולטור מושבת, אבל אפשר להפעיל אותו באמצעות האפשרות הבאה בשורת הפקודה, כאשר <port> היא היציאה שבה הסימולטור צריך להגיש בקשות gRPC (בדרך כלל 5556):
-grpc <port>
אחרי שהשירות מופעל, אפשר לשלוח פקודות gRPC מהלקוחות. קבוצת הפקודות הנוכחית מאפשרת גם לשלוח אירועי קלט וגם לקבל צילומי מסך. הפקודות האלה עוזרות לטפל בבעיות הבאות:
- אפשר לשלוח פקודות קלט לאמולטור עם תקורה נמוכה ב-HTTP. HTTP גם מאפשר לשלוח פקודות בהגדרות רשת נוספות.
- אפשר לשלוח פקודות של צילום מסך כדי לשלוח שאילתה למסך הנוכחי, גם אם האמולטור פועל ללא ממשק משתמש. כדי לאפשר אינטראקטיביות, אפשר גם לשלוח אירועי קלט בחזרה לאמולטור.
- משתמשים בשולחן עבודה מרוחק יכולים להריץ את האמולטור ללא ממשק משתמש בתצוגה הראשית עם רינדור מואץ של GPU, תוך שימוש ב-gRPC כדי לקבל צילומי מסך ולשלוח אירועי קלט כדי לקיים אינטראקציה עם האמולטור.
ב-protobuf הזה מופיעה רשימה מלאה של הפקודות הזמינות.
כדי לעזור לכם להתחיל לעבוד עם gRPC, סיפקנו כמה לקוחות לדוגמה שאפשר לעיין בהם.
נכון לעכשיו, הדוגמאות הבאות כלולות:
- שירות מבוסס-Go שאפשר להשתמש בו כדי לשלוח שאילתות לגבי מצבי האמולטור.
- אפליקציית React שמדגימה אינטראקטיביות מרחוק באמצעות צילום מסך וקריאות RPC של קלט. כדי להשתמש בדוגמה הזו, צריך את גרסה 3.7.0 ומעלה של protobuf.
- דוגמה ב-Python ששולחת שאילתה להגדרות ה-VM של האמולטור, ואז שולחת סדרה של פקודות.
28.0.25 (29 במרץ 2019)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
גרסת build של אמולטור ללא GUI
היה קשה להגדיר את האמולטור עם Docker ותהליכי עבודה אחרים של שילוב רציף (CI), כי המערכת הייתה אמורה לתמוך ב-Qt יחד עם יחסי התלות של הספרייה המשותפת (בין היתר).
כצעד ראשון לטיפול בבעיה, הוספנו וריאנט של ה-launcher של האמולטור עם קובצי הפעלה של QEMU שלא תלויים ב-Qt. ב-Linux עדיין יש קישור אל libX11, אבל אנחנו מקווים להסיר גם אותו בקרוב.
כדי להשתמש באמולטור ללא ממשק משתמש, מריצים את האמולטור משורת הפקודה כרגיל, אבל מחליפים את הקריאה הבינארית של האמולטור ב-emulator-headless. מידע נוסף זמין בעדכון הגרסה 28.1.8 Canary.
- תוקנו בעיות של ריצוד ותצוגת פריימים שגויה במעבדי GPU של Intel בזמן הפעלת קובצי אימג' של מערכת Android Q.
- תוקנו בעיות שבהן הוצג מסך שחור כשמשתמשים בתמונות מערכת של Android Q עם סקינים של Pixel 2 XL.
- עכשיו האמולטור מופעל באמצעות קובצי ה-BIOS הבינאריים העדכניים. השינוי הזה יכול לעזור לצמצם את השגיאות מסוג "בקשה להשבתת vCPU" שמתרחשות לפעמים כשמפעילים את האמולטור ב-Windows.
- הוספנו תיקון לגרסאות קודמות של הבעיה "תצוגה שגויה כשממשיכים את קובצי האימג' של מערכת Android Q מתמונת מצב".
- משתמשים נתקלו בבעיות של אמולטורים"לא מורשים" בגלל שינוי לא תואם ב-ADB ב-platform-tools 28.0.2. עכשיו אפשר להשתמש בבטחה ב-ADB מ-platform-tools 28.0.2 עם האמולטור. אם נתקלתם בבעיות שקשורות לאמולטורים "לא מורשים", נסו את השלבים הבאים:
- יוצאים מכל האמולטורים.
- מוחקים את הקבצים
~/.android/adbkeyו-~/.android/adbkey.pub. - מריצים את הפקודה הבאה:
adb kill-server - מריצים את הפקודה הבאה:
adb devices - מוחקים את נתוני ה-AVD.
- מפעילים מחדש את האמולטור.
28.0.23 (29 בינואר 2019)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
קלט האודיו של המארח מושבת כברירת מחדל
בפוסט שפורסם לאחרונה ב-Reddit הוסבר איך מערכת ההפעלה Android של האורח תמיד תשתמש באודיו של המיקרופון של המארח, וכך תאפשר ל-"Ok Google" לפעול באופן בלתי צפוי. אנחנו מצטערים על כך ונעבוד עם צוות Android כדי לוודא שזיהוי מילת ההפעלה מושבת גם בתמונת המערכת.
כדי לטפל בבעיה הזו, ביצענו את השינויים הבאים:
- נתוני האודיו בפועל של המארח מושתקים עכשיו כברירת מחדל. כשהאורח משתמש במיקרופון, מועבר שקט במקום האודיו של המארח.
- אם אתם רוצים להשתמש בנתוני האודיו של המארח, אתם יכולים להפעיל את האפשרות הזו עכשיו. עוברים אל Extended Controls > Microphone (פקדים מורחבים > מיקרופון) ומפעילים את האפשרות Virtual microphone uses host audio input (המיקרופון הווירטואלי משתמש בקלט האודיו של המארח). האפשרות הזו מושבתת באופן אוטומטי בכל פעם שמפעילים מחדש את האמולטור.
עדכונים לגבי בדיקות של השימוש ב-CPU
במהלך החקירות שלנו במסגרת Project Marble, שמנו לב ששימוש גבוה ב-CPU באמולטור בדרך כלל נכלל באחת משלוש הקטגוריות הבאות:
במצב חוסר פעילות: עדכוני אפליקציות אוטומטיים בתמונות של חנות Play
גילינו שבמרווחי זמן אקראיים, כל האפליקציות המותקנות מתעדכנות, גם כשהמשתמש לא מחובר לחשבון. במהלך התהליך, השימוש במעבד (CPU) מגיע למספר הליבות כפול 100% (בדרך כלל כ-400%) ב-GMSCore וב-dex2oat. כדי לפתור את הבעיה, אתם יכולים להשבית את העדכונים האוטומטיים של האפליקציות באפליקציית חנות Play.
במצב של חוסר פעילות: זיהוי של מילת הפעלה
כשנמצאים במסך הבית ואין אפליקציה בחזית, יכול להיות שימוש רב במעבד (כ-25% עם קפיצות ל-50%). הסיבה לכך היא זיהוי מילת ההפעלה, ששולח פינגים למארח כל הזמן. אי אפשר לפתור את הבעיה הזו על ידי השבתת קלט האודיו של המארח, כי עלות המעבד (CPU) נגרמת בעיקר מהזמן שלוקח לעבור מהמארח לאורח. כדי לפתור את הבעיה, אתם יכולים לבטל את הרשאות הגישה למיקרופון של אפליקציית Google.
בזמן פעילות, לפעמים כשאין פעילות: אנימציות
הגורם השלישי לשימוש מוגזם במעבד הוא אנימציות. גילינו שבאמצעות אופטימיזציה של מחסנית מנהלי ההתקנים של הגרפיקה, אנחנו יכולים גם להפחית את השימוש במעבד (CPU) גם כשהאמולטור לא במצב חוסר פעילות. אנחנו נשיק אופטימיזציות של מנהלי התקנים גרפיים בהדרגה כחלק מ-Project Marble.
28.0.22 (21 בדצמבר 2018)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- תוקנה בעיה ותיקה שבה בהגדרות מסוימות, האמולטור של Mac היה מבצע הפעלה מחדש או תגובה לשגיאת ליבה קריטית בשמירה של Quickboot. (בעיה מספר 120951634)
- כשמשתמשים בקובץ ממופה כתמונת מצב של זיכרון ה-RAM, האמולטור מבטל עכשיו את המיפוי של הקובץ באופן מפורש ביציאה.
28.0.20 (11 בדצמבר 2018)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- תוקנה בעיה ב-Windows שגרמה לאמולטור לקפוא בטעינת תמונת מצב בדגמים מסוימים של מעבדים גרפיים של Intel.
- תוקנה בעיה שגרמה למצב מכשיר ADB של
unauthorizedכשמשתמשים במיקוםANDROID_SDK_HOMEלא סטנדרטי. - תוקנה בעיה ב-Windows שגרמה לקריסת האמולטור בזמן הפעלת קובצי אימג' של המערכת כשהאצת המעבד מושבתת.
- תוקנה הבעיה שגרמה לתצוגה מפוקסלת באמולטור. הורדת הרזולוציה אמורה לפעול עכשיו.
- תוקנה בעיה ב-macOS 10.14 ואילך, שבה השליטה במבט העכבר של מצלמת הסצנה הווירטואלית הייתה רגישה מדי בגלל אינטראקציה עם הגדרות אבטחה חדשות של נגישות.
- תוקנה שגיאה בחישוב אזור הזמן שעלולה לגרום לשעון של האמולטור להשתנות באופן ספורדי.
- תוקנו שגיאות עיבוד באפליקציות שונות של cocos2d ו-Unreal Engine.
- הוספנו תמיכה באמולטור ב-Wi-Fi peer-to-peer.
שני אמולטורים יכולים עכשיו לתקשר זה עם זה ישירות דרך Wi-Fi, אם משתמשים בתמונת המערכת העדכנית של Pie חנות Play. כדי להשתמש ב-Wi-Fi בחיבור ישיר, מפעילים שני מכשירי AVD עם אותם ארגומנטים של
-wifi-server-portו--wifi-client-port:emulator @<server-avd-name> -wifi-server-port 9999emulator @<client-avd-name>-wifi-client-port 9999
- הוספנו תמיכה במצלמות אינטרנט נוספות ב-Windows. לשם כך, כל גודל פריים שלא תואם משתנה באופן דינמי כדי להתאים להגדרת המצלמה במערכת Android האורחת.
28.0.16 (נובמבר 2018)
העדכון הזה כולל כמה תכונות חדשות, שיפורים בתכונות קיימות ותיקוני באגים.
שימוש במשאבים
עכשיו האמולטור משתמש בפחות זיכרון RAM באופן כללי, במיוחד כשמשתמשים בתמונות מערכת עם רמת API 28 ומעלה. תמונות המערכת האלה כוללות שימוש משופר בזיכרון למנהלי התקנים גרפיים בצד האורח.
בנוסף, שיפרנו את השימוש במשאבים בתחומים הבאים:
- הפחתת השימוש בזיכרון של האמולטור במהלך בדיקות ארוכות. אם אתם עדיין נתקלים בבעיות בשימוש בזיכרון במהלך בדיקות ארוכות, אתם יכולים ליצור בעיה שמתארת את תרחיש השימוש שלכם ב-Issue Tracker.
- שימוש מופחת במעבד (CPU) בזמן הפעלת אפליקציות עם אנימציות.
- תוקנה בעיה שבה ההקשר של QEMU AIO עלול לדלוף ב-Windows.
הפעלה של כמה מופעים של מכשיר וירטואלי אחד של Android בו-זמנית
עכשיו אפשר להפעיל כמה מכשירים וירטואליים של Android מאותו סוג בו-זמנית. מופעים שאתם מפעילים אחרי המופע הראשון הם לקריאה בלבד, והשינויים שהם מבצעים בדיסק הווירטואלי של האורח נמחקים ביציאה.
כדי להריץ כמה מופעים של אותו AVD בו-זמנית, צריך להפעיל את כל המופעים אחרי המופע הראשון משורת הפקודה באמצעות הדגל -read-only.
התכונה הזו מתאפשרת על ידי העתקת קובצי ה-QCOW2 שמשויכים לחלקים שניתנים לכתיבה בתמונת Android. כדי לעזור לכם לנהל את המקום בכונן, צירפנו גם את כלי שורת הפקודה qemu-img שמאפשר לכם לבצע pre-commit לקובצי QCOW2 לפני שאתם מפעילים כמה מכונות.
בנוסף, כשמשתמשים בתכונה הזו בשילוב עם התכונה File-backed guest RAM snapshots , כמה מכונות של AVD משתפות את תמונת המצב הראשית של Quickboot ב-AVD כמקור משותף של זיכרון RAM לאורחים מסוג copy-on-write. המאפיין הזה אומר שהמכונות חולקות חלק גדול מה-RAM שלהן. התכונה הזו מאפשרת להריץ בדיקות שדורשות כמה מכשירים במקביל.
נשמח לקבל מכם משוב על תרחישי שימוש אפשריים שהם חלק מתהליך העבודה האינטראקטיבי או ה-CI הרגיל שלכם. אפשר ליצור בעיות או להצביע בעדן ב-Issue Tracker.
תמונות מצב של זיכרון RAM של אורח שמגובה בקבצים
הקצאה מראש ומיפוי של זיכרון RAM של אורח כקובץ מאפשרים לאמולטור לשמור תמונות מצב של Quickboot בזמן הריצה, במקום לבצע את כל העבודה ביציאה. אם אתם חווים זמני שמירה ארוכים כשאתם סוגרים את האמולטורים, הפעילו את התכונה הזו כדי לשפר את הביצועים של Quickboot. כברירת מחדל, תמונת מצב של Quickboot נשמרת ביציאה ונטענת שוב בכל פעם, כמו השעיה והפעלה של מכשיר אמיתי.
כברירת מחדל, זיכרון ה-RAM של האורח ב-Android נשמר עכשיו באופן אוטומטי. לכן, אם רוצים להגדיר מצב מכשיר ולטעון שוב ושוב מהמצב הזה, צריך להורות לאמולטור למחוק את השינויים אחרי כל סשן. כדי לעשות את זה:
- משתמשים בדגלים
-no-snapshot-saveאו-read-onlyכשמפעילים את הסימולטור משורת הפקודה. - עוברים אל Extended Controls > Snapshots > Settings ומעבירים את האפשרות Auto-save current state to Quickboot? למצב No.
- אחרי שבוחרים באפשרות הזו, צריך להפעיל מחדש את האמולטור. אם האמולטור מוגדר לשמירה אוטומטית, אפשר להריץ את הפקודה הבאה כדי להגדיר נקודת ביקורת:
אחרי שמריצים את הפקודה הזו, תמונת המצב של האמולטור Quickboot תישאר בנקודת הבדיקה הזו. מריצים שוב את אותה פקודה כדי לטעון את האמולטור מנקודת הבדיקה.adb emu avd snapshot remap 0
תמונות מצב שנוצרות ונטענות דרך ממשק המשתמש של Snapshots פועלות כמו קודם, בלי מיפוי קבצים.
זה שינוי משמעותי באופן הפעולה של Quickboot, ולכן נשמח לקבל מכם משוב על השיפור בביצועים של Quickboot ועל הבעיות שנתקלתם בהן במהלך השימוש. אם נתקלים בבעיות, אפשר להשבית את התכונה הזו על ידי הוספת השורה הבאה לקובץ ~/.android/advancedFeatures.ini:
QuickbootFileBacked = off
כשמפעילים את האמולטור מתמונת מצב (באמצעות האפשרות -snapshot בשורת הפקודה או באמצעות הפעלה מתמונת מצב ב-AVD Manager), האמולטור משבית את השמירה האוטומטית של תמונות מצב של Quickboot ואת השמירה של תמונות מצב של Quickboot ביציאה. כך מקטינים את הסיכוי שתמונת המצב של Quickboot תוחלף בטעות, ונמנעים ממסלולי חזרה איטיים שלא משתמשים בתמונות מצב של Quickboot שמגובות בקבצים.
QEMU 2.12
שינינו את בסיס הקוד של גרסת ה-QEMU שלנו מ-QEMU 2.9 ל-QEMU 2.12. העדכון הזה כולל את השינויים הבאים ב-QEMU:
- https://wiki.qemu.org/ChangeLog/2.10
- https://wiki.qemu.org/ChangeLog/2.11
- https://wiki.qemu.org/ChangeLog/2.12
הנה כמה מהשינויים הבולטים שמשפיעים על אמולטור Android:
- x86: עכשיו
gdbstubמספק גישה לאוגרי SSE. - קובצי אימג' של דיסק: נעילת קובצי אימג' נוספת ומופעלת כברירת מחדל. תהליכי QEMU מרובים לא יכולים לכתוב לאותה קובץ אימג' כל עוד המארח תומך בנעילת OFD או posix, אלא אם צוינו אפשרויות אחרות.
-
qemu-img: qemu-img resizeתומך בהקצאה מראש של החלקים החדשים בתמונה. - עכשיו יש תמיכה בכיווץ QCOW2 ב-
qemuוב-qemu-img.
נגישות
- תוקנו בעיות בקוראי מסך ונוספה תמיכה טובה יותר בכלים האלה בממשק המשתמש של "הקלטת מסך" ו"תמונה במסגרת".
- הסמלים של התראות האתחול המהיר נגישים יותר למשתמשים עם עיוורון צבעים.
גרפיקה
- תוקנה בעיה של גישה לזיכרון מחוץ לתחום שיכולה להתרחש במצביעים של מערך קודקודים ב-OpenGL ES.
- חלק מהמעבדים הגרפיים הישנים לא תמכו ב-OpenGL 2.1 ואילך (שנדרש), או שהיו להם בעיות אמינות אחרות. הבעיות האלה עלולות לגרום לאמולטור לקרוס בהפעלה, לקפוא או לא לפעול בהגדרת ברירת המחדל של ה-GPU. האמולטור עובר עכשיו באופן אוטומטי למנוע הרינדור של Swiftshader אם הוא מזהה שהמעבדים הגרפיים האלה נמצאים בשימוש.
- תוקנה בעיה שגרמה לאמולטור לא לפרסם את ה-frame buffer הנכון אם
FBO != 0היה קשור בזמן שלeglSwapBuffers. - תוקנה בעיה שבה המסך הווירטואלי של Android הופיע רק בפינה השמאלית העליונה. אנחנו חושבים שהסיבה לכך היא הגדרה שגויה של משתני הסביבה של Qt. האמולטור מבטל עכשיו את כל משתני הסביבה שקשורים לשינוי קנה המידה של Qt.
- תוקנה בעיה שגרמה לקריסת האמולטור במצבים מסוימים בזמן טעינת אפליקציות GLES1 מתמונת מצב.
- תוקנו בעיות בו-זמניות ב-OpenGL ובהפעלת שרשורי רינדור שעלולות לגרום לשחרור כפול או לנתונים פגומים.
- אמולטור Android תומך עכשיו בדחיסת טקסטורה ASTC LDR (
GL_KHR_texture_compression_astc_ldr) בקובצי אימג' של המערכת שמשתמשים ברמת API 28 ומעלה. - רוב יחידות ה-GPU המודרניות אמורות עכשיו להפעיל את האמולטור כש-OpenGL ES 3.x מופעל כברירת מחדל, בלי להשתמש ב-feature flag
GLESDynamicVersion. - המאפיין
-gpu guest(רינדור תוכנה במערכת האורחת) הוצא משימוש. תמונות מערכת לרמת API 28 ומעלה עוברות עכשיו באופן אוטומטי לשימוש ב-Swiftshader במקום זאת (-gpu swiftshader_indirect). - אם מפעילים את האמולטור משורת הפקודה באמצעות הדגל
-no-window, מעבד ברירת המחדל הוא עכשיו Swiftshader.
מיקום
- האמולטור יכול עכשיו לעדכן את הכיוון יחד עם מיקום קו הרוחב וקו האורך. החיישן הווירטואלי של המגנטומטר מתכוונן באופן דינמי לצפון המגנטי על ידי הסקת תנועה בזמן הפעלה של קובץ GPX או KML.
- עכשיו אפשר להגדיר את מהירות המכשיר בדף "מיקום".
- כשמפעילים קובץ GPX או KML, המהירות מוגדרת באופן אוטומטי, ומוגדרת לאפס כשההפעלה מסתיימת.
- הגובה כבר לא מוגבל לטווח שבין -1,000 לבין +10,000 מטרים.
- תוקנה בעיה שבה מיקום ה-GPS הווירטואלי לא התעדכן מדי פעם, אלא אם החלון Extended Controls נפתח לפחות פעם אחת.
מצלמה
ב-Windows, יש עכשיו תמיכה ביותר מצלמות אינטרנט כי האמולטור משנה באופן דינמי את הגודל של הפריימים של המצלמה שמועברים ממצלמת האינטרנט. התכונה הזו גם מונעת שגיאות בהעברת פריימים שגורמות לאמולטור להיתקע.
חנות Play
כדי לטפל בבעיות של מחסור במקום בכונן בתמונות של חנות Play, האמולטור משנה עכשיו באופן אוטומטי את הגודל של מחיצת נתוני המשתמש ל-6GB כשהוא פועל עם AVD חדש של חנות Play.
שיפורים כלליים באיכות ותיקונים
- חלק מהמשתמשים דיווחו שהאמולטור פועל לאט. זיהינו סיבה אפשרית אחת: הספרייה הזמנית של האמולטור מכילה יותר מדי קבצים ישנים. כדי לעקוף את הבעיה, האמולטור לא שומר יותר קובצי בדיקת פעילות של ADB בספרייה הזו. עם זאת, יכול להיות שגם מחיקת התוכן של התיקייה הזו תעזור. התיקייה נמצאת באחד מהמיקומים הבאים, בהתאם למערכת ההפעלה:
- ב-Windows:
C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\* - macOS או Linux:
/tmp/android-<username>/*
- ב-Windows:
- אם האמולטור לא יכול לפעול כי אין מספיק זיכרון RAM פנוי, תוצג הודעת שגיאה. אם אתם משתמשים ב-Windows ורואים שיש זיכרון RAM פנוי, אבל עדיין לא מצליחים להפעיל את האמולטור, יכול להיות שחרגתם מה-commit charge. לקבלת עזרה בנושא הזה, אפשר לעיין בדף פתרון הבעיות של האמולטור.
- האפשרות
-sysdirבשורת הפקודה מבטלת עכשיו באופן תקין את ספריית קובצי האימג' של המערכת שהוסקה. - המודם הווירטואלי תומך עכשיו בשאילתה
+MAIלקבלת מידע על פעילות המודם. - תוקנו בעיות שונות שקשורות לדליפות זיכרון, לפגיעה בזיכרון ולשימוש במעבד (CPU). אם אתם נתקלים בקריסות, בדליפות זיכרון או בשימוש גבוה אחר במשאבים, צרו בעיה ב-Issue Tracker.
- תוקנה בעיה שהופיעה שוב ב-macOS 10.14, שבה שימוש באוזניות Bluetooth עם האמולטור פגע באיכות האודיו באופן כללי. כדי למנוע את זה, האמולטור לא משתמש באודיו ב-Bluetooth כשהוא פועל ב-macOS. (בעיה מספר 37070892)
- תוקנה בעיה ב-Windows שבה השעון של האמולטור לא היה באזור הזמן הנכון.
- תוקנה בעיה שגרמה לאיטיות ולתקיעות של האמולטור במערכות Linux עם כוננים קשיחים מסתובבים (HDD).
- תוקנו כמה אזהרות קומפילציה שעלולות לגרום לפגיעה במחסנית ב-macOS.
- תוקנו בעיות שעלולות לגרום לדיווחים מטעים על קריסות.
- תוקנה בעיה בהשמדת מאגרי שרשורים שעלולה לגרום לקריסה אם אחד מהשרשורים לא נוצר בהצלחה.
- תוקנה בעיה ב-macOS שבה טיימרים הפכו ללא אמינים, מה שגרם לתקיעות ולהתנהגות מוזרה אחרת. אם האמולטור נתקע ב-macOS, אתם יכולים לדווח על הבעיה ב-Issue Tracker.
- תוקנה בעיה שבה סגירת האמולטור השביתה את ממשק המשתמש, אבל לא סגרה את האמולטור בפועל.
- תוקנו בעיות שקשורות לקריסות אקראיות, כולל ביטול בגלל פתיחה של יותר מדי מופעים של
/dev/urandom. - תוקנה בעיה שגרמה לכך שהאמולטור לא הופעל אחרי הפעם הראשונה אם ADB נסגר באופן מאולץ.
- ה-build של MIPS הוסר. אם אתם עדיין צריכים את MIPS, אתם יכולים ליצור בעיה ב-Issue Tracker.
- תוקנה בעיה שבה חיבורי ADB עלולים להשתבש בטעינת תמונת מצב.
- תוקנה בעיה שבה בחלון האמולטור הופיעה דמות משנית או שהחלון עבר למקום אחר מחוץ למסך כשחזרנו לתמונת מצב שבה כיוון המכשיר היה שונה מכיוון ברירת המחדל של ה-AVD.
- תוקנו בעיות שקשורות לקריסות בזמן שמירת תמונות מצב.
- ב-Linux, מערכות קבצים מסוג btrfs יכולות לגרום להאטה משמעותית כי האמולטור שומר באופן אוטומטי תמונות מצב ומשתמש בהעתקה בזמן כתיבה (copy-on-write) במכשירי הדיסק הווירטואלי שלו. מומלץ לנקות את הספרייה
~/.android/avdולהריץ את הפקודה הבאה בספרייה הריקה~/.android/avd: הפקודה הזו יוצרת תמונות מצב חדשות בתיקייה שבה מושבתת האפשרות "העתקה בזמן כתיבה".chattr +C
HAXM 7.3.2
אנחנו רוצים להזכיר שוב את HAXM 7.3.2 כי צריך להתקין אותו כדי שקובצי האימג' האחרונים של המערכת יפעלו כמו שצריך באמולטור. גרסה 7.3.2 של HAXM אמורה להיות זמינה כבר בערוץ היציב, ואפשר גם להתקין אותה ידנית מהכתובת https://github.com/intel/haxm/releases.
הנה כמה מהבעיות שהגרסה הזו של HAXM פתרה:
- תוקנו קריסות אקראיות של מערכות הפעלה של אורחים שמשתמשות בליבה עדכנית של Linux (>= 4.6). לדוגמה, Ubuntu 18.04 (#39, #74).
- תוקן באג באמולטור של הוראות x86 שעלול לגרום לקריסה של המארח (#93).
הוצאה משימוש של Windows בגרסת 32 ביט
בגלל שימוש נמוך ועלויות תחזוקה גבוהות, אנחנו מתכננים להוציא משימוש את גרסת ה-32 ביט של אמולטור Android שפועלת ב-Windows. לפני שנסיר את גרסת 32 הביט של אמולטור Android ונוציא אותה משימוש, נשיק תוכנית מעבר. עם זאת, נשמח לקבל משוב או לשמוע על חששות לגבי השינוי העתידי הזה.
אם אתם משתמשים כרגע בגרסת 32 ביט של אמולטור Android שפועלת ב-Windows, ספרו לנו על כך ב-Issue Tracker וציינו איך נוכל לעבוד איתכם בצורה הטובה ביותר בהמשך.
27.3.10 (אוגוסט 2018)
העדכון הזה כולל את תיקון הבאג הבא:
תיקון הגדרת גודל ה-RAM
חלק מהמשתמשים דיווחו שהאמולטור פועל לאט. זיהינו סיבה אפשרית אחת: גודל ה-RAM של ה-AVD בקובץ config.ini של ה-AVD הוגדר באופן שגוי.
כדי לצמצם את הבעיה, האמולטור מגדיל את רמת ה-RAM המינימלית לתמונות שמשתמשות ברמת API 26 ומעלה לרמת ברירת המחדל של Android Studio, שהיא 1,536MB. אם בקובץ config.ini של ה-AVD לא מופיע hw.ramSize במגה-בייט, צריך לפתוח בעיה ב-Issue Tracker.
הקובץ config.ini נמצא במיקום הבא:
~/.android/avd/<avdname>.avd/config.ini
27.3.9 (יולי 2018)
העדכון הזה כולל את השיפורים ותיקוני הבאגים הבאים:
הודעות שגיאה משופרות ב-Windows Hypervisor Platform
חלק מהמשתמשים התקשו להבין למה Windows Hypervisor Platform (WHPX) לא הצליחה לבצע אתחול כשהם הפעילו אמולטור של WHPX. כדי לעזור לכם לאבחן את הבעיות האלה, הוספנו הודעות שגיאה עם מידע מפורט יותר. כדי להפעיל את הודעות השגיאה האלה, צריך להריץ את האמולטור משורת הפקודה באמצעות הדגל -verbose.
תיקונים כלליים
- תוקנו שגיאות OpenGL שמתרחשות כשמצלמים תמונה באפליקציית המצלמה.
27.3.8 (יולי 2018)
העדכון הזה כולל כמה תכונות חדשות, שיפורים בתכונות קיימות ותיקוני באגים.
תמונות מצב
עכשיו אפשר לשמור כמה קובצי Snapshot של AVD לתצורת מכשיר נתונה, ולבחור איזה קובץ Snapshot טעון כשמפעילים את האמולטור.
החל מגרסה Android Studio 3.2 Canary 13, כל תצורת מכשיר כוללת פקד בהגדרות המתקדמות בתיבת הדו-שיח Virtual Device Configuration (הגדרת מכשיר וירטואלי), שבאמצעותו אפשר לציין איזו תמונת מצב של AVD תיטען כשמפעילים את ה-AVD.
כדי להתאים את ההרחבה הזו של תכונות תמונת המצב, הוספנו את הקטגוריה תמונות מצב לתיבת הדו-שיח פקדים מורחבים. החלונית החדשה הזו מכילה פקדים לשמירה ולטעינה של קובצי Snapshot של AVD, כולל הפקדים לשמירה ולטעינה של קובץ Snapshot של אתחול מהיר, שהיו בעבר בחלונית Settings.
אתם יכולים לערוך את השם והתיאור של כל תמונת מצב ששמרתם.
פרטים נוספים זמינים במאמר תמונות מצב.
HAXM 7.2.0
עכשיו אפשר להוריד את HAXM 7.2.0 בכל הערוצים.
העדכון הזה כולל תיקוני באגים ותמיכה משופרת בכמויות גדולות של זיכרון RAM. בנוסף, בעדכון הזה של HAXM ובאמולטור מגרסה 27.3 ואילך, התוכן של קובצי ה-snapshot נטען ל-RAM לפי דרישה, במקום לטעון את כל ה-snapshot כשהמכשיר הווירטואלי מופעל. השינוי הזה אמור לקצר משמעותית את הזמן שנדרש כדי לטעון תמונת מצב.
פרטים נוספים זמינים במאמר הגדרת האצת VM.
27.2.9 (מאי 2018)
העדכון הזה כולל כמה תכונות חדשות, שיפורים בתכונות קיימות ותיקוני באגים.
הקלטת מסך
עכשיו אפשר להקליט וידאו ואודיו מ-אמולטור Android ולשמור את ההקלטה בקובץ WebM או בקובץ GIF מונפש.
אמצעי הבקרה של הקלטת המסך נמצאים בכרטיסייה Screen record (הקלטת מסך) בחלון Extended Controls (אמצעי בקרה מורחבים).
טיפ: אפשר גם לפתוח את אמצעי הבקרה של הקלטת המסך על ידי לחיצה על Control + Shift + R (או Command + Shift + R ב-Mac).
כדי להתחיל להקליט את המסך, לוחצים על הכפתור התחלת ההקלטה בכרטיסייה הקלטת המסך. כדי להפסיק את ההקלטה, לוחצים על הפסקת ההקלטה.
הלחצנים להפעלה ולשמירה של הסרטון המוקלט נמצאים בתחתית הכרטיסייה הקלטת מסך. כדי לשמור את הסרטון, בוחרים באפשרות WebM או GIF מהתפריט שבתחתית הכרטיסייה ולוחצים על שמירה.
אפשר גם להקליט ולשמור הקלטת מסך מהאמולטור באמצעות הפקודה הבאה בשורת הפקודה:
adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm
צילומי מסך
אפשר לצלם צילומי מסך משורת הפקודה באמצעות אחת מהפקודות הבאות:
screenrecord screenshot [destination-directory]adb emu screenrecord screenshot [destination-directory]
צילומי המסך נשמרים בפורמט PNG.
מצלמת סצנה וירטואלית ו-ARCore
עכשיו קל עוד יותר לפתח ולבדוק אפליקציות של מציאות רבודה (AR) באמצעות ARCore, בעזרת מצלמת הסצנה הווירטואלית החדשה שמאפשרת להתנסות במציאות הרבודה בסביבה וירטואלית.
למידע על השימוש במצלמת הסצנה הווירטואלית באמולטור, ראו הפעלת אפליקציות AR באמולטור Android.
תמונות של חנות Google Play במכשיר Pixel
חנות Google Play זמינה עכשיו בתמונות של מכשירי Pixel ו-Pixel 2. הדבר מצוין ב-AVD Manager ב-Android Studio מגרסה 3.2 ואילך, באמצעות הלוגו של Google Play בעמודה חנות Play. במכשירי AVD שבהם חנות Google Play מופעלת, יש כרטיסייה של Google Play בתיבת הדו-שיח Extended controls, שבה יש לחצן נוח לעדכון של Google Play Services במכשיר.
תמונות מצב
עכשיו אפשר לטעון תמונת מצב של אתחול מהיר בלי להפעיל מחדש את האמולטור. כדי לטעון קובץ Snapshot, פותחים את החלון Extended Controls בדף Settings ולוחצים על הלחצן Load Now.
ביצענו שיפורים רבים בטעינה ובשמירה של קובצי snapshot כדי לשפר את יעילות השימוש במשאבים ולצמצם את הזמן שכל פעולה נמשכת. אם אתם עדיין נתקלים בשמירות ארוכות באופן חריג, דווחו על הבעיה וציינו את פרטי המעבד, ה-RAM וההגדרות של כל תוכנת אנטי-וירוס, חומת אש או אבטחה שפועלת.
רינדור באמצעות Skia
כשמשתמשים בתמונות ל-API 27 ואילך, האמולטור יכול לעבד את ממשק המשתמש של Android באמצעות Skia, שיכול לעבד בצורה חלקה ויעילה יותר.
נכון לעכשיו, כדי להשתמש ב-Skia צריך להפעיל אותה באופן מפורש.
כדי להפעיל את הרינדור של Skia, משתמשים בפקודות הבאות ב-adb shell:
su setprop debug.hwui.renderer skiagl stop start
מצלמה
ב-Windows, אמולטור Android משתמש עכשיו ב-Media Foundation בתור הקצה העורפי של מצלמת האינטרנט, מה שמשפר מאוד את הביצועים ואת קצב הפריימים של הצילום במצלמת האינטרנט, עד 720p ו-30 FPS.
ב-Mac, עכשיו אפשר להשתמש ב-webcam0 וב-webcam1 ביחד.
שונות
אפשרות שורת הפקודה -phone-number-prefix שונתה ל--phone-number [number], שמאפשרת להגדיר את מספר הטלפון המלא.
עכשיו אפשר להשתמש בכתובות SMS אלפאנומריות.
תיקונים
- גרסת ה-Linux של אמולטור Android נוצרת עכשיו באמצעות toolchain מודרני של Clang C++. השינוי הזה פותר את הבעיה שבה האמולטור לא מופעל בגלל שגיאות libGL ו-libstdc++.
- תוקנו כמה גורמים לקריסות ולתקיעות.
- כדי למנוע קריסות ותקיעות שנגרמות בגלל שאין מספיק מקום פנוי בכונן, האמולטור בודק עכשיו אם יש מספיק מקום פנוי בכונן בזמן ההפעלה, ולא יתחיל לפעול אלא אם יש לפחות 2GB פנויים.
- תוקנה בעיה שמנעה עיבוד של משחקי Unity מסוימים.
- תוקנה בעיית DNS שגרמה לכך שהאמולטור לא הצליח להתחבר לרשת.
- תוקנה בעיה שגרמה לכך ששינויים באחסון הפנימי שהוקצה ל-AVD דרך תיבת הדו-שיח Virtual Device Configuration לא פעלו.
- תוקנה בעיה שבה נוצרו הרבה תהליכי adb שלא נסגרו כמו שצריך.
- תוקנה בעיה שגרמה לכך שכפתורי הסיבוב וחלקים אחרים בממשק המשתמש לא הגיבו, אלא אם החלון Extended controls (פקדים מורחבים) היה פתוח.
- תוקנה בעיה שגרמה לכך שהעתקה והדבקה מהמארח לא פעלו, אלא אם תיבת הדו-שיח של אמצעי הבקרה המורחבים נפתחה לפחות פעם אחת.
- המלבן לשינוי הגודל של האמולטור ללא מסגרת עודכן כדי להתאים טוב יותר לעיצוב החזותי של האמולטור.
- הטלפון וה-SMS מושבתים עכשיו כמו שצריך כשמצב טיסה מופעל.
- תוקנה בעיה שגרמה להשבתת הפונקציונליות של SMS ושל הרשת הסלולרית אחרי טעינת קובץ snapshot.
- לא תקבלו יותר הודעות אזהרה שגויות כמו
“Unable to open... \pstore.bin. Permission denied.” - תוקנה בעיה שמנעה את שינוי המיקום של ה-AVD בחלק מהמסכים של Mac.
- תוקנו בעיות של הבהובים ומסכים ריקים במחשבי MacBook Pro חדשים יותר, כשמפעילים מכשירי AVD עם מעטפת של Pixel 2 XL.
- תוקנו בעיות של מסכים ריקים כשעוברים למצב זום בזמן שאמולטור ללא מסגרת היה פעיל.
- תוקנה בעיה שגרמה לכך שמעטפת המכשיר ותוכן האמולטור נגללו באופן לא מסונכרן כשמגדילים את התצוגה.
אם אתם עדיין נתקלים בבעיות של חוסר יציבות או קפיאות, דווחו על הבעיה.
27.1.12 (מרץ 2018)
העדכון הזה כולל תיקונים לבעיות הבאות:
- איכות האודיו ב-Bluetooth ירדה אחרי הפעלת האמולטור. (בעיה מספר 37095756)
- מיקומים שנשלחו לאמולטור אחד נשלחו לכולם. (בעיה מספר 73450633)
- מיקום ה-GPS שהוגדר באמצעות המסוף הוחלף בערכים שהוגדרו באמצעות Extended Controls > Location בממשק המשתמש הגרפי. (בעיה מספר 73471760)
אם אתם עדיין נתקלים בבעיות של חוסר יציבות או קפיאות, דווחו על הבעיה.
עם העדכון הזה, קובץ אימג' עדכני של המערכת וגרסת טרום-השקה (Preview) של Android Studio, אתם יכולים להשתמש באמולטור Android כדי להריץ אפליקציות של מציאות רבודה שנוצרו באמצעות ARCore. דרישות והוראות מפורטות זמינות במאמר הפעלת אפליקציות AR באמולטור Android.
27.1.10 (פברואר 2018)
רזולוציית הצילום במצלמה
עכשיו אפשר לצלם פריימים באיכות 720p ממצלמת אינטרנט מחוברת.
כדי לעבוד עם קובצי אימג' של מערכת Android 8.1 (רמת API 27) ומעלה, כל מצלמת אינטרנט מחוברת חייבת להיות מסוגלת לצלם פריימים באיכות 720p.
תיקונים
- תוקנה בעיה שגרמה לכך שלפעמים התמונה שצולמה במצלמת האינטרנט הייתה מעוותת או ירוקה לגמרי.
- תוקנה בעיה שגרמה להצגת ההודעה הבאה גם כשלא הייתה בעיה אמיתית: "emulator: ERROR: detected a hanging thread 'Qt event loop'. No response for 15000 ms".
אם אתם עדיין נתקלים בבעיות של חוסר יציבות או קפיאות, דווחו על הבעיה.
thought 27.1.7 (פברואר 2018)
חלון אמולטור ללא מסגרת:
כברירת מחדל, אמולטורים עם קובצי מעטפת של מכשירים מוצגים עכשיו בלי מסגרת חלון מסביב. כדי להציג את מסגרת החלון שמסביב, מפעילים את האפשרות Show window frame around device בחלונית Settings של החלון Extended Controls.
שיפורים באתחול המהיר כדי לייעל את העבודה עם קובצי Snapshot של AVD:
- אפשר לשמור קובץ Snapshot של AVD בכל שלב באמצעות הלחצן Save Now בחלונית Settings של תיבת הדו-שיח Extended Controls.
- במקרים רבים, האמולטור מקצר את הזמן שלוקח לשמור קובץ snapshot, כי הוא שומר רק את ההבדל בין המצב הנוכחי לבין קובץ ה-snapshot שנשמר קודם.
לפרטים נוספים, עיינו במסמכי התיעוד של Quick Boot.
האמולטור עודכן לשימוש ב-QEMU 2.9.
הנה כמה מהשיפורים הבולטים:
- קלט/פלט (I/O) אופטימלי ונעילת שרשור קלט/פלט (I/O) מפורטת יותר לביצועים טובים יותר.
- באגים שתוקנו מאז QEMU 2.8 (26.1.4).
- הטמעה חדשה של הקצה העורפי של HAXM.
הרשימה המלאה של השינויים מופיעה ביומן השינויים של QEMU 2.9.
הטמעת Swiftshader שתואמת ל-OpenGL ES 3.0:
מעבד ה-Swiftshader של האמולטור תואם עכשיו באופן מלא ל-OpenGL ES 3.0. פרטים על מנוע הרינדור Swiftshader מופיעים בקטע Settings > Advanced (הגדרות > מתקדם) במאמר Extended Controls (פקדים מורחבים).
תיקונים
- תוקנה בעיה שבה שיתוף הלוח לא פעל אלא אם האפשרות הפעלת שיתוף הלוח הושבתה והופעלה מחדש.
- תוקנה בעיה שבה המערכת נתקעה כשמשתמשים בקצה העורפי של רינדור Swiftshader עם מכשירי AVD ברזולוציה נמוכה.
27.0.5 (ינואר 2018)
ANGLE לעיבוד ב-Windows מושבת עכשיו כברירת מחדל.
אם ANGLE פועל טוב יותר, אפשר להפעיל אותו מחדש באמצעות הגדרת flag בשורת הפקודה
-gpu angle_indirect. אפשר גם לפתוח את החלון Extended controls, לעבור אל Settings > Advanced ולבחור באפשרות ANGLE D3D11 בהגדרה OpenGL ES renderer.תוקנה בעיה שבה לחיצה על Shift+B לא הקלידה את האות B.
27.0.2 (דצמבר 2017)
תכונת האתחול המהיר החדשה מאפשרת זמני הפעלה מהירים יותר של האמולטור, על סמך תמונת מצב של מכונה וירטואלית של מכשיר Android.
התכונה "אתחול מהיר" מופעלת כברירת מחדל בכל מכשירי ה-AVD. בפעם הראשונה שמפעילים AVD, צריך לבצע אתחול קר (כמו הפעלת מכשיר), אבל כל ההפעלות הבאות מהירות והמערכת משוחזרת למצב שבו סגרתם את האמולטור (בדומה להפעלת מכשיר ממצב שינה).
כדי לקבוע מתי האמולטור ישמור קובץ Snapshot, פותחים את חלון הפקדים המורחבים של האמולטור ולוחצים על Settings. כאן אפשר לבחור אחת מההגדרות הבאות ל-Save quick boot state on exit:
- כן: תמיד לשמור תמונת מצב של אתחול מהיר כשסוגרים את האמולטור. זוהי אפשרות ברירת המחדל.
- No: אף פעם לא לשמור תמונת מצב של אתחול מהיר, תמיד לבצע אתחול קר.
- Ask: הצגת בקשה לשמירת תמונת מצב של אתחול מהיר כשסוגרים את האמולטור.
הבחירה שלכם חלה רק על ה-AVD שפתוח כרגע.
מידע נוסף זמין במאמרי העזרה בנושא אתחול מהיר.
הוספנו תמיכה ב-Mac OpenGL ES 3 (לקובצי אימג' של המערכת שמשתמשים ברמת API 24 ומעלה, Google APIs ו-x86 ABI).
כדי לשפר את היציבות באפליקציות OpenGL ES 2+, האמולטור משתמש עכשיו בפרופיל הליבה של OpenGL, אם הוא זמין.
אפשרויות חדשות לעיבוד באמצעות Swiftshader או ANGLE:
-
-gpu swiftshader_indirect: גרסה מהירה ויציבה יותר של Swiftshader שפועלת עם "אתחול מהיר". -
-gpu angle_indirect(ב-Windows בלבד): גרסה יציבה יותר של ANGLE D3D שפועלת גם עם אתחול מהיר.
האפשרויות הישנות יותר,
-gpu swiftshaderו--gpu angle, הוצאו משימוש. בחלון Extended controls, האפשרויות SwiftShader ו-ANGLE להגדרת הרינדור של OpenGL ES בקטע Settings > Advanced משתמשות עכשיו בגרסאות של*_indirect.-
תיקוני באגים שונים.
26.1.4 (אוגוסט 2017)
זו גרסה משנית עם תיקוני באגים והשיפורים הבאים בהגדרות ה-GPU:
- הפעלת אנימציית אתחול כשמפעילים את מנוע הרינדור של ANGLE
- השבתת GLES3 כשפועל מנוע רינדור של ANGLE
26.1.3 (אוגוסט 2017)
זו גרסה משנית עם תיקוני באגים, שיפורי ביצועים ושינויים קלים בתכונות.
- הגרסה הזו נדרשת עכשיו כדי להשתמש בתמונות המערכת העדכניות של Android 8.0.
הם תואמים ל-Treble,
ויש להם מחיצות
vendor.imgנפרדות. - גרסה חדשה של HAXM (6.2.0) זמינה עכשיו (אפשר לבדוק ב-SDK Manager) וכוללת את העדכונים הבאים:
- שימוש משופר בזיכרון. קבוצת העבודה המקסימלית של הזיכרון שמוצמד על ידי HAXM כבר לא שווה לגודל ה-RAM של ה-AVD. במקום זאת, הזיכרון מועבר לדפים לפי דרישה. זה אמור לעזור לאמולטור לפעול בצורה אמינה יותר במכונות עם פחות זיכרון RAM.
- האמולטור עם HAXM 6.2.0 יכול עכשיו לבצע אתחול מהיר יותר ב-macOS, ולדלג על שלב אתחול ארוך.
- שיפורים בהגדרות ה-GPU
- תוקנו בעיות של מסך שחור בזמן ההפעלה כשמבצעים רינדור תוכנה בצד האורח, על ידי חזרה לרינדור תוכנה בצד המארח באמצעות Swiftshader. בגרסאות האחרונות של קובצי האימג' של המערכת לרמות API 19 עד 25 עם Google APIs, הרינדור בצד האורח אמור לפעול.
- תוקנה בעיה שבה האמולטור הועבר למרנדר תוכנה בגלל זיהוי של מעבדי GPU ישנים יותר של Intel, אבל האמולטור פעל בפועל על GPU נפרד. ההחלטה אילו יחידות GPU יועברו לשימוש בעיבוד של ANGLE או Swiftshader נקבעת באופן הבא:
- ב-iGPU ישנים יותר של Intel יש בעיות בדרייברים של OpenGL ושל ANGLE D3D. משתמשים עם Intel HD Graphics 3xxx וגרסאות ישנות יותר ישתמשו ב-Swiftshader.
- חלק מהמשתמשים דיווחו שהם לא מצליחים להשתמש בתמונות ברמת API 25 בגלל באג שגורם להודעה "מרכז האפליקציות של Pixel ממשיך להפסיק לפעול". נראה שזו בעיה במנהל ההתקן בדגמים מסוימים של Intel HD 4xxx. לכן, הם יועברו לשימוש ב-ANGLE באופן אוטומטי.
- כדי לקבל את התוצאות הכי טובות עם אמולציית GPU, מומלץ להשתמש ב-GPU נפרד של NVIDIA או AMD, או ב-GPU חדש יותר של Intel (Iris, HD 5xxx, HD 5xx/6xx).
- תוקנה בעיה שבה האמולטור לא הופעל (האמולציה של OpenGL לא אותחלה) אם ה-AVD הוגדר עם
hw.gpu.mode=hostוהאמולטור הופעל בלקוח של שולחן עבודה מרוחק. - הבהרנו את ההגדרות של "רמת ה-API של OpenGL ES (נדרשת הפעלה מחדש)". הוספנו אפשרות לשדרג לאחור מ-OpenGL ES 3 ל-OpenGL ES 2 אם נתקלים בבעיות או אם צריך לבדוק ברמות API נמוכות יותר של OpenGL ES.
- כלי הרינדור של Mesa הוצא משימוש.
hw.gpu.mode=mesaיעבור עכשיו באופן אוטומטי לשימוש ב-Swiftshader במארח.
- שיפורים ב-macOS:
- האמולטור תואם עכשיו באופן מלא ל-macOS 10.13 High Sierra באמצעות Hypervisor.Framework או HAXM 6.2.0.
- Hypervisor.framework מופעל עכשיו כברירת מחדל ב-macOS לתמונות x86 ב-32 ביט, כדי לשפר את הביצועים ואת התאימות ל-macOS. אם נתקלתם בבעיות ספציפיות, אתם יכולים לדווח על באג ולהוסיף את
HVF = offלקובץ~/.android/advancedFeatures.ini(אם הקובץ לא קיים, צריך ליצור אותו). - תוקנו בעיות שקשורות להיעדר חיבור לאינטרנט או לכשל בצירוף מנקה באגים בזמן השימוש ב-Hypervisor.framework.
- כדי לשפר את התאימות והביצועים של צילום במצלמת אינטרנט, הצילום במצלמה שמבוסס על QTKit הוחלף בצילום במאגר נתונים זמני שמבוסס על AVFoundation.
- הוספנו תמיכה ב-Wi-Fi בחלק מקובצי האימג' של המערכת (כרגע רק ברמת API 25).
יש נקודת גישה שנקראת AndroidWifi, ומכשיר Android מתחבר אליה באופן אוטומטי. כדי להשבית את התמיכה ב-Wi-Fi, מריצים את האמולטור עם הפרמטר
-feature -Wifiבשורת הפקודה. - חלק מהמשתמשים הביעו חשש שבתמונות המערכת של חנות Play בגודל קבוע אין מספיק נפח אחסון. לכן, הגדלנו את הנפח ל-2GB כברירת מחדל (במקום 800MB).
- הוספנו מקש קיצור (Ctrl+Shift+U) לפתיחת דף ממשק המשתמש של דיווח על באגים ישירות מדף ההגדרות.
- תוקנה בעיה שבה אם נעשה שימוש במעבד ישן יותר עם Intel x86 EPT אבל בלי UG, האמולטור לא הצליח לבצע אתחול אם הוגדרה יותר מליבה אחת.
- תוקנה בעיה שבה HyperV זוהה באופן שגוי אם האמולטור עצמו פעל ב-Xen hypervisor.
- תוקנה בעיה שגרמה לקריסת האמולטור בהפעלה בחלק מההגדרות של Linux.
26.1.2 (יולי 2017)
הגרסה הזו כוללת תכונות חדשות ושיפורי ביצועים.
הוספנו את האפשרות להגדיר Proxy ל-HTTP בהתאמה אישית באמצעי הבקרה המורחבים (לוחצים על סמל האפשרויות הנוספות
, ואז על הגדרות ועל Proxy). כברירת מחדל, האמולטור משתמש בהגדרות של שרת ה-proxy ל-HTTP של Android Studio, אבל במסך הזה אפשר להגדיר ידנית את שרת ה-proxy.
נוספה תמיכה ב-VNC ל-GPU במצב אורח, כדי שיהיה אפשר לצפות באמולטור ולשלוט בו מרחוק. לדוגמה, אפשר להפעיל את האמולטור ולהגדיר ש-VNC יאזין ליציאה 5901 באופן הבא:
- הפעלה:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1 פותחים מציג VNC, כמו tightvnc viewer, כדי להתחבר ליציאה 5901.
כדי להשתמש בלקוח המובנה של Mac לשיתוף המסך, צריך סיסמת VNC כשמפעילים את האמולטור. כדי להגדיר סיסמה, משתמשים בפקודה הזו:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdioואז מזינים
change vnc passwordבמסוף ומזינים סיסמה.
בשלב הזה, אין תמיכה ב-Android O במצב VNC.
- הפעלה:
הוספנו את הכפתור File a bug במסך העזרה של אמצעי הבקרה המורחבים (לוחצים על More
, ואז על Help ועל Emulator help). לחיצה על File a bug פותחת תיבת דו-שיח שבה אפשר לראות את פרטי הדוח על הבאג, כמו צילום המסך, פרטי ההגדרה של ה-AVD ויומן הדוח על הבאג. אחרי זה אתם יכולים לשמור את הדוח לעצמכם או לדווח על בעיות באמולטור.נוסף חיישן גירוסקופ לאמולטור ולחלונית החיישנים הווירטואליים. כדי שהתכונה הזו תפעל, נדרשת תמונת מערכת עם תמיכה בגירוסקופ (כרגע רמת API 24 ו-25).
הוספנו DNS מועדף על המארח לרשימת ה-DNS של Qemu ב-Windows, כשממשקי רשת וירטואליים מרובים במארח מציגים כמה כתובות DNS שלא פועלות באמולטור.
הוספנו תמיכה ניסיונית ב-Hypervisor.Framework של macOS לתמונות x86 ב-32 ביט ב-macOS 10.10 ואילך באמצעות דגלי שרת, מה שאמור לשפר את זמן ההפעלה והביצועים.
- אם נתקלים בבעיות, מוסיפים את השורה
HVF = offבקובץ~/.android/advancedFeatures.ini.
- אם נתקלים בבעיות, מוסיפים את השורה
OpenGL ES 3.x מופעל עכשיו כברירת מחדל בקובצי אימג' של המערכת ובמעבדים גרפיים מארחים שתומכים ב-OpenGL ES 3. נכון לעכשיו, רק מארחי Android O (רמת API 26) ו-Windows/Linux תומכים ב-OpenGL ES 3.
- אם נתקלים בבעיות ב-OpenGL ES 3, מוסיפים את השורה
GLESDynamicVersion = offבקובץ~/.android/advancedFeatures.ini.
- אם נתקלים בבעיות ב-OpenGL ES 3, מוסיפים את השורה
האמולטור משתמש עכשיו באובייקטים של מאגר נתונים זמני של פריימים (FBO) ב-OpenGL מחוץ למסך לכל העיבודים, מלבד פרסום תמונת התצוגה הסופית, מה שאמור לעזור בבעיות של עקביות בצבעים בפלטפורמות שונות.
אחרי שאספנו נתונים על בעיות של האטה פתאומית באמולטור, הגענו למסקנה שהבעיה יכולה להיות קשורה לאינטראקציה בין מנהלי התקנים ישנים של Intel OpenGL לבין עדכוני Windows. לכן, למשתמשים עם Intel HD 4000, 3000, 2000 (ומעבדים גרפיים קשורים) יש עכשיו עיבוד שמוגדר כברירת מחדל למעבד D3D (ANGLE) או ל-Swiftshader (מעבד תוכנה).
26.0.0 (מרץ 2017)
הגרסה הזו תואמת לרמת API 26. היא כוללת גם כמה שיפורים בביצועים ותיקוני באגים.
גרסה משנית 26.0.3 (מאי 2017)
- מוסיף דגלי תכונות שניתן לעדכן אונליין כדי לטפל במהירות בבעיות שנובעות מהגדרות חומרה בעייתיות. כך Google יכולה להשיק תיקונים ותכונות שתלויים בהגדרות של המשתמשים, על ידי עדכון דגלים בצד השרת. אם אתם נתקלים בבעיות בחומרה ספציפית, דווחו על באג כדי שנוכל לבדוק את הבעיה.
- תמיכה חדשה בחוגה להזנת נתונים בתמונות מערכת של Android Wear ברמת API 25. כדי לדמות את החוגה להזנת נתונים במכשיר Wear, לוחצים על הכרטיסייה Rotary Input בחלון המורחב.
- עכשיו אפשר לשנות את הגודל של תיבת הדו-שיח "דיווח על קריסה", והיא לא מאפסת יותר את ההגדרה מתי לשלוח דוחות קריסה לשאל בלי קלט.
- כדי למנוע מצב שבו נגמר המקום במרחב הכתובות הווירטואליות בנפח 2GB, באמולטור של 32 ביט נדרש עכשיו שגודל ה-RAM המקסימלי של ה-AVD יהיה קטן מ-512MB או שווה לו.
- נוספה תמיכה בנתיבים מוחלטים בתמונות של אמולטורים.
- הוספת כרטיסייה חדשה בחלון המורחב לתמונות של חנות Google Play, שבה מוצגת הגרסה של Play Services וכפתור לבדיקת עדכונים ל-Play Services.
- מוסיף תפריט נפתח לבחירת מנוע הרינדור של OpenGL בדף ההגדרות של האמולטור. אם נתקלתם בבעיות עם מנהל ההתקן של OpenGL במחשב Windows, נסו להשתמש באפשרויות ANGLE (D3D11) או ANGLE (D3D9) (נדרשת הפעלה מחדש). אם נתקלתם בבעיות בדרייבר של OpenGL במחשב שאינו Windows, נסו להשתמש בכלי לעיבוד תוכנה Swiftshader (נדרשת הפעלה מחדש).
- תיקון קריסה נדירה ביציאה כשהאמולטור מקבל גם את הפקודה
exitוגם את הפקודהminimize. - תיקון בעיה בהתאמה לגודל המסך כשמחליפים מסכים במחשב Mac. (בעיה מספר 268296)
- תיקון בעיה שבה האמולטור תופס 300% מהמעבד (CPU) ומחזיק אותו אחרי שהמחשב המארח יוצא ממצב שינה, או כשהאמולטור פועל במשך זמן רב.
- תיקון קריסה בזמן כיבוי האמולטור.
עדכונים ב-HAXM גרסה 6.1.1 (מרץ 2017)
הערה: גרסה 6.1.1 של HAXM זמינה למשתמשי Mac דרך SDK Manager החל מ-30 במרץ, ותהיה זמינה למשתמשי Windows בקרוב.
גרסה 26.0.0 של אמולטור Android תומכת ב-HAXM v6.1.1, שכוללת את העדכונים הבאים:
- הפעלת אמולציה של יחידות ניטור ביצועים (PMU). (בעיה מספר 223377)
- תיקון בעיות שקשורות לשימוש ב-VirtualBox וב-Docker במחשבי Mac. (בעיה מספר 197915)
- תיקון הודעת השגיאה שמוצגת בהתקנה כשמנהל ההתקנה לא מצליח לזהות את Intel VT-x ב-Windows, בדרך כלל כי Hyper-V מופעל.
- הוספנו תמיכה בהאצת אמולטור Android במכונה וירטואלית של Windows שמבוססת על Hyper-V. כדי לבצע את העדכון, צריך להשתמש בגרסה העדכנית של Hyper-V במכונה המארחת (זו שמנהלת את המכונה הווירטואלית או המכונה האורחת של Windows), כשהווירטואליזציה המקוננת מופעלת. צריך להשבית את Hyper-V במכונה הווירטואלית של Windows.
פניות קשורות
- גרסה 25.0.4 ומעלה של Android SDK Platform-Tools.
- גרסה 26.0.0 ומעלה של Android SDK Tools.
תכונות חדשות ותיקוני באגים
- תואם לרמת API 26.
- תאימות מלאה ל-GLES 2.0. אם למארח יש GPU עם מנהלי התקנים תואמים של OpenGL למחשב, האמולטור עובר עכשיו 100% מ
mustpassהרשימה של Android CTS dEQP-GLES2. התכונה הזו הושקה לקובצי אימג' של x86 ברמת API 24 (גרסה 11 ואילך), ובקרוב היא תיכלל בכל קובצי האימג' של המערכת. - ביצועים משופרים של הפעלת סרטונים. האמולטור מאחסן עכשיו את כל מאגרי הצבעים של הסרטונים בזיכרון המשותף של המארח/האורח, ומבצע את ההמרה הסופית הנדרשת מ-YUV ל-RGB ב-GPU. רוב המערכות יכולות להגיע בקלות ל-1080p30. התכונה הזו הושקה לקובצי אימג' של x86 ברמת API 24 (גרסה 11 ואילך), ובקרוב היא תיכלל בכל קובצי האימג' של המערכת.
- האמולטור מבטל עכשיו את הרישום שלו מרשימת
adb devicesביציאה וסוגר יציאות TCP פתוחות במכונות Linux. - חיבורי adb אמינים יותר עכשיו. אמולטור פועל מזוהה מהר יותר, והוא לא נכנס יותר לסטטוס "אופליין" או "לא מורשה".
25.3.0 (מרץ 2017)
החל מהגרסה הזו, אמולטור Android יופץ בנפרד מכלי ה-SDK. הגרסה הזו כוללת מגוון שיפורים בביצועים, תכונות חדשות ותיקוני באגים.
גרסה משנית 25.3.1 (מרץ 2017)
- תוקנה קריסה שמתרחשת בחלק מההגדרות של ה-GPU על ידי השבתת GLAsyncSwap כברירת מחדל.
התכונה הזו נוספה בגרסה 25.3.0 כדי לשפר את זמן רינדור הפריים ואת FPS במשחקים ובסרטונים, אבל היא גורמת לאמולטור להיכשל בחלק מהגדרות המכונה הלא ידועות. כדי להפעיל אותו ידנית, פותחים את הקובץ
android_sdk/emulator/lib/advancedFeatures.iniומגדירים אתGLAsyncSwap = on.
פניות קשורות
- Android SDK Platform-Tools גרסה 24 ואילך.
- גרסה 25.3.0 של Android SDK Tools.
תכונות חדשות ותיקוני באגים
- מנוע האמולציה עודכן ל-QEMU 2.7, כולל כל תיקוני הבאגים האחרונים, שיפורים בביצועים ותכונות חדשות.
- תמיכה חדשה ב-IPv6.
- האמולטור משתמש עכשיו ב-SwiftShader ככלי רינדור תוכנה טהור במארח.
- שיפורים בביצועים של Android Pipe: Android Pipe, ערוץ התקשורת הראשי בין האמולטור לבין Android OS, מהיר עכשיו בסדר גודל, עם זמן אחזור קצר יותר וביצועים טובים יותר של ריבוי הליכי משנה. השינוי הזה משפר את הביצועים של האמולטור בכמה דרכים, כולל:
- שיפור מהירות הדחיפה/המשיכה של ADB.
- תמיכה טובה יותר בהאצת תלת-ממד.
- שיפור התגובה הכוללת של האמולטור.
- ביצועים גרפיים משופרים.
- האמולטור משתמש עכשיו במאגרים בצד ה-GPU (glBindBuffers / glBufferData) כשהאורח מבקש אותם, וכך מפחית את התקורה של המעבד (CPU) באפליקציות מסוימות.
- תמיכה משופרת באודיו.
- קלט/פלט (I/O) מהיר יותר בדיסק: האמולטור משתמש עכשיו בשרשורים נפרדים כדי לשלוח קלט/פלט בדיסק, וכתוצאה מכך זמן האחזור קצר יותר וקצב הנתונים גבוה יותר (מהירות קלט/פלט רציפה גבוהה פי 1.5 בערך, מהירות קלט/פלט של גישה אקראית גבוהה פי 5 בערך). כך גם מצטמצם מספר הפעמים שבהן נתונים נכתבים בדיסק, וכתוצאה מכך העומס על המכשיר הפיזי נמוך בהרבה.
- האמולטור משתמש עכשיו בקבצים חסכוניים (sparse) להפעלת דיסקים במכונות Windows, מה שמאיץ את ההפעלה הראשונה ואת ההפעלות של "מחיקת נתונים". כשיוצרים או מאפסים AVD, האמולטור כותב עכשיו 100-200MB של נתונים לדיסק, במקום 2GB או יותר.
- שיפורים שונים בממשק המשתמש הגרפי:
- האמולטור משתמש עכשיו ב-Qt 5.7.0, שכולל תיקוני באגים ושיפורי ביצועים.
- באתחול של ממשק המשתמש לא מתבצע יותר ניסיון לטעון את כל קובצי ההפעלה של האמולטור כיישומי פלאגין של Qt, כך שהאתחול קצר בהרבה, במיוחד בכונני HDD.
- האינטראקציות בממשק המשתמש מהירות וחלקות יותר, כולל סיבוב, שינוי גודל החלון וטעינה וסגירה של חלון הפקדים המורחבים.
OpenXR™ והלוגו של OpenXR הם סימנים מסחריים בבעלות The Khronos Group Inc. ורשומים כסימנים מסחריים בסין, באיחוד האירופי, ביפן ובבריטניה.