אמולטור Android כלול ב-Android Studio.
גרסאות של האמולטור שקדמו לגרסה 25.3.0 הופצו כחלק מ-Android SDK Tools.
כדי לוודא שמותקנת אצלכם הגרסה העדכנית ביותר, צריך לבדוק אם יש עדכונים בSDK Manager.
כדי להוריד גרסאות קודמות של אמולטור Android, אפשר לעיין בארכיון ההורדות של אמולטור.
נתוני הגרסה של גרסאות Emulator שקדמו לגרסה 25.3.0 זמינים בנתוני הגרסה של Android SDK Tools.
כדי לראות אילו בעיות תוקנו בגרסאות האחרונות של Android Emulator, אפשר לעיין בבעיות שנסגרו.
לבעיות מוכרות ולפתרון בעיות, אפשר לעיין במאמר פתרון בעיות באמולטור.
37.1.11 יציב (30 ביולי 2026)
מנהל ההתקן של ההיפר-ויז'ר (hypervisor) של אמולטור Android (AEHD) יצא משימוש ב-31 בדצמבר 2026. כדי לעזור במעבר, Android Studio עוזר עכשיו למשתמשי Windows להמיר מ-AEHD ל-Windows Hypervisor Platform (WHPX). במאמר הגדרת האצת מכונה וירטואלית באמצעות WHPX יש מידע על הגדרת האצת מכונה וירטואלית באמצעות WHPX.

נוסף מכשיר Pixel 10a AVD
הוספנו תמיכה בתוספים חדשים של Vulkan שנדרשים להרצת תמונות מערכת של API 37
[תיקון באג]בעיה מספר 324465986 לא מוצגת שגיאה על חוסר מקום באחסון כשמצלמים תמונה באמולטור ללא מקום
[תיקון באג]בעיה מספר 526671872 תמיכה בסיומות של יחידות (למשל, 6G, 32M) עבור זיכרון RAM של AVD וגודל Heap של מכונה וירטואלית בהגדרות של config.ini
[תיקון באג]בעיה מספר 325814592 בעיה שהופיעה ב-macOS 14, שבה האמולטור מתחיל לקפוא ולעבוד לאט מאוד אחרי הפעלת המצלמה
36.6.11 Stable (2 ביוני 2026)
החל מ-API 37, הזיכרון המינימלי (RAM) שבו נעשה שימוש במכונה הווירטואלית של ה-AVD הוגדל ל-4GB.
כדי לתמוך בדרישות הזיכרון הגבוהות יותר של Android 17 (API 37), מכשירי Android וירטואליים (AVD) לטלפון דורשים עכשיו זיכרון RAM בנפח 4GB לפחות. אם ה-AVD מוגדר עם פחות זיכרון, האמולטור יחליף אוטומטית את ההגדרה כדי להקצות לפחות 4GB, וכך ימנע בעיות פוטנציאליות בזמן הריצה.
הוספנו למכשיר הווירטואלי את מצב המצלמה 'סביבה' כדי לאפשר הגדרה של רקעים וירטואליים לסצנות. הסצנות האלה מוגדרות בקובץ environment.ini של ה-AVD, ואפשר לטעון אותן מחדש באופן דינמי בזמן הריצה.
תוקן באג שגרם לכך שהתצוגה המקדימה של התמונה המהירה באמולטור העצמאי לא נוקתה אחרי שהתמונה המהירה נמחקה.
[תיקון באג]בעיה מספר 506475581 האודיו באמולטור מעוות מאוד ב-macOS כשמשתמשים בממשק אודיו עם יותר מ-2 ערוצים (loopback, multi-output)
[תיקון באג]בעיה מספר 516455370 תוקנה דליפת זיכרון משמעותית ב-macOS 26.3 כשסוגרים את האמולטור, שקשורה לניקוי של משאבים שמשמשים את ממשקי ה-API של Hypervisor.framework.
36.5.11 Patch (Apr 23, 2026)
- [תיקון באג]בעיה מספר 492228020: אמולטור Android מציג מסך שחור כשמשתמשים ברינדור גרפי של חומרה או אוטומטי ב-GPU של Intel
36.5.10 Stable (2 באפריל 2026)
העדכון הזה כולל את התכונה הבאה ותיקוני באגים:
בדיקת אינטראקציות בין מכשירים באמצעות אמולטור Android
ב-אמולטור Android יש עכשיו מחסנית רשת חדשה לשיפור הבדיקות של התאמה רחבה, כך שאין יותר צורך בהעברה ליציאה אחרת ידנית כדי לחבר כמה מופעי AVD באותו מארח. מכשירים וירטואליים של Android יכולים עכשיו לגלות אחד את השני באופן אוטומטי ולתקשר ביניהם כאילו הם נמצאים באותה רשת וירטואלית. כך אפשר לבדוק בצורה חלקה אינטראקציות בין עמיתים באמצעות פרוטוקולים כמו Wi-Fi ישיר ו-Network Service Discovery.
לגישת ה-networking החדשה יש כמה יתרונות מרכזיים למפתחים:
- הגדרה אוטומטית: לא צריך יותר להגדיר העברה ליציאה אחרת באופן ידני או להשתמש בפקודות adb.
- חיבור חלק בין מכשירים: פרוטוקולים חשובים כמו Wi-Fi ישיר ו-Network Service Discovery פועלים מחוץ לקופסה בין אמולטורים.
- יציבות משופרת: פותר בעיות יציבות שהיו קיימות זמן רב, כמו אובדן נתונים (בעיה מספר 150758736) וניתוקים (בעיה מספר 449817856) שנמצאו בסטאק מדור קודם.
כדי להתחיל, צריך לעדכן לגרסה האחרונה של אמולטור Android ב-Android Studio SDK Manager. מידע נוסף זמין במאמר הזה.
תכונות נוספות ותיקוני באגים
נוספו מכשירי Pixel AVD חדשים, כולל Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL ו-Pixel 10 Pro Fold
מצלמות אינטרנט מוצגות בשמות ידידותיים למשתמש, ותוקנה בעיה ב-Linux שבה האמולטור לא הצליח לזהות את כל מצלמות האינטרנט המחוברות ולהציג אותן ברשימה
[תיקון באג]בעיה מספר 333628462 תהליך crashpad_handler צורך כמות מוגזמת של CPU ב-macOS
36.4.10 Patch (Mar 9, 2026)
- [תיקון באג]בעיה מספר 489369080 תיקון קריסה ב-TV Emulator כשמעבירים את העכבר מעל המסך אחרי עדכון ל-Panda 2
36.4.9 יציב (10 בפברואר 2026)
כדי לייעל את בחירת ה-GPU בממשק המשתמש, אמצעי הבקרה המורחבים של אמולטור Android כוללים עכשיו אפשרויות ספציפיות של חומרה ותוכנה. משתמשים בשורת הפקודה יכולים עכשיו להשתמש באפשרות -gpu software כדי לבחור את העורפים (backends) הטובים ביותר שזמינים במערכת שלהם לרינדור תוכנה של GLES ו-Vulkan.
הפעלנו את Lavapipe כתוכנת ברירת המחדל לרינדור גרפי כדי לשפר את התאימות ל-Vulkan בכל הפלטפורמות
שיפורים ב-Vulkan:
- העדכון של רכיב טעינה Vulkan כלול בחבילה של האמולטור
- תוקנו מקרים שונים של שימוש לא תקין ב-Vulkan backend
- נוספה תמיכה בשימוש ב-SkiaVk ב-systemui עם הדמיה של תור גרפיקה בקובצי אימג' חדשים של המערכת
- נוספה תמיכה בהרכבת Vulkan כדי להשבית את השימוש ב-GL במארח. ההגדרה הזו מופעלת כברירת מחדל לתמונות XR, ואפשר להפעיל אותה באמצעות אפשרות שורת הפקודה '-feature VulkanNativeSwapchain'.
[תיקון באג]בעיה מספר 471008659 דליפת זיכרון בצד המארח של האמולטור כשפותחים או סוגרים פעילויות
36.4.3 Canary (8 בדצמבר 2025)
אמולטור חדש למשקפי AI
הוספנו אמולטור חדש וניסיוני של משקפי AI לפיתוח ולבדיקה של אפליקציות שנוצרו באמצעות Jetpack XR SDK for AI Glasses. אתם יכולים להריץ אמולטור של המשקפיים יחד עם אמולטור של הטלפון, לשייך אותם ולבצע אינטראקציות אופייניות שאתם מריצים במשקפיים. מידע על התקנת האמולטור של משקפי ה-AI והגדרת סביבת הפיתוח זמין במאמר יצירת מכשירי משקפי AI וירטואליים.
האמולטור של משקפי ה-AI הוא כלי ניסיוני. צפויות בעיות, במיוחד בהתאמה מחדש של המשקפיים לאמולטורים של טלפונים ובאינטראקציות עם ממשק המשתמש של משטח המגע.
אמולטור חדש של משקפי XR
הרחבנו את האמולטור של Android XR שהשקנו בעבר למשקפי XR מסוג OST (Optical See Through). אפשר להשתמש באמולטור של משקפי XR כדי לראות תצוגה מקדימה של האפליקציה עם שדה הראייה והרזולוציה המשוערים של מכשיר משקפי ה-XR. במאמר יצירת מכשירי משקפיים וירטואליים ל-XR אפשר לקרוא מידע על התקנת האמולטור של משקפי XR ועל הגדרת סביבת הפיתוח.
האמולטור של משקפי XR והאמולטור של משקפי AI הם כלים ניסיוניים. יכול להיות שתיתקלו בבעיות, במיוחד בהגדרות מסוימות של GPU ודרייבר ב-Windows (ראו דרישות המערכת ל-Windows).
בעיות מוכרות
המשוב שלכם יעזור לנו לשפר את התכונה ולתת עדיפות לתכונות עתידיות. מידע על דיווח על באגים שקשורים ל-Android Studio או לאמולטור Android זמין במאמר דיווח על באג.
36.3.10 יציב (4 בדצמבר 2025)
[תיקון באג]בעיה מספר 452843321: ביצועים ירודים כשמעבירים קבצים גדולים לאמולטור ב-Android API 34 ואילך.
תיקון קריסות של Vulkan composition כשקודקי וידאו פועלים במצב של טקסטורת GPU.
תוקן קראש של האמולטור באירוע מסך מגע כשמריצים אותו עם -debug-events.
36.2.12 Patch (13 באוקטובר 2025)
- תיקון קריסה ב-Windows שקרתה בהפעלת אפליקציית Vulkan במצב עיבוד תוכנה
גרסה יציבה 36.2.11 (9 באוקטובר 2025)
התמיכה ב-HAXM הוסרה מהאמולטור. אם תנסו ליצור מכשיר וירטואלי של Android עם HAXM, יוצג באנר עם דיווח על היפר-ויזור חסר וקישור לפעולה להתקנת AEHD.
מידע על הסרת HAXM זמין במאמר HAXM Uninstall.תיקון כדי לוודא ש-GPU של Intel משתמש ב-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 Emulator במערכת הקבצים 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)
נוספו בדיקות תאימות נוספות של מעבד עם הודעות שגיאה (לדוגמה: אין מספיק מקום בדיסק)
תוקנו באגים שקשורים לניהול הזיכרון של Vulkan ולתרחישי שימוש לא תקינים
התמיכה בצילום תמונת מצב של Vulkan נבדקת ודילוג מתבצע בצורה תקינה כשמריצים את התכונה בטרמינל
הוספנו תמיכה בתוסף VK_KHR_multiview ובפורמט הטקסטורה A1R5G5B5
נוסף מכשיר Pixel 9a AVD
35.4.9 Stable (25 בפברואר 2025)
נוסף תפריט נפתח באפשרויות הבקרה המתקדמות להעדפות של מנהל התקן GLES של האורח
[תיקון באג]בעיה מספר 389330750 שליחת SMS לאמולטור עם התו Ñ מפצלת את ההודעה
[תיקון באג]בעיה מספר 382180488 הפונקציה emuglConfig_get_vulkan_hardware_gpu_support_info קורסת בגלל זיהוי של אפס מכשירי Vulkan
הערה: Android XR Emulator זמין רק בגרסאות Canary של Studio
35.3.11 יציב (9 בינואר 2025)
[תיקון באג]בעיה מספר 368059211 גישה תוכנתית ל-VHAL ב-Android Auto OS לא פועלת באמצעות Car Service API
[תיקון באג]בעיה מספר 348598513 לאמולטור יש שיטה ציבורית לא בטוחה לשימוש עם שרשורים, שלא נחוצה בנעילה מרובת שרשורים
[תיקון באג]בעיה מספר 356896486 השבתה אמיתית של קריאות ל-Vulkan API כשמריצים עם -feature -Vulkan
35.4.4 Canary (12 בדצמבר 2024)
אמולטור חדש ל-Android XR
הוספנו אמולטור חדש וניסיוני של Android XR לפיתוח ולבדיקה של אפליקציות שנוצרו באמצעות Jetpack XR SDK למשקפי מציאות מדומה. מידע על התקנת האמולטור של Android XR והגדרת סביבת הפיתוח זמין במאמר בנושא הגדרת Jetpack XR SDK.
האמולטור של Android XR הוא כלי ניסיוני. למרות זאת, החלטנו לשתף אתכם מוקדם כדי לאפשר לכם לבצע בדיקות מוקדמות. צפויות בעיות, במיוחד בחלק מההגדרות של GPU ודרייברים ב-Windows. יכולות להיות גם בעיות שקשורות לבדיקות תאימות של אפליקציות קיימות לנייד בתלת-ממד. המשוב שלכם יעזור לנו לשפר את התכונה ולקבוע את סדר העדיפויות של התכונות שנשיק בעתיד.
עד עכשיו, האמולטור של Android XR נבדק בהגדרות החומרה הבאות:
- Mac (ARM)
- Windows 11
- nVidia GPU, 4GB של vRAM, גרסת דרייבר 553.35 ואילך
- זיכרון RAM של 16GB או יותר
- 8 ליבות או יותר
בעיות מוכרות
אמולטור – יציבות וביצועים:
- במערכות Windows מסוימות עלולות להתרחש נעילות או קריסות קריטיות של המערכת במהלך האתחול או בזמן הפעלת אפליקציות. כדי לוודא שפלטפורמת ה-hypervisor של Windows (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
- נוספה תמונה חדשה של מערכת Tablet ל-Vanilla Ice Cream (API 35)
35.1.20 (29 באוגוסט 2024)
- נוסף מכשיר Pixel 8a AVD
- תיקוני באגים שונים במכשירים מתקפלים
- עדכון 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, ומוצגת הודעת השגיאה 'האתחול של אמולציית GL נכשל' ביומן. שימו לב: יכול להיות שעדיין תוצג השגיאה הזו בגרסה הזו, גם אם תפעילו את האמולטור באמצעות שורת הפקודה עם האפשרות
-gpu swangle_indirect. אם אתם עדיין רוצים להפעיל את האמולטור באמצעות שורת פקודה ב-Windows עם עיבוד גרפי של תוכנה בגרסה הזו, אתם יכולים להשתמש ב--gpu swiftshader_indirect - [תיקון באג] קיצור הדרך למיקום במקלדת טוען מפה שלא ניתן להשתמש בה
- [תיקון באג] כשמגדירים מיקום, הדו-שיח 'שמירת המסלול' לא מופיע
34.2.13 (30 באפריל 2024)
נבדק באמצעות Android Studio Jellyfish Stable.
- עדכון ל-Qt 6.5.3
- תאימות לעדכונים של Google Maps API שמשמשים בתכונות המיקום בבקרה המורחבת של האמולטור, שמתרחשים בסוף מאי.
- תיקוני קריסה משמעותיים
- תיקונים שונים במכשירי Pixel AVD
- עדכון של ספריית הגרפיקה שמשמשת לעיבוד תוכנה
- [תיקון באג]בעיה מספר 225541819 הפעלת Chrome גורמת לקריסה של האמולטור ב-x86_64
- [תיקון באג]בעיה מספר 314614435 ניתוח של המתג
-http-proxyמתבצע בצורה שגויה
34.1.20 (1 באפריל 2024)
נבדק באמצעות Android Studio Iguana Stable.
- [תיקון באג] בעיה מספר 314614435: תיקון בעיה שבה המתג
-http-proxyמנותח בצורה שגויה
34.1.19 (7 במרץ 2024)
נבדק באמצעות Android Studio Iguana Stable.
- [תיקון באג] בעיה מספר 312677259: תוקנה בעיה שגרמה להקפאת המסך באמולטור מוטמע אחרי שינוי הגודל של החלון.
34.1.18 (29 בפברואר 2024)
נבדק באמצעות Android Studio Iguana Stable.
- מכשירים נוספו לאמולטור, כולל:
- Pixel Fold
- Pixel Tablet
- Pixel 8
- Pixel 8 Pro
- Pixel 7a
- בדיקת שילוב של gRPC: נקודות קצה של gRPC זמינות עכשיו לבדיקות עם מכשור שפועלות בתוך האמולטור, מה שמאפשר לבדוק תרחישים ריאליסטיים. התכונה הזו מאפשרת למפתחים לקיים אינטראקציה בטוחה עם נקודת הקצה של gRPC שמתארחת ב-אמולטור Android מתוך בדיקות האינסטרומנטציה של Android.
- תיקנו באגים שונים
- תיקון באגים: שיפורים בנוחות השימוש במכשירים מתקפלים
- תיקון באג: שינוי המיקום של האמולטור אחרי סיבוב
- תיקוני קריסות
33.1.24 (28 בדצמבר 2023)
נבדק באמצעות Android Studio Hedgehog Stable ו-Iguana Beta 1.
- תוקנה בעיה במצלמת האינטרנט של האמולטור שלא אפשרה הקלטת מסך בפורמט mp4.
- תיקון קריסה של Emulator ב-Pixel Fold AVD כשהוא נפרש במהלך הקלטת מסך.
- תוקנה בעיה שבה ב-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 Emulator
- [Bug Fix] Issue #266201208 Hebrew SMS is not sent on API 33
- [תיקון באג] בעיה מספר 257097404: האמולטור לא מציג את השעה הנכונה אחרי שהמארח מתעורר ב-API 29 וב-API 30
- [תיקון באג] בעיה מספר #228201899 אי אפשר לראות את מפות Google בתוך אמצעי הבקרה המורחבים של אמולטור Android
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.
- הוספת תמיכה ב-AVD של 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: האפשרות Emulator -dns-server לא פועלת אחרי API 31
31.3.12 (10 באוקטובר 2022)
נבדק באמצעות Android Studio Dolphin ו-Electric Eel Beta 1.
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- [Bug Fix] Issue #247843000: AVD relative path handling error
- הגדלת נפח הדיסק ב-API מגרסה 24 ואילך
31.3.11 (23 בספטמבר 2022)
נבדק באמצעות Android Studio Dolphin ו-Electric Eel Canary 10.
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- [תיקון באג] קריסת אמולטור מוטמע של AVD בחלון Extended Controls
- [תיקון באג] בעיה מספר 183139207: בעיות באודיו שקשורות להפעלת המיקרופון ב-Emulator
- [תיקון באג] בעיה מספר 229764024: באג ב-AVD שגורם לבעיות בהתנהגות ממשק המשתמש
- [תיקון באג] שגיאה בהפעלת AVD עם API 33 ב-Mac M1.
- [תיקון באג] בעיה מספר 243053479: מהירות רשת איטית אחרי עדכון של Emulator
- [תיקון באג] בעיה מספר 244617627: מיקום במפות לא פועל ב-Windows וב-Linux
- [תיקון באג] בעיה מספר #232971796: הלחצן 'התקשר למכשיר' לא פועל בדף 'טלפון' בקטע 'אמצעי בקרה מורחבים'
- עדכון אמולטור Android ל-minigbm
- העברה של סקריפטים לבנייה אל Python3
31.3.10 (18 באוגוסט 2022)
נבדק באמצעות Android Studio Dolphin Beta 5 ו-Electric Eel Canary 9.
הורדות עצמאיות של האמולטור זמינות עכשיו. אם נתקלתם בבעיות או בקריסות בגרסה היציבה העדכנית הזו, אתם מוזמנים לדווח על באג ולשקול להוריד גרסה שעבדה בעבר מארכיוני ההורדות של האמולטור.
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- תמיכה משופרת בנתיבי Unicode ב-Windows
- טיפול טוב יותר בכיבוי של אמולטור, כך שהפעלה חדשה של אותו AVD יכולה להצליח.
- עדכון העיצוב והגדרות ברירת המחדל של מכשיר AVD מתקפל
- עדכון של כפתורי האמולטור של Wear
- שיפורים בסטרימינג של אודיו ב-gRPC
- נוספה פקודה להגדרה של מסוף האמולטור
- תיקון ב-Chrome ל-API 31
- [תיקון באג] אימות חשבון Google נכשל ב-GmsCore v21.42.18
31.2.10 (20 באפריל 2022)
נבדק באמצעות Android Studio Dolphin Canary 8 ו-Chipmunk RC 1.
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- הוספת כלי לטעינת פונקציות Vulkan עם חלופות
- [תיקון באג] תיקון שגיאת בנייה ב-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 בפלטפורמת Intel תגרום לקריסת ה-AVD עם הודעת השגיאה vcpu shutdown request
31.2.7 (1 בפברואר 2022)
נבדק ב-Android Studio Bumblebee Patch 1 וב-Chipmunk Canary 6.
העדכון הזה כולל את התיקון הבא:
- [Bug fix] שגיאת תקיעה של האמולטור במכונות 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 על סמך כתובת MAT mac.
- 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: עודכנו ההגדרות כדי לתמוך ב-enums העדכניים של משאבי blob.
- הוספנו תמיכה בצילום מצב של העברות גרפיקה מסוג asg.
- macOS: נוספה תמיכה בבנייה מול macOS SDK 11.1 ואילך.
- ההגדרה KVMclock מופעלת כברירת מחדל בקובצי אימג' חדשים יותר של המערכת.
- הוספנו תמיכה בחיישן דופק לאמולטורים של Wear.
- הוסר בק-אנד של libportability Vulkan.
- הוספנו תמיכה בתכונות נוספות בסימולטור המודם.
30.0.26 (16 באוגוסט 2020)
העדכון הזה כולל כמה תכונות חדשות, שיפורים בתכונות קיימות ותיקוני באגים.
תמיכה במכשירים מתקפלים עם חיישן ציר וירטואלי ותצוגה תלת-ממדית
הוספנו תמיכה בחיישני ציר למכשירים מתקפלים. כדי לעשות זאת, צריך קובץ אימג' של מערכת Android 11 עתידי והגדרת AVD. הצגת תלת-ממד של מכשיר מתקפל ופרמטרים של הציר משולבים עכשיו בהגדרות הקבועות מראש הקיימות של מכשירים מתקפלים. אפשר להשתמש בערכים הבאים, למשל, בקובץ
config.iniשל מכשיר AVD מתקפל בגודל 7.3: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במכשירים מתקפלים יש עכשיו גם פרמטר של סוג משנה. המאפיין
config.inihw.sensor.hinge.sub_type = hinge/foldזמין עכשיו. מידע נוסף זמין בפוסט בבלוג בנושא פיתוח ל-Android 11 באמצעות 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 שיגיעו בקרוב.
- בגלל אופן הפעולה של רינדור האמולטור, אנחנו מעבדים עכשיו את virtio-gpu virtqueue בשרשור vcpu (כי הרינדור מועבר לשרשורים אחרים בכל מקרה). רינדור virtio-gpu יופעל בגרסה עתידית של קובץ אימג' של המערכת והאמולטור.
- בתמונת מערכת עתידית, האמולטור יוכל להריץ את כל הגרפיקה עם מחסנית מבוססת-virtio-gpu.
תכונות חדשות ושיפורים נוספים
- מעכשיו אפשר להשתמש ב-
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>כדי להעביר נתוני USB ללא שינוי ב-Windows. (האפשרות הזו אמורה לפעול גם ב-Linux וב-macOS) - ספריות WebRTC עודכנו לגרסה M83.
- האמולטור תומך עכשיו בהזרמת אודיו במאגרי תגים באמצעות WebRTC.
- הוסרה נקודת הקצה של צינור darwinn.
- עכשיו אפשר להשתמש ב-CUDA VPx decode לסרטונים, אם CUDA VPx decode זמין בחומרה, באמצעות משתנה הסביבה
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1. - ב-macOS, SSE 4.1 ו-4.2 זמינים עכשיו מתוך מערכת ההפעלה האורחת של Android.
- ב-macOS, האפשרות INVTSC מופעלת עכשיו כברירת מחדל. כך אפשר לשפר את הדיוק של מדידות הזמן מהאורח.
- אנחנו עוקבים עכשיו במדדים אחרי החלונית המורחבת של אמצעי הבקרה שהמשתמש בחר.
- האמולטור של Linux משתמש עכשיו בשעון KVM paravirtualized כשגרסת ליבת האורח היא >= 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
- נוספה גם פקודת מסוף לאותה מטרה:
שודרגו שרשרת הכלים וה-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 למניעת רמאות, ואם הוא מזהה אותה הוא מציג הודעת אזהרה.
- תוקנה השגיאה
FD_SETSIZEב-Windows. אנחנו משתמשים עכשיו ב-WSAEventSelect()במקום ב-select()כדי ליצור חיבורים לא חוסמים לשרתי לולאה חוזרת. - נוספה תמיכה בתכונת CPUID F16C לאמולטור 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.*). - כשמבצעים build של האמולטור ב-Windows, הסיכוי לראות כשלים לא עקביים בכתיבה לקבצים אמור להיות נמוך יותר. מידע נוסף זמין בהוראות לבניית Windows.
- השבתנו את לחצן הזום במכשירי AVD מתקפלים, כי הוא גרם לבעיות.
- האמולטור מדווח עכשיו בצורה נכונה על זמן האתחול שמגיע מהפעלה מחדש של המכשיר.
- Linux: במקרה שאין מספיק הרשאות KVM, האמולטור מדפיס עכשיו הוראות לניפוי באגים באופן מהיר יותר.
- תוקנה בעיה שבה האמולטור לא הצליח לאתחל תמונות מערכת עדכניות ללא האצה.
- תוקנה קריסת זיכרון או קריסה בהפעלה מגלאי של אתחול שהושלם.
- תוקנה דליפת זיכרון במהלך סשנים ארוכים של הקלטת מסך.
- הסמלים של האמולטור עודכנו כדי לשקף את המיתוג של Studio 4.1.
- הוספנו תמיכה משופרת בזיהוי סשנים מרוחקים ב-Windows.
תיקונים: גרפיקה ופענוח וידאו
- תוקנה בעיה שבה המשחק האחרון Asphalt 9 עבר רינדור עם מסך שחור.
- הוסר ספאם לגבי ניקוי מאגר זמני ממופה באמצעות
NULL. - תוקנה בעיה של מרוץ תהליכים (race condition) בהסרת מצב Vulkan כשיוצאים מאפליקציית Vulkan לאורחים.
- ה-shaders של האמולציה של Vulkan ASTC/ETC2 מוטמעים עכשיו בספריית libOpenglRender. השיטה הזו אמינה יותר בהשוואה לקריאה ממערכת הקבצים.
- תוקנה בעיה ב-Vulkan שבה אם מריצים עם מכונת Vulkan 1.0 במארח, הפונקציה
vkGetImageMemoryRequirements2KHRמנקה באופן שגוי את השדהpNextשל המבנהVkMemoryRequirements2שמוחזר. - תוקנה דליפת זיכרון במעבד התצוגה (renderer) של Vulkan.
- תוקנה רגרסיה מהזמן האחרון שבה קומפילציה של הצללות GLSL ES 1.00 עם שמות משתנים כמו
isampler2Dנכשלה. - עדכון של כלי התרגום של ANGLE shader עם תיקונים שונים לבעיות אפשריות בהידור של shaders ב-Linux.
- כדי לעקוב אחרי התופעה, אנחנו גורמים לקריסת האמולטור אם קומפילציית shader בסיסית של framebuffer blit נכשלת.
- עדכנו את מתרגם ה-shader של ANGLE כדי להתאים אותו ל-ANGLE העדכני. הבעיה הזו תוקנה. היא הייתה קשורה להשחתת זיכרון בזמן תרגום וקיפול קבוע של הצללות OpenGL ES שהשתמשו במטריצות לא ריבועיות. מתרגם ה-Shader הוא עכשיו ספרייה משותפת נפרדת,
libshadertranslator.dll. - תוקנה בעיה בהפעלת Vulkan בחלק מהדרייברים של GPU, שבה לא נמצאו פונקציות מסוימות של מכשיר 1.1.
- Vulkan: חזרנו להשתמש בטוען שנוצר מראש, כי השימוש בטוען המערכת של Vulkan גרם לבעיות בהגדרות מסוימות. אנחנו נחפש פתרון טוב יותר.
- תוקנה הבעיה שבה נעשה שימוש בזיכרון חיצוני של Vulkan, שיכול היה להיות מיובא עם אינדקסים לא תואמים של סוגי זיכרון במארח.
- תוקנה בעיה באמולציה של
GL_ALIASED_POINT_SIZE_RANGEשבה ה-enum לא נתמך במארח. - תוקנה בעיה שבה בחלק מהמעבדים הגרפיים של המארחים, לא הייתה אפשרות לקמפל את ההצללות של 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) והאמולטור בחלון אפליקציה אחד.
מצב חלון צף
עכשיו אפשר ליצור מכשיר וירטואלי של Android (AVD) עם מצב חלונות חופשיים מופעל. לשם כך, בוחרים את פרופיל החומרה של טאבלט בגודל 13.5 אינץ' עם חלונות חופשיים כשיוצרים מכשיר וירטואלי ב-Android Studio. פרופיל החומרה הזה דורש קובץ אימג' של המערכת עם Android 11 תצוגה מקדימה למפתחים 3 ואילך.
בעיות מוכרות
בגלל בעיות בהעברת המיקוד למנהל החלונות, אי אפשר לשנות את הגודל של חלונות צפים. הבעיה הזו תטופל באחת מהגרסאות הבאות של קובץ האימג' של מערכת Android 11.
30.0.0 (19 בפברואר 2020)
העדכון הזה כולל קובצי אימג' של המערכת של Android 11 (רמת API 30) ושיפור ביצועים בהרצת קבצים בינאריים של ARM.
תמונות מערכת של Android 11
עכשיו אפשר ליצור מכשיר וירטואלי של Android (AVD) שמריץ Android 11. לשם כך, בוחרים באחת מתמונות המערכת הזמינות של רמת API 30:
- x86: כולל גם x86 וגם ARMv7 ABI.
- 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. כדאי לבצע build ל-ARM64 כשמטרגטים את Android 11.
29.0.11 (29 במאי 2019)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- Windows: האמולטור מסתמך עכשיו על קובץ ה-DLL
libgccשאנחנו שולחים, במקום על קובץ ה-DLLlibgccשעובר קומפילציה באופן סטטי. - Linux: נוספה תמיכה ב-logcat ל-gRPC API. מידע נוסף על gRPC זמין במאמר בנושא אמולטור של סטרימינג ב-gRPC (Linux).
- האמולטור כולל עכשיו גרסה ללא ממשק משתמש (headless) עבור אורחים ב-32 ביט x86
(
qemu-system-i386). התכונה הזו מאפשרת להריץ תמונות ב-32 ביט x86 לרמות API 26 ומטה באמצעות הגרסה ללא ממשק משתמש. שימו לב: במכונות וירטואליות (VM) מסוג x86 ב-32 ביט עם API מגרסה 27 ואילך, האמולטור משתמש במנוע 64 ביט (qemu-system-x86_64) כי בתמונות המערכת האלה, מרחב המשתמש הוא 32 ביט, אבל הליבה היא 64 ביט. Android Studio משתמש בקרנל כדי לבחור מנועי אמולציה. - מעכשיו אפשר לציין נתיבים מותאמים אישית לספריית Qt באמצעות משתנה הסביבה
ANDROID_QT_LIB_PATH. - עכשיו אפשר להריץ את האמולטור עם קבצים בינאריים קודמים שמשתמשים ב-QEMU1 אם קובצי ההפעלה של QEMU1 (
emulator[64]-[x86|arm|etc]) ממוקמים בספריית האמולטור. - Windows: תוקנה בעיה שיכולה לגרום לפעמים לאמולטור להיכשל בהפעלה עם ההודעה 'בקשת השבתה של vCPU'.
- תוקנה בעיה שקשורה למחסום מיותר בצינור העברת הנתונים בטקסטורות דחוסות מדומה ב-Vulkan.
- תוקנה שגיאה שקרתה בבקשות של שרת proxy מסוג http כשנעשה שימוש בקידוד העברה במקטעים. מידע נוסף זמין במאמר בנושא פרטי ההתחייבות.
29.0.9 (7 במאי 2019)
העדכון הזה כולל את התיקון הבא:
- Windows: תוקנה בעיה שבה מצלמת הסצנה הווירטואלית ומצלמת האינטרנט לא פעלו באמולטור.
29.0.8 (6 במאי 2019)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- הוספנו תמיכה במספר מסכים של חומרה וירטואלית כשיש שירות אורח שמבצע ספירה ומגדיר כל מסך. בעדכון עתידי של קובץ אימג' של המערכת של האמולטור ייכללו כמה תצוגות של חומרה וירטואלית.
- נוספה אפשרות חדשה לשורת פקודה:
-delay-adb. האפשרות הזו משביתה את העיבוד של חבילות ADB עד שהמערכת האורחת מסיימת את האתחול (באתחול קר). האפשרות הזו עוזרת לפתור בעיות שיכולות להתרחש אם משתמשים באמולטור בסביבת CI שמפעילה מחדש את האמולטור ומשתמשת ב-DDMS בו-זמנית. - תוקנה שגיאה שהתרחשה כשמטעינים תמונות מצב, שבה הפונקציה
glIsRenderbufferהחזירה ערך שגוי. - תוקנו כמה בעיות שקשורות למצב לא עדכני כשמבצעים הפעלה מחדש של האורח ב-Android.
- Windows: תוקנו בעיות שמנעו את הפעלת האמולטור כששם המשתמש ב-Windows הכיל תווים שלא נכללים ב-ASCII או רווחים.
בעיות מוכרות
- ממשק המשתמש של התמונות המיידיות מושבת בתמונות מערכת של Automotive כי נכון לעכשיו אין תמיכה בתמונות מיידיות בתמונות המערכת האלה.
29.0.6 (1 במאי 2019)
העדכון הזה כולל כמה תכונות חדשות, שיפורים בתכונות קיימות ותיקוני באגים.
הסרת התמיכה ב-QEMU1 וב-Windows בגרסת 32 ביט
כדי לשפר את התחזוקה של האמולטור, אנחנו כבר לא שולחים קובצי QEMU1 וקובצי Windows בינאריים של 32 ביט. אם אתם משתמשים ב-Windows 32-bit, לא תוכלו לשדרג לגרסה 29.0.6.
דרישות לתמונות מערכת של Android Q
אם רוצים להריץ מכשיר וירטואלי של Android (AVD) שמשתמש בקובץ אימג' של המערכת של Android Q, צריך להשתמש עכשיו בגרסה 29.0.6 (גרסת ההפצה הזו) ואילך.
שיפורים ב-Project Marble
העדכון הזה הוא המשך של העבודה שלנו על יוזמת Project Marble שהוכרזה ב-מפגש של מפתחי Android בנובמבר 2018. מידע נוסף על שיפורים אחרים ב-Project Marble בגרסאות קודמות זמין במאמר אמולטור Android: Project Marble Improvements.
במסגרת העדכון הזה, רוב המאמצים שלנו בפרויקט Marble הוקדשו לצמצום השימוש במשאבי האמולטור, כמו צמצום השימוש במעבד (CPU) של האמולטור בזמן שהוא לא פעיל. הוספנו גם שינויים שמקלים על העבודה עם האמולטור במגוון רחב יותר של סביבות, וטיפלנו בבעיות כלליות באיכות.
בקטעים הבאים מתוארים השיפורים בפרויקט Marble שנכללים בעדכון הזה:
שיפורים בהתנהגות האודיו של המארח
החל מגרסה 28.0.3, האמולטור חוסם כברירת מחדל את קלט האודיו מהמארח.
אם רוצים להשתמש בנתוני האודיו של המארח, אפשר להפעיל את האפשרות הזו דרך אמצעי בקרה מתקדמים > מיקרופון והפעלת המיקרופון הווירטואלי משתמש בקלט אודיו של המארח. האפשרות הזו מושבתת אוטומטית בכל פעם שמפעילים מחדש את האמולטור.
אם אתם משתמשים בשורת הפקודה, אתם יכולים גם להפעיל את האודיו של המארח באמצעות האפשרות -allow-host-audio, ואתם יכולים להשתמש בפקודות ADB הבאות כדי להפעיל או להשבית את נתוני האודיו של המארח:
adb emu avd hostmiconadb emu avd hostmicoff
שיפורים בגרסאות של אמולטורים ללא ממשק משתמש
החל מגרסה 28.0.25, האמולטור כולל אפשרות ליצירת build ללא ממשק משתמש שניתן להפעלה בלי ממשק המשתמש. אתם יכולים להשתמש ב-headless builds כדי להגדיר את האמולטור לתהליכי עבודה של 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
שודרגו ספריות ה-UI של Qt לגרסה 5.12 LTS
העדכון הזה כולל את השיפורים הבאים מגרסת Qt 5.12 LTS:
- כדי למנוע קריסות בפענוח של
libpngב-Qt כשמפעילים תמונות מערכת מסוימות, האמולטור משתמש עכשיו בעותק משלו שלlibpngכדי לפענח תמונות PNG. - כדי לפתור בעיות שקשורות להתקנות מסוימות של Linux שמכילות גרסאות לא תואמות של ספריות מסוימות שתלויות ב-Qt, אנחנו אורזים עכשיו את
libfreetype,libsoftokn,libsqlite3ו-libxkbcommonעם האמולטור. - האמולטור משתמש עכשיו בספריות Native של הפלטפורמה כדי לקבל את המידות של המסך, במקום להשתמש בספריות Qt שהחזירו תוצאות לא אמינות.
אופטימיזציות אוטומטיות של מעבד אחרי אתחול קר
כדי לטפל בשימוש במעבד, האמולטור מריץ עכשיו את פקודות ה-ADB הבאות באתחול קר אחרי שהוא מקבל אות boot complete:
adb shell settings put screen_off_timeout 214783647- הפקודה הזו מגדילה את פרק הזמן הקצוב לתפוגה של המסך כשהוא כבוי, כדי שאפשר יהיה להשתמש באמולטור במצב סוללה בלי טעינה. במצב סוללה, השימוש במעבד ברקע מצטמצם באופן משמעותי.
- במצב טעינה באמצעות AC, פעולות ברקע של GMSCore, כמו עדכוני אפליקציות, יכולות להשתלט על כל ליבות ה-CPU של המכשיר – ובהרחבה, על המחשב של המשתמש – ללא אזהרה.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO- הפקודה הזו מבטלת את הרשאות המיקרופון לאפליקציית חיפוש Google, וכך מצמצמת באופן משמעותי את השימוש במעבד ברקע במסך הבית ובמרכז האפליקציות כשאפליקציית חיפוש Google פעילה.
- הפקודה הזו מופעלת בנוסף להתנהגות ברירת המחדל של האמולטור, שכוללת השבתה של האודיו במחשב המארח. בנוסף, הוא מספק באופן אוטומטי את הפתרון לשימוש במעבד שמתואר בגרסה 28.0.23 עבור זיהוי מילות הפעלה.
משתני סביבה חדשים למעקב אחרי ביצועים
עכשיו אפשר להשתמש בשני משתני סביבה חדשים כדי להפעיל מעקב מפורט אחרי הביצועים של האמולטור והשימוש במשאבים.
SHOW_PERF_STATS=1- משתנה הסביבה הזה מאפשר מעקב אחרי השימוש במעבד ובזיכרון ה-RAM. מעקב לגבי השימוש ב-RAM מבחין בין שימוש בגרפיקה לבין סך הזיכרון התושב.
ANDROID_EMU_TRACING=1- משתנה הסביבה הזה מאפשר הדפסה בכל פעם שפעולת קלט או גרפיקה נמשכת זמן רב (יותר מ-1 אלפית השנייה).
- אנחנו משתמשים במשתנה הסביבה הזה גם כדי לאבחן בעיות שמשתמשי Windows נתקלו בהן, שקשורות לבעיות בביצועים (ירידה בקצב הפריימים) בהשוואה למשתמשים ב-macOS או ב-Linux.
שיפורים כלליים ב-Project Marble
העדכון הזה כולל גם את השיפורים הכלליים הבאים, שהם חלק מהיוזמה Project Marble:
- עכשיו אפשר להשהות באופן מיידי את כל המעבדים הווירטואליים במעבד באמצעות פקודות המסוף הבאות:
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 של האמולטור באמצעות נתוני הביצועים שאפשר לגשת אליהם דרך אמצעי בקרה מתקדמים > הגדרות > מתקדם > נתוני ביצועים. אפשר להשתמש בנתונים הסטטיסטיים האלה כדי לאבחן במהירות בעיות אם נראה שהאמולטור משתמש ביותר מדי מעבד או זיכרון RAM.
-
glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPEמשתמש עכשיו בתוצאה של ה-GPU המארח במקום בתוצאה מדומה. השינוי הזה עוזר לפתור בעיות שבהן תמונות ונכסים לא מוצגים בגלל פורמט לא תקין לקריאה חוזרת. - הוספנו תמיכה בתוספי OpenGL ES
GL_EXT_texture_format_BGRA8888ו-GL_APPLE_texture_format_BGRA8888אם התוספים האלה נתמכים על ידי המארח. - נוספו פרטי אבחון נוספים לממשק המשתמש של דוח הבאגים. בנוסף, אפשר לגשת לדוחות על באגים מהמסוף באמצעות הפקודות הבאות:
telnet localhost 5554avd bugreport
- בתמונות מערכת של Android Q, האמולטור מגדיל את גודל ה-RAM המינימלי ל-2GB.
- הוספנו עוד רישום ביומן והדפסה בכל פעם ש-OpenGL או ה-Hypervisor לא מצליחים לבצע אתחול.
- אם האמולטור לא מצליח להפעיל בו-זמנית מופע של
-read-onlyAVD, האמולטור מנסה להפעיל מחדש את-read-onlyAVD עוד 3 פעמים במשך 3 שניות. השינוי הזה מגדיל את הסיכוי שהאמולטור יוכל להפעיל מכונות וירטואליות מקבילות של-read-onlyאם מכונות וירטואליות אחרות של אותו AVD לא סיימו לנקות קבצים ישנים. - האמולטור תומך עכשיו ב-Hardware Composer 2.0 לתמונות מערכת עתידיות. השינוי הזה אמור להפחית את התקורה של הדרייבר כשמפעילים את רוב האנימציות.
- גרסת ה-build של האמולטור מבוססת עכשיו על CMake/Ninja.
- בממשק המשתמש של אמצעי הבקרה המורחבים של האמולטור, שוחזרו קווי ההפרדה בטבלה של מקשי הקיצור.
- המשתמשים יכולים עכשיו להביע הסכמה לשיתוף מדדים של השימוש במעבד ובזיכרון ה-RAM עם הצוות שלנו, במרווחים של 10 שניות. אנחנו משתמשים במדדים האלה כדי להעשיר את הנתונים שלנו לגבי השימוש במשאבי אמולטור בתרחישי שימוש שונים של המשתמשים שלנו, וכך לשפר את היעילות והתגובה של האמולטור.
תיקונים כלליים ב-Project Marble
העדכון הזה כולל גם את התיקונים הכלליים הבאים, שהם חלק מהיוזמה Project Marble:
- תוקנו בעיות שקשורות לפריימים לא תקינים ולרעידות שהוצגו במערכות עם כרטיסי מסך של Intel כשמשתמשים בתמונות מערכת של Android Q.
- תוקנו בעיות שגרמו להצגת מסך שחור כשמשתמשים בתמונות מערכת של Android Q עם סקינים של Pixel 2 XL (או כל סקין עם חריץ או פינות מעוגלות).
- תוקנה בעיה שבה אפשרות שורת הפקודה
-partition-sizeלא הגדירה את גודל מחיצת הנתונים. - תוקנה בעיה שבה pulseaudio באמולטור Linx הסתובב ותפס ליבת CPU שלמה במצבים מסוימים.
- תוקנו בעיות בגישה לזיכרון מחוץ לגבולות בזמן עיבוד של טקסטורות דחוסות.
- תוקנו שגיאות GL שהתרחשו במארח ב-
glTexSubImage2Dבמהלך עדכון של מאגרי gralloc מסוימים (עם פורמט RGB 565, RGB10A2, RGB(A)16F). - תוקנה בעיה בתצוגה בתמונות מערכת של Android Q עם תמונות מצב, שבה הגיאומטריה של חלונית ההתראות עברה עיבוד עם הגדרה לא תקינה של מחלק מופעים.
- תוקנו כמה בעיות קריסה וקיפאון שקשה לשחזר אותן בהפעלה, שקרו בגלל ש-Qt איבד אותות או שהיו לו מצבים לא יציבים ולא עקביים בהפעלה.
- תוקנו בעיות רבות שקשורות להרצה בו-זמנית. עכשיו יש לנו אפשרות ליצור את אמולטור Linux באמצעות ThreadSanitizer (TSAN), שיכול לחשוף בקלות באגים שקשה לשחזר בדרך אחרת.
- למשתמשי Linux: גילינו שבליבות מארח מסוימות, ליבת האורח של Android יכולה להציג שגיאה ולצאת ב-KVM עם שגיאת חומרה כללית. האמולטור
abort()עכשיו כשזה קורה, כדי לשפר את יכולת הניפוי (בעבר, האמולטור פשוט נתקע). - משתמשי Linux יכולים להשתמש באפשרות החדשה
-stdouterr-file <file-name>בשורת הפקודה כדי להפנות אתstdoutואתstderrלקובץ, וכך להקל על הגדרות CI. - תוקנה בעיה שבה נעשה שימוש שגוי ב-
SO_REUSEADDR. מידע נוסף זמין במאמר בנושא פרטי ההתחייבות. - תוקנה בעיה שהייתה קיימת זמן רב באמולטור של Windows, שבה הפעלה של תהליכי משנה, כמו פקודות ADB, נכשלה אם שם המשתמש כלל רווחים.
- תוקנה בעיה שבה לא בוצעה אתחול של RCU בשרשורי vCPU של HAXM. יכול להיות שהתיקון הזה יפתור חלק מהקריסות וממצבי המירוץ.
- תוקנה קריסה שקרתה בדפוסים מסוימים של שמירה וטעינה של תמונות מצב מממשק המשתמש של תמונות המצב באמצעות תמונות מערכת עדכניות של Android Q.
- תוקנה בעיה שבה המצלמה של הסצנה הווירטואלית הייתה ריקה כשהאמולטור אותחל מתמונת מצב, אם פקודת מאקרו של AR פעלה כשצילום המסך נשמר.
- תוקנה בעיה שבה חלק מהמשתמשים עם הגדרות של שולחן עבודה מרוחק קיבלו מסך שחור כשניסו להפעיל את האמולטור ב-Linux. כדי להימנע מכך, האמולטור מגדיר עכשיו באופן מפורש את
MESA_RGB_VISUAL. מידע נוסף זמין במאמר בנושא פרטי ההתחייבות. - תוקנה בעיה שבה לחצני הסיבוב הופיעו ב-AVD של טלוויזיות.
- תוקנה בעיה שבה אם האפשרות 'האמולטור תמיד בחזית' הייתה מופעלת, חלון הבקרה המורחבת הופיע בכל פעם שהאמולטור הסתובב.
פרופילי חומרה למכשירים מתקפלים
האמולטור כולל עכשיו פרופילי חומרה למכשירים מתקפלים. כדי להשתמש בפרופילי החומרה החדשים האלה, צריך להשתמש ב-Android Studio 3.5 Canary 10 ומעלה.
יש שני פרופילי חומרה מתקפלים שבהם אפשר להשתמש כדי ליצור AVD:
- 7.3" Foldable: 1536x2152 unfolded, 4.6" 840x1960 folded
- מכשיר מתקפל בגודל 8 אינץ': 2200x2480 במצב פתוח, 6.6 אינץ' 1480x2480 במצב מקופל
כשמריצים את האמולטור באמצעות אחד מפרופילי החומרה האלה, אפשר לקפל ולפתוח את המכשיר באמצעות פעולות הקיפול והפתיחה בסרגל הכלים של האמולטור, פקודות המסוף או מקשי הקיצור הבאים:
- קיפול:
Ctrl + F(Command + Fב-macOS) - הרחבה:
Ctrl + U(Command + Uב-macOS)
פקודות מאקרו של AR
האמולטור כולל עכשיו פקודות מאקרו של 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, צריך להוסיף את דגלי התכונות הבאים לקובץ ~/.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 תומכים גם ב-zero-copy interop עם
OpenGL באמצעות התוסף GL_EXT_memory_objects. האמולטור משתמש ביכולת הזו כדי לספק דרך מלאה לרינדור ממשק המשתמש של Android באמצעות ממשקי Skia Vulkan API.
אם יש לכם GPU של NVIDIA או AMD שתומך ב-Vulkan, תוכלו להשתמש בפקודות הבאות כדי לבדוק את הרינדור של Skia באמצעות קובץ אימג' של המערכת תואם (Android Q Beta 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 (Linux)
אנחנו תמיד מנסים להפוך את האמולטור למגוון ככל האפשר, ולכן אנחנו מאפשרים רנדרינג של GPU במחשב המארח ואינטראקטיביות במגוון רחב של הקשרים שבהם האמולטור פועל. למשתמשים שלנו ב-CI וב-Remote Desktop יש את הבעיות הבאות, שנמשכות כבר זמן רב:
- שליחת פקודות קלט לאמולטור באופן פרוגרמטי כוללת הפעלה של פקודות adb shell שעלולות לגרום לעומס יתר, או שימוש במסוף telnet, שהוא מהיר יותר אבל יכול להיות שלא יפעל עם הגדרות רשת מסוימות.
- משתמשי CI מריצים לעיתים קרובות אמולטורים ללא ממשק משתמש, ולכן קשה להם לשים לב לבעיות שדורשות שהמסך יהיה גלוי או אינטראקטיבי.
- למה? כי משתמשים בשולחן עבודה מרוחק לרוב לא יכולים ליצור אינטראקציה עם האמולטור כשהם משתמשים בעיבוד GPU של המארח, כי עיבוד GPU לרוב קשור לתצוגות הלא וירטואליות של המארח.
כדי לפתור את הבעיה הזו, כשמריצים את האמולטור במכונת Linux, הוא מפעיל שירות gRPC. gRPC הוא framework כללי ל-RPC שפועל באמצעות HTTP.
כברירת מחדל, שירות gRPC של האמולטור מושבת, אבל אפשר להפעיל את השירות באמצעות אפשרות שורת הפקודה הבאה, כאשר <port> הוא היציאה שדרכה האמולטור צריך להעביר בקשות gRPC (בדרך כלל 5556):
-grpc <port>
אחרי שהשירות מופעל, הלקוחות יכולים להנפיק פקודות gRPC. קבוצת הפקודות הנוכחית מאפשרת גם לשלוח אירועי קלט וגם לקבל צילומי מסך. הפקודות האלה עוזרות לפתור את הבעיות הבאות:
- אפשר לשלוח פקודות קלט לאמולטור עם תקורה נמוכה דרך HTTP. פרוטוקול HTTP מאפשר גם לשלוח פקודות בהגדרות רשת נוספות.
- אפשר לשלוח פקודות של צילום מסך כדי לשאול על המסך הנוכחי, גם אם האמולטור פועל ללא ממשק משתמש. כדי ליצור אינטראקטיביות, אפשר גם לשלוח אירועי קלט בחזרה לאמולטור.
- משתמשים בשולחן עבודה מרוחק יכולים להריץ את האמולטור ללא ממשק משתמש במסך הראשי עם עיבוד מואץ של GPU, תוך שימוש ב-gRPC כדי לקבל צילומי מסך ולשלוח אירועי קלט כדי ליצור אינטראקציה עם האמולטור.
רשימה מלאה של הפקודות הזמינות מופיעה ב-protobuf הזה.
כדי לעזור לכם להתחיל להשתמש ב-gRPC, סיפקנו כמה לקוחות לדוגמה שתוכלו להיעזר בהם.
נכון לעכשיו, הדוגמאות האלה כלולות:
- שירות מבוסס Go שאפשר להשתמש בו כדי לשלוח שאילתות לגבי מצבי אמולטור.
- אפליקציית React שמדגימה אינטראקטיביות מרחוק באמצעות צילום מסך וקלט של RPC. כדי להשתמש בדוגמה הזו, נדרשת גרסה 3.7.0 של protobuf ומעלה.
- דוגמה ל-Python שמבצעת שאילתה על ההגדרה של המכונה הווירטואלית של האמולטור ואז שולחת סדרה של פקודות.
28.0.25 (29 במרץ 2019)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
גרסת build של אמולטור ללא ממשק משתמש
היה קשה להגדיר את האמולטור באמצעות Docker ותהליכי עבודה אחרים של שילוב מתמשך (CI) בגלל הציפיות המרומזות של המערכת לתמיכה ב-Qt יחד עם יחסי התלות בספרייה המשותפת שלה (בין בעיות אחרות).
כצעד ראשון לפתרון הבעיה, השקנו גרסה של כלי ההפעלה של האמולטור עם קובצי הפעלה של 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 בכלי הפלטפורמה 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 כדי לוודא שזיהוי מילות הפעלה מושבת גם בקובץ אימג' של המערכת.
כדי לתת מענה לבעיה הזו, ביצענו את השינויים הבאים:
- נתוני האודיו של המארח מושתקים עכשיו כברירת מחדל. כשהאורח משתמש במיקרופון, במקום האודיו של המארח, עובר שקט.
- אם רוצים להשתמש בנתוני האודיו של המארח, אפשר להפעיל את האפשרות הזו עכשיו. לשם כך, עוברים אל אמצעי בקרה מתקדמים > מיקרופון ומפעילים את האפשרות המיקרופון הווירטואלי משתמש בקלט האודיו של המארח. האפשרות הזו מושבתת אוטומטית בכל פעם שמפעילים מחדש את האמולטור.
עדכונים בנושא בדיקות של השימוש במעבד
במהלך החקירות שלנו במסגרת Project Marble, שמנו לב ששימוש גבוה ב-CPU באמולטור בדרך כלל נחלק לשלוש קטגוריות:
במצב לא פעיל: עדכונים אוטומטיים של אפליקציות בתמונות של חנות Play
מצאנו שבמרווחי זמן אקראיים, כל האפליקציות המותקנות מתעדכנות, גם כשהמשתמש לא מחובר. במהלך התהליך, השימוש במעבד מגיע למספר הליבות כפול 100% (בדרך כלל כ-400%) ב-GMSCore וב-dex2oat. כדי לפתור את הבעיה, אפשר להשבית את העדכונים האוטומטיים של האפליקציות באפליקציית חנות Play.
במצב לא פעיל: זיהוי מילת הפעלה
כשנמצאים במסך הבית ולא מפעילים אף אפליקציה, יכול להיות שיהיה שימוש רב במעבד (CPU) (בערך 25% עם עליות פתאומיות ל-50%). הסיבה לכך היא זיהוי מילת ההפעלה ששולח פינגים כל הזמן למארח. אי אפשר לפתור את הבעיה הזו על ידי השבתת קלט האודיו של המארח, כי העלות של השימוש במעבד נובעת בעיקר מהזמן שלוקח להעביר את האודיו מהמארח לאורח. עם זאת, אפשר לצמצם את הבעיה על ידי ביטול הרשאות המיקרופון באפליקציית Google.
בזמן פעילות, לפעמים במצב לא פעיל: אנימציות
המקור השלישי לשימוש גבוה ב-CPU הוא אנימציות. גילינו שעל ידי אופטימיזציה של מחסנית מנהלי ההתקנים של הגרפיקה, אפשר גם לצמצם את השימוש במעבד (CPU) גם כשהאמולטור לא במצב המתנה. אנחנו נשיק בהדרגה אופטימיזציות של מנהלי התקנים של כרטיסים גרפיים כחלק מ-Project Marble.
28.0.22 (21 בדצמבר 2018)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- תוקנה בעיה שהייתה קיימת זמן רב, שבה בהגדרות מסוימות, האמולטור של Mac היה מבצע הפעלה מחדש או תגובה לשגיאת ליבה קריטית בשמירת Quickboot. (בעיה מספר 120951634)
- כשמשתמשים בקובץ ממופה כ-snapshot של ה-RAM, האמולטור מבטל עכשיו את המיפוי של הקובץ באופן מפורש ביציאה.
28.0.20 (11 בדצמבר 2018)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- תוקנה בעיה ב-Windows שגרמה לאמולטור לקפוא בטעינת תמונת מצב עם דגמים מסוימים של כרטיסי מסך של Intel.
- תוקנה בעיה שגרמה למצב מכשיר
unauthorizedADB כשמשתמשים במיקוםANDROID_SDK_HOMEלא סטנדרטי. - תוקנה בעיה ב-Windows שגרמה לקריסת האמולטור בזמן אתחול של תמונות מערכת עם השבתה של האצת המעבד.
- תוקנה בעיה בתצוגה של האמולטור שגרמה לפיקסול. הדגימה החוזרת אמורה לפעול עכשיו.
- תוקנה בעיה ב-macOS 10.14 ואילך, שבה השליטה במצלמת הסצנה הווירטואלית באמצעות העכבר הייתה רגישה מדי בגלל אינטראקציה עם הגדרות אבטחה חדשות של נגישות.
- תוקנה שגיאה בחישוב אזור הזמן שיכולה לגרום לשעון של האמולטור להשתנות באופן לא סדיר.
- תוקנו שגיאות רינדור באפליקציות שונות של cocos2d ו-Unreal Engine.
- הוספנו תמיכה באמולטור ב-Wi-Fi peer-to-peer.
שני אמולטורים יכולים עכשיו לתקשר ישירות ביניהם באמצעות Wi-Fi אם משתמשים בתמונה העדכנית של חנות Play ב-Pie. כדי להשתמש ב-Wi-Fi peer-to-peer, מפעילים שני מכשירי AVD עם אותם ארגומנטים של
-wifi-server-portו--wifi-client-port:emulator @<server-avd-name> -wifi-server-port 9999emulator @<client-avd-name>-wifi-client-port 9999
- הוספנו תמיכה במצלמות אינטרנט נוספות ב-Windows. כדי לעשות את זה, אנחנו לוקחים גדלי מסגרות לא תואמים ומשנים את הגודל שלהם באופן דינמי כך שיתאימו להגדרת המצלמה ב-Android guest.
28.0.16 (נובמבר 2018)
העדכון הזה כולל כמה תכונות חדשות, שיפורים בתכונות קיימות ותיקוני באגים.
שימוש במשאבים
האמולטור משתמש עכשיו בפחות זיכרון RAM באופן כללי, במיוחד כשמשתמשים בתמונות מערכת עם רמת API 28 ומעלה. תמונות המערכת האלה כוללות שיפורים בשימוש בזיכרון עבור מנהלי התקנים של גרפיקה בצד האורח.
בנוסף, שיפרנו את השימוש במשאבים בתחומים הבאים:
- צריכת הזיכרון של האמולטור פחתה במהלך בדיקות ארוכות. אם עדיין נתקלתם בבעיות בשימוש בזיכרון במהלך בדיקות ארוכות, אתם יכולים ליצור בעיה עם תיאור של תרחיש השימוש בIssue Tracker.
- השימוש במעבד (CPU) מצטמצם כשמפעילים אפליקציות עם אנימציות.
- תוקנה בעיה שבה הקשר של QEMU AIO עלול לדלוף ב-Windows.
הפעלה של כמה מופעים של אותו AVD בו-זמנית
עכשיו אפשר להפעיל כמה מקרים של אותו AVD ולהריץ אותם במקביל. מופעים שמפעילים אחרי המופע הראשון הם לקריאה בלבד, והשינויים שלהם בדיסק הווירטואלי של האורח נמחקים ביציאה.
כדי להריץ כמה מופעים של אותו AVD בו-זמנית, מפעילים את כל המופעים אחרי המופע הראשון משורת הפקודה באמצעות הדגל -read-only.
התכונה הזו מתאפשרת על ידי העתקת קובצי QCOW2 שמשויכים לחלקים הניתנים לכתיבה של תמונת Android. כדי לעזור לכם לנהל את נפח האחסון בדיסק, צירפנו גם את qemu-img כלי שורת הפקודה כדי לאפשר לכם לבצע קומיט מראש של קובצי QCOW2 לפני הפעלת כמה מופעים.
בנוסף, כשמשתמשים בה יחד עם התכונה תמונות מצב של זיכרון RAM של אורח שמגובות בקובץ , כמה מופעים של AVD משתפים את תמונת המצב הראשית של AVD Quickboot כמקור משותף של זיכרון RAM של אורח מסוג copy-on-write. המאפיין הזה מציין שהמופעים חולקים הרבה מזיכרון ה-RAM שלהם. אפשר להשתמש בתכונה הזו כדי להריץ בדיקות שדורשות הפעלה מקבילה של כמה מכשירים.
נשמח לקבל משוב על תרחישי שימוש אפשריים שמהווים חלק מזרימת העבודה האינטראקטיבית או CI הרגילה שלכם. אפשר ליצור בעיות או להצביע בעד בעיות בכלי למעקב אחרי בעיות.
תמונות מצב של זיכרון RAM של מכונה וירטואלית שגובו לקובץ
על ידי הקצאה מראש של זיכרון RAM לאורח ומיפוי שלו כקובץ, האמולטור יכול עכשיו לשמור תמונות מצב של Quickboot במהלך זמן הריצה, במקום לבצע את כל העבודה ביציאה. אם אתם חווים כרגע זמני שמירה ארוכים כשאתם סוגרים את האמולטורים, כדאי להפעיל את התכונה הזו כדי לשפר את הביצועים של Quickboot. כברירת מחדל, תמונת מצב של Quickboot נשמרת כשיוצאים מהמכשיר הווירטואלי, ונטענת מחדש בכל פעם, כמו השהיה והפעלה של מכשיר אמיתי.
מכיוון שזיכרון ה-RAM של האורח ב-Android נשמר עכשיו אוטומטית כברירת מחדל, אם רוצים להגדיר מצב מכשיר ולטעון ממנו שוב ושוב, צריך להגדיר לאמולטור לבטל את השינויים אחרי כל סשן. אפשר לעשות את זה בדרכים הבאות:
- משתמשים בדגלים
-no-snapshot-saveאו-read-onlyכשמפעילים את האמולטור משורת הפקודה. - עוברים אל אמצעי בקרה מתקדמים > תמונות מצב > הגדרות ומעבירים את האפשרות שמירה אוטומטית של המצב הנוכחי לטעינה מהירה? למצב לא.
- אחרי שבוחרים באפשרות הזו, צריך להפעיל מחדש את האמולטור. אם האמולטור מוגדר לשמירה אוטומטית, אפשר להריץ את הפקודה הבאה כדי להגדיר נקודת ביקורת:
אחרי שמריצים את הפקודה הזו, תמונת המצב של Quickboot באמולטור תישאר בנקודת הבדיקה הזו. מריצים שוב את אותה פקודה כדי לטעון את האמולטור מנקודת הבדיקה.adb emu avd snapshot remap 0
תמונות המצב שנוצרות ונטענות דרך ממשק המשתמש של תמונות המצב פועלות כמו קודם, ללא מיפוי קבצים.
מדובר בשינוי משמעותי באופן הפעולה של Quickboot, ולכן נשמח לקבל מכם משוב על השיפור בביצועים של Quickboot ועל הבעיות שנתקלתם בהן במהלך השימוש בו. אם נתקלים בבעיות, אפשר להשבית את התכונה הזו על ידי הוספת השורה הבאה לקובץ ~/.android/advancedFeatures.ini:
QuickbootFileBacked = off
כשמפעילים את האמולטור מתמונת מצב (באמצעות האפשרות -snapshot
בשורת הפקודה או הפעלה מתמונת מצב במנהל ה-AVD), האמולטור משבית את השמירה האוטומטית של תמונות מצב של 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 Emulator:
- x86:
gdbstubמספקת עכשיו גישה לרישום SSE. - תמונות דיסק: נעילת תמונות מתווספת ומופעלת כברירת מחדל. כמה תהליכי QEMU לא יכולים לכתוב לאותה תמונה כל עוד המארח תומך ב-OFD או בנעילת posix, אלא אם צוינו אפשרויות אחרות.
-
qemu-img: qemu-img resizeתומך בהקצאה מראש של החלקים החדשים בתמונה. - יש עכשיו תמיכה בהקטנת QCOW2 ב-
qemuוב-qemu-img.
נגישות
- תוקנו בעיות שקשורות לקוראי מסך, והוספנו תמיכה משופרת בכלים האלה בממשק המשתמש של צילום המסך וצילום התמונה.
- הפכנו את סמלי ההתראות של אתחול מהיר לנגישים יותר למשתמשים עיוורי צבעים.
גרפיקה
- תוקנה בעיה של גישה לזיכרון מחוץ לגבולות שיכולה להתרחש עבור מצביעים של מערכי קודקודים של OpenGL ES.
- חלק מה-GPU הישנים לא תמכו ב-OpenGL 2.1 ומעלה (שנדרש), או שהיו להם בעיות אחרות שקשורות למהימנות. הבעיות האלה עלולות לגרום לקריסת האמולטור בהפעלה, להקפאה או להוציא אותו מכלל שימוש בהגדרת ברירת המחדל של ה-GPU. האמולטור עובר עכשיו באופן אוטומטי לרכיב ה-Swiftshader renderer אם הוא מזהה שה-GPU האלה נמצאים בשימוש.
- תוקנה בעיה שגרמה לכך שהאמולטור לא פרסם את ה-framebuffer הנכון אם
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 לא התעדכן מעת לעת, אלא אם חלון ההגדרות המתקדמות נפתח לפחות פעם אחת.
מצלמה
ב-Windows, יש עכשיו תמיכה ביותר מצלמות אינטרנט כי האמולטור משנה את הגודל של הפריימים של המצלמה שמועברים ממצלמת האינטרנט באופן דינמי. התכונה הזו גם מונעת מצב שבו שגיאות במסירת פריימים גורמות לאמולטור להיתקע.
חנות Play
כדי לפתור בעיות שקשורות למצב שבו נגמר נפח האחסון בתמונות של חנות Play, האמולטור משנה עכשיו את הגודל של מחיצת נתוני המשתמש ל-6GB באופן אוטומטי כשמריצים אותו עם מכשיר וירטואלי חדש של חנות Play.
שיפורים ותיקונים כלליים באיכות
- חלק מהמשתמשים דיווחו שהאמולטור פועל לאט. זיהינו סיבה אפשרית אחת לכך שספריית הקבצים הזמניים של האמולטור מכילה יותר מדי קבצים לא עדכניים. כפתרון עקיף, האמולטור כבר לא מאחסן קבצים של בדיקת הפעילות של ADB בספרייה הזו. אבל יכול להיות שגם מחיקת התוכן של התיקייה תעזור. התיקייה נמצאת באחד מהמיקומים הבאים, בהתאם למערכת ההפעלה:
- ב-Windows:
C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\* - macOS או Linux:
/tmp/android-<username>/*
- ב-Windows:
- אם האמולטור לא מצליח להתחיל לפעול בגלל שאין מספיק זיכרון RAM פנוי, מוצגת עכשיו הודעת שגיאה. אם אתם משתמשים ב-Windows וראיתם שיש זיכרון RAM פנוי, אבל עדיין לא הצלחתם להפעיל את האמולטור, יכול להיות שחרגתם ממגבלת החיוב על הקצאת זיכרון. לקבלת עזרה בפתרון הבעיה, אפשר לעיין בדף לפתרון בעיות באמולטור.
- האפשרות
-sysdirבשורת הפקודה מבטלת עכשיו כמו שצריך את ספריית תמונות המערכת שהמערכת הסיקה. - מודם וירטואלי תומך עכשיו בשאילתת
+MAImodel activity info. - תוקנו בעיות שונות שקשורות לדליפות זיכרון, להשחתת זיכרון ולשימוש במעבד (CPU). אם אתם נתקלים בקריסות, בדליפות זיכרון או בשימוש גבוה במשאבים אחרים, אנא צרו בעיה בIssue Tracker.
- תוקנה בעיה שהופיעה מחדש ב-macOS 10.14, שבה שימוש באוזניות Bluetooth עם האמולטור פוגע באיכות האודיו באופן כללי. כדי למנוע את זה, האמולטור לא משתמש יותר באודיו ב-Bluetooth כשהוא פועל ב-macOS. (בעיה מספר 37070892)
- תוקנה בעיה ב-Windows שגרמה לכך שהשעון של האמולטור לא היה באזור הזמן הנכון.
- תוקנו בעיות של איטיות והיתקעות של אמולטור במערכות Linux עם כוננים קשיחים מסתובבים (HDD).
- תוקנו כמה אזהרות קומפילציה שיכלו לגרום להשחתת מחסנית ב-macOS.
- תוקנו בעיות שיכלו לגרום לדיווח מטעה על מצב תקיעה.
- תוקנה בעיה בהשמדת מאגרי שרשורים שיכולה לגרום לקריסה אם אחד מהשרשורים לא נוצר בהצלחה.
- תוקנה בעיה ב-macOS שגרמה לכך שהטיימרים לא היו אמינים, מה שהוביל לתקיעות ולהתנהגות מוזרה אחרת. אם האמולטור נתקע ב-macOS, אפשר ליצור בעיה ב-Issue Tracker.
- תוקנה בעיה שבה סגירת האמולטור השביתה את ממשק המשתמש, אבל לא סגרה את האמולטור בפועל.
- תוקנו בעיות שקשורות לקריסות ספורדיות, כולל ביטול בגלל פתיחה של יותר מדי מופעים של
/dev/urandom. - תוקנה בעיה שגרמה לכך שהאמולטור לא הופעל אחרי הפעם הראשונה אם ADB הופסק בכוח.
- הגרסה של 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 כי צריך להתקין אותו כדי שתמונות מערכת עדכניות יפעלו כראוי באמולטור. HAXM 7.3.2 כבר אמור להיות זמין בערוץ היציב, ואפשר גם להתקין אותו באופן ידני מכתובת 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 (WHPX) לא אותחלה כשהם הפעילו אמולטור WHPX. כדי לעזור לכם לאבחן את הבעיות האלה, הוספנו הודעות שגיאה עם יותר מידע. כדי להציג את הודעות השגיאה האלה, מריצים את האמולטור משורת הפקודה באמצעות הדגל -verbose.
תיקונים כלליים
- תוקנו שגיאות OpenGL שמתרחשות כשמטעינים תמונה ביישום המצלמה.
27.3.8 (יולי 2018)
העדכון הזה כולל כמה תכונות חדשות, שיפורים בתכונות קיימות ותיקוני באגים.
תמונות מצב
מעכשיו אפשר לשמור כמה תמונות מצב של AVD להגדרת מכשיר מסוימת, ולבחור איזו מהתמונות השמורות לטעון כשמפעילים את האמולטור.
החל מ-Android Studio 3.2 Canary 13, כל הגדרת מכשיר כוללת אמצעי בקרה בהגדרות המתקדמות בתיבת הדו-שיח Virtual Device Configuration (הגדרת מכשיר וירטואלי), שבאמצעותו אפשר לציין איזו תמונת מצב של AVD לטעון כשמפעילים את ה-AVD.
כדי להתאים את עצמנו להרחבה הזו של תכונות התמונות, הוספנו קטגוריה של תמונות לתיבת הדו-שיח אמצעי בקרה מתקדמים. בחלונית החדשה הזו יש אמצעי בקרה לשמירה ולטעינה של תמונות מצב של AVD, כולל אמצעי הבקרה לשמירה ולטעינה של תמונת המצב של האתחול המהיר, שהיו קודם בחלונית ההגדרות.
אתם יכולים לערוך את השם והתיאור של כל תמונה ששמרתם.
פרטים נוספים זמינים במאמר בנושא תמונות מצב.
HAXM 7.2.0
גרסה HAXM 7.2.0 זמינה עכשיו בכל הערוצים.
העדכון הזה כולל תיקוני באגים ושיפורים בתמיכה בכמויות גדולות של זיכרון RAM. בנוסף, בעקבות העדכון הזה של HAXM ובאמולטור מגרסה 27.3 ואילך, התוכן של התמונות המהירות נטען לזיכרון ה-RAM לפי דרישה, במקום לטעון את כל התמונה המהירה כשהמכשיר הווירטואלי מופעל. השינוי הזה אמור לקצר משמעותית את הזמן שנדרש לטעינת תמונת מצב.
פרטים נוספים זמינים במאמר בנושא הגדרת האצת מכונות וירטואליות.
27.2.9 (מאי 2018)
העדכון הזה כולל כמה תכונות חדשות, שיפורים בתכונות קיימות ותיקוני באגים.
הקלטת מסך
עכשיו אפשר להקליט וידאו ואודיו מ-אמולטור Android ולשמור את ההקלטה כקובץ WebM או כקובץ GIF מונפש.
אמצעי הבקרה של הקלטת המסך נמצאים בכרטיסייה הקלטת מסך בחלון אמצעי בקרה מתקדמים.
כדאי לדעת: אפשר גם לפתוח את אמצעי הבקרה של הקלטת המסך על ידי הקשה על 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 שלכם בסביבה וירטואלית.
למידע על שימוש במצלמת הסצנה הווירטואלית באמולטור, אפשר לעיין במאמר בנושא הפעלת אפליקציות 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 במכשיר.
תמונות מצב
עכשיו אפשר לטעון תמונת מצב של אתחול מהיר בלי להפעיל מחדש את האמולטור. כדי לטעון תמונת מצב, פותחים את החלון Extended Controls (אמצעי בקרה מתקדמים), עוברים לדף Settings (הגדרות) ולוחצים על הלחצן Load Now (טעינה מיידית).
ביצענו שיפורים רבים בטעינה ובשמירה של תמונות מצב כדי לשפר את היעילות של השימוש במשאבים ולצמצם את הזמן שכל פעולה אורכת. אם עדיין נתקלתם בשמירה ארוכה באופן חריג, אתם יכולים לדווח על בעיה ולספק פרטים על המעבד, ה-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 נבנית עכשיו באמצעות Clang C++ toolchain מודרני. השינוי הזה פותר את הבעיה שגורמת לאמולטור להיכשל בהפעלה בגלל שגיאות libGL ו-libstdc++.
- תוקנו כמה סיבות לקריסות ולתקיעות.
- כדי למנוע קריסות ותקיעות שנגרמות בגלל חוסר מקום פנוי בדיסק, האמולטור בודק עכשיו אם יש מספיק מקום פנוי בדיסק בזמן ההפעלה, והוא לא יופעל אם אין לפחות 2GB פנויים.
- תוקנה בעיה שגרמה לכך שחלק מהמשחקים ב-Unity לא עברו רינדור.
- תוקנה בעיית DNS שגרמה לכך שהאמולטור לא הצליח להתחבר לרשת.
- תוקנה הבעיה שגרמה לכך ששינויים בזיכרון הפנימי שהוקצה ל-AVD דרך תיבת הדו-שיח Virtual Device Configuration לא פעלו.
- תוקנה בעיה שבה נוצרים הרבה תהליכי adb ולא מתבצע כיבוי תקין שלהם.
- תוקנה בעיה שגרמה לכך שהלחצנים לסיבוב וחלקים אחרים בממשק המשתמש לא הגיבו, אלא אם חלון הפקדים המורחבים היה פתוח.
- תוקנה בעיה שגרמה לכך שהעתקה והדבקה מהמארח לא פעלו, אלא אם תיבת הדו-שיח של אמצעי הבקרה המתקדמים נפתחה לפחות פעם אחת.
- העדפנו את המלבן לשינוי הגודל של האמולטור ללא מסגרת כדי שיתאים יותר לעיצוב החזותי של האמולטור.
- הטלפון וה-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 שהוגדר באמצעות המסוף בוטל על ידי ערכים שהוגדרו באמצעות אמצעי בקרה מתקדמים > מיקום בממשק המשתמש הגרפי. (בעיה מספר 73471760)
אם אתם עדיין נתקלים בבעיות של קריסות או חוסר יציבות אחר, אתם יכולים לדווח על בעיה.
בעזרת העדכון הזה, קובץ אימג' של המערכת עדכני וגרסת טרום-השקה של 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'. לא התקבלה תגובה במשך 15,000 אלפיות השנייה".
אם אתם עדיין נתקלים בבעיות של קריסות או חוסר יציבות אחר, אתם יכולים לדווח על בעיה.
27.1.7 (פברואר 2018)
חלון אמולטור ללא מסגרת:
כברירת מחדל, אמולטורים עם קובצי סקין של מכשירים מוצגים עכשיו ללא מסגרת חלון מסביב. כדי להציג את מסגרת החלון שמסביב, מפעילים את האפשרות הצגת מסגרת החלון מסביב למכשיר בחלונית ההגדרות של החלון Extended Controls (אמצעי בקרה מתקדמים).
שיפורים ב<b>אתחול מהיר</b> כדי לעבוד בצורה יעילה יותר עם תמונות מצב של AVD:
- אפשר לשמור תמונת מצב של AVD בכל שלב באמצעות הלחצן שמירה מיידית בחלונית ההגדרות של תיבת הדו-שיח אמצעי בקרה מתקדמים.
- במקרים רבים, האמולטור מקצר את הזמן שנדרש לשמירת תמונת מצב, כי הוא שומר רק את ההבדל בין המצב הנוכחי לבין תמונת המצב שנשמרה קודם.
פרטים נוספים זמינים במאמרי העזרה בנושא אתחול מהיר.
האמולטור עודכן לשימוש ב-QEMU 2.9.
אלה כמה מהשיפורים הבולטים:
- שיפורים בקלט/פלט (I/O) ונעילת שרשור קלט/פלט (I/O) ברמת גרנולריות גבוהה יותר לשיפור הביצועים.
- תוקנו באגים מאז QEMU 2.8 (26.1.4).
- הטמעה חדשה של קצה העורפי (back end) של HAXM.
הרשימה המלאה של השינויים מופיעה ביומן השינויים של QEMU 2.9.
הטמעה של Swiftshader שתואמת ל-OpenGL ES 3.0:
המעבד הגרפי של Swiftshader במדמה תואם עכשיו באופן מלא ל-OpenGL ES 3.0. פרטים על רכיב ה-Renderer של Swiftshader מופיעים בקטע Settings > Advanced (הגדרות > מתקדם) של Extended Controls (אמצעי בקרה מתקדמים).
תיקונים
- תוקנה בעיה שבה שיתוף הלוח לא פעל אלא אם האפשרות הפעלת שיתוף הלוח הושבתה והופעלה מחדש.
- תוקנה בעיה שגרמה להשהיה כשמשתמשים בחלק האחורי של Swiftshader rendering עם AVD ברזולוציה נמוכה.
27.0.5 (ינואר 2018)
האפשרות ANGLE לעיבוד ב-Windows מושבתת עכשיו כברירת מחדל.
אם ANGLE מתאים לכם יותר, אתם יכולים להפעיל אותו מחדש באמצעות הדגל
-gpu angle_indirectבשורת הפקודה. אפשרות אחרת היא לפתוח את חלון אמצעי הבקרה המתקדמים, לעבור אל הגדרות > מתקדם ולבחור באפשרות ANGLE D3D11 בהגדרה של OpenGL ES renderer.תוקנה הבעיה שבה הקשה על Shift+B לא הפיקה את האות B גדולה.
27.0.2 (דצמבר 2017)
תכונת אתחול מהיר החדשה מספקת זמני הפעלה מהירים יותר של אמולטורים, על סמך תמונת מצב של מופע ה-AVD.
ההגדרה 'אתחול מהיר' מופעלת כברירת מחדל בכל מכשירי ה-AVD. בפעם הראשונה שמפעילים מכשיר וירטואלי של Android, הוא צריך לבצע אתחול קר (בדיוק כמו הפעלה של מכשיר), אבל כל ההפעלות הבאות מהירות והמערכת משוחזרת למצב שבו היא הייתה כשסגרתם את האמולטור (בדומה להעיר מכשיר).
כדי לקבוע מתי האמולטור ישמור תמונת מצב, פותחים את חלון ההגדרות המתקדמות של האמולטור ולוחצים על הגדרות. כאן אפשר לבחור אחת מההגדרות הבאות של שמירת מצב האתחול המהיר ביציאה:
- כן: תמונת המצב של האתחול המהיר נשמרת תמיד כשסוגרים את האמולטור. זוהי אפשרות ברירת המחדל.
- לא: לעולם לא לשמור תמונת מצב של אתחול מהיר; תמיד לבצע אתחול קר.
- לשאול: הצגת הנחיה לשמירת תמונת מצב של אתחול מהיר כשסוגרים את האמולטור.
הבחירה חלה רק על ה-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הוצאו משימוש. בחלון 'אמצעי בקרה מתקדמים', האפשרויות 'SwiftShader' ו-'ANGLE' להגדרת רכיב ה-rendering של OpenGL ES בהגדרות > מתקדם משתמשות עכשיו בווריאציות של*_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 Launcher ממשיך להיסגר'. נראה שמדובר בבעיה במנהל ההתקן בחלק מדגמי 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 לתמונות 32-bit x86 כדי לשפר את הביצועים ואת התאימות ל-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) לפתיחת דף ממשק המשתמש של דיווח על באגים ישירות מדף ההגדרות.
- תוקנה הבעיה שבה אם נעשה שימוש ביחידת עיבוד מרכזית (CPU) ישנה יותר עם 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 (דיווח על באג) נפתח חלון דו-שיח שבו אפשר לראות את פרטי דוח הבאגים, כמו צילום המסך, פרטי ההגדרה של AVD ויומן דוח הבאגים. אחרי כן תוכלו לשמור את הדוח לעצמכם או לדווח על בעיות באמולטור הדוחות.נוסף חיישן גירוסקופ לאמולטור ולחלונית של חיישנים וירטואליים. כדי שהתכונה הזו תפעל, נדרש קובץ אימג' של המערכת עם תמיכה בגירוסקופ (כרגע רמת API 24 ו-25).
נוספה רשימת DNS מועדפת למארח ל-Qemu DNS ב-Windows, כשממשקי רשת וירטואליים מרובים במארח יוצרים כתובות DNS מרובות שלא פועלות באמולטור.
נוספה תמיכה ניסיונית ב-Hypervisor.Framework של macOS לתמונות x86 32 ביט ב-macOS 10.10 ואילך באמצעות דגלים של שרתים, מה שאמור לשפר את זמן האתחול והביצועים.
- אם נתקלים בבעיות, מוסיפים את השורה
HVF = offב-~/.android/advancedFeatures.ini.
- אם נתקלים בבעיות, מוסיפים את השורה
OpenGL ES 3.x מופעל עכשיו כברירת מחדל עבור קובצי אימג' של המערכת ומעבדים גרפיים (GPU) של המארח שתומכים ב-OpenGL ES 3. בשלב הזה, רק מארחי Windows/Linux ו-Android O (רמת API 26) תומכים ב-OpenGL ES 3.
- אם נתקלים בבעיות ב-OpenGL ES 3, מוסיפים את השורה
GLESDynamicVersion = offב-~/.android/advancedFeatures.ini.
- אם נתקלים בבעיות ב-OpenGL ES 3, מוסיפים את השורה
האמולטור משתמש עכשיו ב-OpenGL FBOs מחוץ למסך לכל העיבוד, למעט פרסום תמונת התצוגה הסופית. זה אמור לעזור בבעיות של עקביות הצבעים בפלטפורמות שונות.
אחרי שצברנו נתונים על בעיות של האטה פתאומית באמולטור, קבענו שהבעיה קשורה לאינטראקציה מסוימת בין דרייברים ישנים של Intel OpenGL לבין עדכוני Windows. לכן, משתמשים עם Intel HD 4000, 3000, 2000 (ומעבדים גרפיים קשורים) מוגדרים עכשיו כברירת מחדל עם רנדור של D3D (ANGLE) או Swiftshader (רנדור תוכנה).
26.0.0 (מרץ 2017)
הגרסה הזו תואמת לרמת API 26. הגרסה כוללת גם מספר שיפורים בביצועים ותיקוני באגים.
גרסת משנה 26.0.3 (מאי 2017)
- הוספנו דגלים של תכונות שאפשר לעדכן אונליין כדי לטפל במהירות בבעיות שנובעות מהגדרות חומרה בעייתיות. כך Google יכולה להשיק תיקונים ותכונות שתלויים בהגדרות המשתמשים, על ידי עדכון של דגלים בצד השרת. אם נתקלתם בבעיות בחומרה ספציפית, אתם יכולים לדווח על באג כדי שנוכל לבדוק את הבעיה.
- תמיכה חדשה בקלט סיבובי לתמונות מערכת ברמת API 25 של Android Wear. כדי לדמות את חוגה להזנת נתונים במכשיר Wear, לוחצים על הכרטיסייה Rotary Input בחלון המורחב.
- תיבת הדו-שיח של דיווח על קריסות ניתנת לשינוי גודל, ולא מתאפסת יותר מתי לשלוח דוחות על קריסות לשאלת אישור ללא קלט.
- כדי למנוע מצב שבו לא יישאר מקום לאמולטור בנפח הזיכרון הווירטואלי של 2GB, באמולטור 32-bit צריך להגדיר את גודל ה-RAM המקסימלי של ה-AVD ל-512MB או פחות.
- נוספה תמיכה בנתיבים מוחלטים בתמונות של אמולטורים.
- נוספת כרטיסייה חדשה בחלון המורחב לתמונות של חנות Google Play, שמוצגת בה גרסת Play Services ולחצן לבדיקת עדכונים ל-Play Services.
- נוסף תפריט נפתח לבחירת רכיב ה-OpenGL Renderer בדף ההגדרות של האמולטור. אם נתקלתם בבעיות במנהל ההתקן של OpenGL במחשב Windows, נסו להשתמש באפשרויות ANGLE (D3D11) או ANGLE (D3D9) (נדרשת הפעלה מחדש). אם נתקלתם בבעיות במנהל ההתקן של OpenGL במחשב שאינו Windows, נסו להשתמש בתוכנת Swiftshader לעיבוד תמונה (נדרשת הפעלה מחדש).
- תיקנו קריסה נדירה ביציאה כשהאמולטור מקבל את הפקודות
exitו-minimize. - תוקנה בעיה שקשורה לשינוי גודל כשמחליפים מסכים במחשב Mac. (בעיה מספר 268296)
- תוקנה בעיה שבה האמולטור תופס 300% מה-CPU ומחזיק אותו אחרי שהמחשב המארח יוצא ממצב שינה או כשהאמולטור פועל במשך זמן רב.
- תוקנה קריסה שמתרחשת כשמכבים את האמולטור.
עדכונים בגרסה HAXM v6.1.1 (מרץ 2017)
הערה: החל מ-30 במרץ, גרסה 6.1.1 של HAXM זמינה למשתמשי Mac דרך SDK Manager, ותהיה זמינה למשתמשי 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 עם הפעלה של וירטואליזציה מקוננת. צריך להשבית את Hyper-V במופע האורח של Hyper-V (המכונה הווירטואלית של Windows).
פניות קשורות
- Android SDK Platform-Tools בגרסה 25.0.4 ואילך.
- Android SDK Tools בגרסה 26.0.0 ואילך.
תכונות חדשות ותיקוני באגים
- תואם לרמת API 26.
- תאימות מלאה ל-GLES 2.0. בהינתן GPU מארח עם מנהלי התקנים תואמים של OpenGL למחשב, האמולטור עובר עכשיו 100% מהבדיקות ברשימת
mustpassשל Android CTS dEQP-GLES2. העדכון הזה פורסם לתמונות x86 ברמת API 24 (גרסה 11 ומעלה), ובקרוב הוא ייכלל בכל תמונות המערכת. - שיפור בביצועי הפעלת סרטונים. האמולטור מאחסן עכשיו את כל מאגרי הצבעים של הסרטונים בזיכרון משותף של המארח/האורח, ומבצע את ההמרה הסופית הנדרשת מ-YUV ל-RGB במעבד הגרפי. רוב המערכות יכולות להגיע ל-1080p30. התכונה הזו הושקה עבור תמונות x86 ברמת API 24 (גרסה 11 ומעלה), ובקרוב היא תצורף לכל תמונות המערכת.
- האמולטור מבטל עכשיו את הרישום שלו בצורה נכונה מהרשימה
adb devicesביציאה, וסוגר יציאות TCP פתוחות במכונות Linux. - חיבורי adb אמינים יותר עכשיו. המערכת מזהה אמולטור פועל מהר יותר, והוא כבר לא עובר למצב 'אופליין' או 'לא מורשה'.
25.3.0 (מרץ 2017)
החל מהגרסה הזו, אמולטור Android יופץ בנפרד מ-SDK Tools. הגרסה הזו כוללת מגוון שיפורים בביצועים, תכונות חדשות ותיקוני באגים.
גרסת משנה 25.3.1 (מרץ 2017)
- תוקנה קריסה שמתרחשת בהגדרות GPU מסוימות על ידי השבתת GLAsyncSwap כברירת מחדל.
הוספנו את התכונה הזו בגרסה 25.3.0 כדי לשפר את התזמון של הפריימים ואת מספר הפריימים לשנייה במשחקים ובסרטונים, אבל היא גורמת לאמולטור להיכשל בחלק מהגדרות המכונה הלא ידועות. אפשר להפעיל אותו ידנית על ידי פתיחת הקובץ
android_sdk/emulator/lib/advancedFeatures.iniוהגדרתGLAsyncSwap = on.
פניות קשורות
- Android SDK Platform-Tools מגרסה 24 ואילך.
- Android SDK Tools revision 25.3.0.
תכונות חדשות ותיקוני באגים
- מנוע האמולציה עודכן ל-QEMU 2.7, כולל כל תיקוני הבאגים האחרונים, שיפורי הביצועים ותכונות חדשות.
- תמיכה חדשה ב-IPv6.
- האמולטור משתמש עכשיו ב-SwiftShader ככלי לרינדור תוכנה טהור במארח.
- שיפורים בביצועים של Android Pipe: Android Pipe, ערוץ התקשורת הראשי בין האמולטור לבין Android OS, מהיר עכשיו פי כמה, יש לו זמן אחזור נמוך יותר והוא מציע ביצועים טובים יותר בריבוי תהליכים. השינוי הזה משפר את הביצועים של האמולטור בכמה דרכים, כולל:
- שיפור המהירות של פעולות push/pull ב-ADB.
- תמיכה טובה יותר בהאצת תלת-ממד.
- שיפור התגובה הכוללת של האמולטור.
- שיפור בביצועי הגרפיקה.
- האמולטור משתמש עכשיו בבאפרים בצד ה-GPU (glBindBuffers / glBufferData) כשהמערכת האורחת מבקשת אותם, וכך מצטמצם העומס על המעבד בחלק מהאפליקציות.
- שיפור התמיכה באודיו.
- קלט/פלט (I/O) מהיר יותר בדיסק: האמולטור משתמש עכשיו בשרשורים נפרדים כדי לשלוח קלט/פלט מהדיסק, וכתוצאה מכך יש השהיה נמוכה יותר וקצב העברת נתונים טוב יותר (מהירות קלט/פלט רציפה גבוהה פי 1.5 בערך, מהירות קלט/פלט של גישה אקראית גבוהה פי 5 בערך). הפעולה הזו גם מקטינה את מספר הפעמים שבהן הנתונים נשמרים בדיסק, וכך העומס על המכשיר הפיזי קטן בהרבה.
- האמולטור משתמש עכשיו בקבצים דלילים לאתחול דיסקים במחשבי Windows, וכך מקצר את משך האתחול הראשון ואת משך האתחול של 'מחיקת נתונים'. כשיוצרים או מאפסים מכשיר וירטואלי של Android (AVD), האמולטור כותב עכשיו 100-200MB של נתונים לדיסק, במקום 2GB או יותר.
- שיפורים שונים בממשק המשתמש:
- האמולטור משתמש עכשיו ב-Qt 5.7.0, שכולל תיקוני באגים ושיפורי ביצועים.
- האתחול של ממשק המשתמש כבר לא מנסה לטעון את כל קובצי ההפעלה של האמולטור כתוספי Qt, ולכן הוא קצר משמעותית, במיוחד בכונני HDD.
- האינטראקציות בממשק המשתמש מהירות וחלקות יותר עכשיו, כולל סיבוב, שינוי גודל החלון וטעינה וסגירה של חלון הבקרה המורחב.
OpenXR™ והלוגו של OpenXR הם סימנים מסחריים בבעלות The Khronos Group Inc. והם רשומים כסימן מסחרי בסין, באיחוד האירופי, ביפן ובבריטניה.