Android Emulator כלול ב-Android Studio.
גרסאות של האמולטור שקדמו לגרסה 25.3.0 הופצו כחלק מ-Android SDK Tools.
כדי לוודא שאתם משתמשים בגרסה העדכנית ביותר, צריך לבדוק אם יש עדכונים במנהל ה-SDK.
כדי להוריד גרסאות קודמות של Android Emulator, אפשר להיכנס לארכיון ההורדות של Android Emulator.
לנתוני גרסה של גרסאות אמולטור שקודמות ל-25.3.0, אפשר לעיין בנתוני הגרסה של Android SDK Tools.
לבעיות מוכרות ולפתרון בעיות, אפשר לעיין במאמר פתרון בעיות במהדורת האדמין.
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)
- נוספה תמיכה ב-AVD של Pixel 8a
- תיקוני באגים שונים במכשירים מתקפלים
- עדכון של Qt ותיקונים לקריסות ולתקיעויות שקשורות ל-Qt
- [תיקון באג] תיקון לקריסות ולתקיעויות ב-Windows עם אפליקציות שמשתמשות ב-Vulkan
34.2.16 (9 ביולי 2024)
- [תיקון באגים] ממשק המשתמש קופא שמתרחש ב-Pixel Fold במהלך קיפול/פתיחה
- [תיקון באגים] תצוגה שגויה של גרסת Android כגרסת טרום-השקה (Preview) של Android Vanilla Ice Cup, במקום API 35 ב-Mac M1.
- [תיקון באג] בעיה מס' 296162661: הפונקציה HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE מחזירה את הערך true במהדמטור של טאבלט Pixel C
34.2.15 (31 במאי 2024)
- תיקוני קריסות שונים שקשורים למצב הטיה ולניקוי המפרסם
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 AVDs
- עדכון ספריית הגרפיקה שמשמש לעיבוד גרפי בתוכנה
- [תיקון באגים]בעיה 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 Emulator, מתוך בדיקות של מכשירי Android.
- תיקוני באגים שונים
33.1.24 (28 בדצמבר 2023)
האפליקציה נבדקה עם Android Studio Hdgehog Stable ו-Iguana Beta 1.
- תוקנה בעיה במצלמת האינטרנט של המהדמנת שלא מאפשרת להקליט מסך בפורמט mp4.
- תיקון הקריסה של אמולטור ב-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 HW לחיישנים באמולטור AAE
- [תיקון באג] בעיה מס' 266201208 לא ניתן לשלוח הודעת SMS בעברית ב-API 33
- [תיקון באג] בעיה מס' 257097404 ב-Emulator לא מוצג השעה הנכונה אחרי שהמארח מתעורר ב-API 29 ו-30
- [תיקון באג] בעיה מס' 228201899 אי אפשר לראות את מפות Google באמצעי הבקרה המורחבים של Android Emulator
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.
- הוספת תמיכה ב-AVDs של Pixel Fold ו-Pixel Tablet.
- שיפור הבעיה של קריסה ב-gLinux.
- [תיקון באג] בעיה מס' 215231636: "המכונה הווירטואלית עם API מעל API 30 לא פועלת במעבד Intel מדור 12".
- [תיקון באג] בעיה מס' 275397905 קריסה ברמה גבוהה ב-Android Emulator M1 כשממקמים את הסמן שוב ושוב בתוך הסימולטור ומחוץ לו.
- בעיה ידועה בהפעלת AVD בעיה מס' 281725854. מידע נוסף זמין במאמר פתרון בעיות במהדורת האמולטור.
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 במהלך ההתקנה
- תיקון קריסה ב-emulator-check
31.3.14 (13 בדצמבר 2022)
נבדק ב-Android Studio Dolphin, Electric Eel RC1 ו-Flamingo Canary 9.
- [תיקון באגים] תיקון קריסות של AVD שמתרחשות כשמתחברים לחנות Play.
31.3.13 (27 באוקטובר 2022)
נבדק ב-Android Studio Dolphin, Electric Eel Beta 2 ו-Flamingo Canary 5.
- [תיקון באגים] בעיה מס' 249948338: פרמטר אזור הזמן לא פועל
- [תיקון באגים] בעיה מס' 249366543: אמולטור – האפשרות dns-server לא פועלת אחרי API 31
31.3.12 (10 באוקטובר 2022)
נבדק ב-Android Studio Dolphin וב-Electric Eel Beta 1.
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- [תיקון באג] בעיה מס' 247843000: שגיאה בטיפול בנתיב יחסי של AVD
- הגדלת נפח האחסון בדיסק לגרסאות API 24 ואילך
31.3.11 (23 בספטמבר 2022)
נבדק ב-Android Studio Dolphin וב-Electric Eel Canary 10.
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- [תיקון באג] קריסה של AVD מוטמע בחלון של אמצעי הבקרה המורחבים
- [תיקון באג] בעיה מס' 183139207: בעיות אודיו שקשורות להפעלת המיקרופון על ידי המהדר
- [תיקון באגים] בעיה מס' 229764024: באג מסוג 'מגע דביק ב-AVD' שגורם לבעיות בהתנהגות של ממשק המשתמש
- [תיקון באג] שגיאה בהפעלת API 33 AVD ב-Mac M1.
- [תיקון באגים] בעיה מס' 243053479: מהירות רשת איטית לאחר עדכון האמולטור
- [תיקון באגים] בעיה מס' 244617627: מיקום לא פעיל של מפות Google ב-Windows וב-Linux
- [תיקון באג] בעיה מס' 232971796: הלחצן 'התקשר למכשיר' לא פועל בדף 'אמצעי בקרה מורחבים' > 'טלפון'
- עדכון של Android Emulator ל-minigbm
- העברה של סקריפטים של build ל-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 עם חלופות
- [תיקון באג] תיקון שגיאה ב-build של gcc8
31.2.9 (23 במרץ 2022)
נבדק ב-Android Studio Dolphin Canary 7.
העדכון הזה כולל את התיקון הבא:
- [תיקון באג] התעלמות מלחץ זיכרון כששומרים קובץ snapshot ב-M1
31.2.8 (7 בפברואר 2022)
האפליקציה נבדקה עם Android Studio Bumblebee Patch 1 ו-Chipmunk Canary 6.
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- [תיקון באג] לא ניתן להיכנס לאפליקציות
- [תיקון באג] בעיה מס' 215368358: הפקודה 'adb reboot' בפלטפורמת Intel תגרום לקריסה של avd עם 'vcpu shutdown request'
31.2.7 (1 בפברואר 2022)
האפליקציה נבדקה עם Android Studio Bumblebee Patch 1 ו-Chipmunk Canary 6.
העדכון הזה כולל את התיקון הבא:
- [תיקון באג] שגיאה של תקיעת אמולטור במכונות M1.
31.2.6 (20 בינואר 2022)
האפליקציה נבדקה עם Android Studio Arctic Fox, Bumblebee Beta 4 ו-Chipmunk Canary 6.
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- נוספו לחצני Wear לאמולטור Wear OS.
- כל מאפייני הרכב ניתנים עכשיו לעריכה בכרטיסייה VHAL.
- [תיקון באג] אימות חשבון Google נכשל בגרסה 21.42.18 של GmsCore.
- [תיקון באג] Netshaper לא עבד טוב עם VirtioWifi.
- [תיקון באג] הפקודה של עכבר האירוע במסוף לא פעלה.
- הוספנו בדיקת KVM ליצירת AVD מקומי.
31.1.3 (18 בינואר 2022)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- הפעלת יציאות מסוף ל-Fuchsia.
- כאשר משנים את הגודל של חלון עם מספר מסכים, המערכת מתעלמת מהכיוון.
- Wi-Fi: נוספה תמיכה בסינון חבילות unicast על סמך כתובת ה-MAC של MAT.
- Wi-Fi: הקריסה תוקנה כש-vmnet נמצא בשימוש.
30.9.5 (15 בדצמבר 2021)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- הוספנו אפשרות לשנות בקלות את הגודל של החלון לגודל של מסך מחשב או טאבלט.
- הוספנו תמיכה בקלט של מגע רב-אצבעות ממכשירי מארח תואמים.
- VirtioWifi: נוספה תמיכה ברשת tap.
- הופעלה קלט סיבובי לתמונות מערכת של Wear.
- תוקנה הבעיה בהגדרת האודיו ב-gRPC.
- עדכנו את ההפעלה של SensorReplay Emulator כדי לתמוך בחיישני Android רגילים.
- מחברים את הסימולטור לציוד היקפי ולמכשירים באמצעות USB עם העברה (pass-through) של USB.
30.4.5 (23 בפברואר 2021)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- macOS: תוקנו בעיות בעיוות של קלט האודיו.
- נוספה תמיכה ב-virtio-vsock במרחב המשתמש.
- קובצי אימג' עתידיים של מערכות ישתמשו ב-virtio-console להודעות של logcat ושל הליבה.
- הגברת מהירות הרינדור של Vulkan.
- נוספה תמיכה בניפוי באגים בתמונת מצב במקרה של כשל בבדיקה.
- virtio-gpu: הגדרות מעודכנות שתומכות ברשימה המלאה של משאבי blob העדכניים.
- הוספנו תמיכה בתמונות מצב (snapshots) להעברות גרפיקה מסוג 'asg'.
- macOS: הוספנו תמיכה ב-build מול 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.ini
hw.sensor.hinge.sub_type = hinge/fold
זמין עכשיו. אפשר לקרוא מידע נוסף בפוסט בבלוג פיתוח ל-Android 11 באמצעות Android Emulator.חיישן הציר מופעל עכשיו כברירת מחדל.
אם מוגדר מכשיר מתקפל, מעכשיו האמולטור שולח ל-Guest עדכונים של חיישני זווית הציר ושינויים בתנוחה. במכשירים מתקפלים קיימים, החיישן של ציר המכשיר יעדכן את הזווית והתנוחה שלו כשלוחצים על לחצני הקיפול או הפתיחה בסרגל הכלים.
אמולטור למארחים מסוג ARM64
קוד המקור של אמולטור Linux תומך עכשיו בתכנות ל-x86_64 ומארחים arm64, ומאפשר להריץ קובצי אימג' של מערכת arm64 באמצעות וירטואליזציה של KVM. נכון לעכשיו, יש תמיכה רק ב-
-gpu swiftshader_indirect
(עיבוד גרפי של Swiftshader arm64 למארח). עם זאת, אפשר להשתמש גם בקבוצה תואמת של ספריות libEGL/libGLESv2 של GPU המארח. לשם כך, מחליפים את lib64/gles_swiftshader בספריות האלה ומפעילים מחדש את-gpu swiftshader_indirect
. יכול להיות גם שקובצי snapshot לא פועלים (הוספת-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.
- בגלל אופן הפעולה של עיבוד ב-emulator, אנחנו מעבדים עכשיו את virtio-gpu virtqueue בשרשור vcpu (כי העיבוד מועבר בכל מקרה לשרשור אחר). עיבוד virtio-gpu יופעל בגרסה עתידית של קובץ האימג' של המערכת ושל ה-emulator.
- בתמונה עתידית של מערכת, הסימולטור יוכל להריץ את כל הגרפיקה באמצעות סטאק שמבוסס על virtio-gpu.
תכונות ושיפורים חדשים נוספים
- העברת נתונים בחיבור USB זמינה עכשיו ב-Windows באמצעות
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>
. (התכונה הזו אמורה לפעול גם ב-Linux וב-macOS) - ספריות WebRTC עודכנו לגרסה M83.
- מעכשיו, אפשר להשתמש במהדורת ה-emulator כדי להפעיל סטרימינג של אודיו במאגרי תגים באמצעות WebRTC.
- נקודת הקצה של צינור darwinn הוסרה.
- פענוח הקוד של CUDA VPx לווידאו זמין עכשיו אם הפענוח של CUDA VPx זמין בחומרה, באמצעות משתנה הסביבה
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
. - ב-macOS, ה-SSE 4.1 ו-4.2 זמינים עכשיו מתוך האורח ב-Android.
- ב-macOS, התכונה INVTSC מופעלת עכשיו כברירת מחדל. כך אפשר לשפר את הדיוק של מדידת הזמן מצד האורח.
- עכשיו אנחנו עוקבים אחרי חלונית הבקרה המורחבת שהמשתמש בחר במדדים.
- מעכשיו, במהלך ההרצה של Linux emulator נעשה שימוש בשעון וירטואלי של KVM כשגרסת הליבה של האורח היא 5.4 ואילך (קובצי אימג' של מערכת R ואילך).
- באמולטור נעשה עכשיו שימוש ב-LZ4 כדי לבטל דחיסה של ליבות (kernel) של אורח, כך שהוא תואם לצינור עיבוד הנתונים המודרני של הליבה.
נוספו פקודות מסוף כדי לקבל את ספריית ה-AVD של האמולטור, את הנתיב של קובץ הגילוי בתרחיש לדוגמה שהוטמע ב-Studio, ואת הנתיב לקובצי snapshot:
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 הנוכחי בקטע אמצעי בקרה מורחבים > הגדרות. כדי להסתיר בכל העולם את מסגרות המכשיר בכל מכשירי ה-AVD, הוספנו את התכונה הניסיונית
NoDeviceFrame
, שניתן להפעיל באמצעות הפעלת האמולטור משורת הפקודה עם המסגרת-feature NoDevice
או כדי לנעול אותו, על ידי הוספתNoDeviceFrame = on
ל-~/.android/advancedFeatures.ini
(אם הקובץ לא קיים, אפשר ליצור אותו).נוספה תפריט נפתח בדף הסלולר כדי להפעיל ולהשבית את התמיכה במדידה. הפעולה הזו לא משמעותית בתמונות מערכת ישנות שלא תומכות במתג למדידת השימוש ב-5G.
- הוספנו גם פקודה במסוף לאותו מטרה:
gsm meter on|off
- הוספנו גם פקודה במסוף לאותו מטרה:
שדרוג של כלי הפיתוח או ה-build ל-C++17.
תיקונים: אמולטור מוטמע
- עכשיו הלוח אמורה לפעול.
- תוקנה בעיה שבה תווים גדולים נשלחו בתור תווים קטנים במהלך ההפעלה במהדורת האדמין.
- תוקנה בעיה בחיוב של אסימון מסוף מנתיב Unicode ב-Windows.
- תוקנה הודעת השגיאה
SO_REUSEPORT
ב-Linux. - תוקנה בעיה של פגיעה ב-snapshot כששולחים פקודות snapshot דרך gRPC, וגם כשמקישים על לחצן השמירה של ה-snapshot במהדורת Android Studio המוטמעת של המהדמ.
כשהשתמשנו באמולטור Linux שמוטמע ב-Studio, גילינו שאם עושים זאת באמצעות Chrome Remote Desktop, יש באג שבו
XDG_RUNTIME_DIR
לא מוגדר ועלול לגרום לאמולטור המוטמע להופיע כי קובצי הגילוי של האמולטור מוצבים ב-XDG_RUNTIME_DIR
. אפשר לבדוק את הסטטוס של הבעיה המתאימה במעקב אחר הבעיות ב-Chrome.כפתרון עקיף, מעכשיו במהלך ההפעלה של הסימולטור יתבצע שימוש בקבצי גילוי בתיקייה שעשויה להיות שונה, על סמך מזהה המשתמש (UID):
/run/user/<uid>
.אמולטור מוטמע: במכשירים עם פינות מעוגלות או חריץ, עכשיו אפשר לראות שינוי בפריסה כדי לפנות מקום לפינות ולחריץ. לשם כך, צריך להפעיל מחדש את האמולטורים האלה.
נקודת הקצה ב-gRPC תומכת עכשיו בשליחת SMS למכשיר.
תיקונים כלליים
- זיהינו בעיות תאימות בהפעלת אמולטור Windows כש-Riot Vanguard פעיל. האמולטור של Windows מזהה עכשיו מגן נגד רמאות ומקפצת הודעת אזהרה אם מזוהה VanGuard.
- תוקנה שגיאה
FD_SETSIZE
ב-Windows. עכשיו אנחנו משתמשים ב-WSAEventSelect()
במקום ב-select()
כדי ליצור חיבורים לא חוסמים לשרתים של לולאה חוזרת (loopback). - הוספנו תמיכה בתכונה F16C CPUID למהדר של Linux, עם תיקונים לבעיות בהרצה של חלק מאפליקציות ARM64 באמצעות תרגום NDK. תמיכה ב-macOS/Windows בעבודה.
- תוקנה ההפעלה של מסלולי gpx/kml כך שתתבסס על חותמות זמן.
- תוקן סמל הקפיצה בזמן ההפעלה ב-MacOs.
- אם
hw.audioInput=no
ו-hw.audioOutput=no
ב-config.ini
, אודיו האמולטור מושבת עכשיו כראוי. - תוקנה בעיה שבה אם חלון הסימולטור הופחת למינימום בזמן שחלון הפקדים המורחבים היה פתוח אבל לא פעיל, חלון הפקדים המורחבים המשיך להופיע כשמשנים את הגודל של חלון הסימולטור. אנחנו נסיר את ההתנהגות הזו (המקרה שבו חלון אמצעי הבקרה המורחבים פעיל) לגמרי בעדכון עתידי.
- תוקן באג לא יציב שבו ה-Wi-Fi לא מחובר כשהאמולטור מופעל.
- תוקנה בעיה של תקיעה ביציאה כשהמכונה הווירטואלית מנפיקה פקודות מעטפת עם זמן קצוב ארוך או לא מוגדר.
- ה-PC עודכן עם תיקונים לתמיכה טובה יותר בתמונות גדולות שהועברו אל
-initrd
. ה-BIOS הקודם השתמש בשיטה לא יעילה מאוד. - תוקנה הקריסה במהלך הסיום כשנעשה שימוש באפשרות
-wifi-server-port
. - הסימולטור מדפיס עכשיו אזהרה אם מועברות ל-
-prop
אפשרויות שלא נתמכות (רק מאפייני qemu.* נתמכים). - כשמפתחים את הסימולטור ב-Windows, יש פחות סיכוי לכשלים לא עקביים בכתיבת לקובצים. מידע נוסף זמין בהוראות ליצירת גרסאות build של Windows.
- השבתנו את לחצן הזום במכשירי AVD מתקפלים, כי הוא גרם לבעיות.
- מעכשיו, ב-Emulator מדווחים בצורה נכונה על זמן האתחול שמגיע מהפעלה מחדש של המכשיר.
- Linux: במקרה שאין מספיק הרשאות KVM, האמולטור מדפיס עכשיו את ההוראות לניפוי באגים מהר יותר.
- תוקנה בעיה שבה לא ניתן היה להפעיל באימולטור קובצי אימג' של מערכת מהזמן האחרון ללא האצה.
- תוקן נזק בזיכרון או קריסה בזמן ההפעלה באמצעות גלאי שהשלים את תהליך האתחול.
- תוקן דליפת זיכרון במהלך סשנים ארוכים של הקלטת מסך.
- סמלי המהדמנים עודכנו כך שישקפו את המיתוג של Studio 4.1.
- נוספה תמיכה משופרת בזיהוי סשנים מרוחקים ב-Windows.
תיקונים: פענוח גרפי ופענוח וידאו
- תוקנה בעיה שבה משחק Asphalt 9 האחרון עבד רינדור עם מסך שחור.
- הסרת ספאם בנושא שטיפה של מאגר מפותח באמצעות
NULL
. - תוקנה בעיה של תנאי מרוץ (race condition) בזמן הריסת המצב של Vulkan כשאפליקציית Vulkan של האורח יצאה.
- תוכנות ההצללה (shader) של Vulkan ASTC/ETC2 להדמיה מוטמעות עכשיו בספרייה libOpenglRender. הקריאה הזו תהיה אמינה יותר מקריאה ממערכת הקבצים.
- תוקנה בעיה ב-Vulkan שבה, אם מריצים עם מכונה של Vulkan 1.0 במארח,
vkGetImageMemoryRequirements2KHR
מנקה באופן שגוי את השדהpNext
של המבנהVkMemoryRequirements2
שהוחזר. - תוקנה דליפת זיכרון בכלי לרינדור Vulkan.
- תוקנה נסיגה (regression) שהתרחשה לאחרונה, שבה לא ניתן היה לקמפל שגיאות של GLSL ES 1.00 עם שמות משתנים כמו
isampler2D
. - מתרגם ה-shader של ANGLE עודכן בתיקונים שונים לטיפול בכשלים אפשריים בזמן הידור של שידורים ב-Linux.
- עכשיו אנחנו גורמים לקריסה של הסימולטור אם לא ניתן לקמפל את שפת השיזוף הבסיסית של blit ב-framebuffer, כדי לעקוב אחרי התופעה.
- מתרגם שדר של ANGLE מעודכן כדי להתעדכן ב-ANGLE במקור. התיקון הזה פתר בעיה של פגיעה בזיכרון במהלך תרגום וקיפול של שגיאות OpenGL ES שמשתמשות במטריצות לא ריבועיות. מתרגם השיזרים הוא עכשיו ספרייה משותפת נפרדת,
libshadertranslator.dll
. - תוקנה בעיה בהפעלה הראשונית של Vulkan במנהלי GPU מסוימים, שבה לא נמצאו פונקציות מסוימות של מכשיר 1.1.
- Vulkan: חזרנו להשתמש בטוען שהוכן מראש, כי העדפה של טוען המערכת Vulkan גרמה לבעיות בחלק מההגדרות; נמצא פתרון טוב יותר.
- תוקנה בעיה בשימוש בזיכרון חיצוני של Vulkan, שבה יכול להיות שיובאו לארח אינדקסים לא תואמים של סוגי זיכרון.
- תוקנה בעיה באמולציה של
GL_ALIASED_POINT_SIZE_RANGE
שבה הערך של enum לא נתמך במארח. - תוקנה בעיה שבה בחלק מ-GPU של המארח לא ניתן היה לקמפל שגיאות של Skia עקב שגיאות שקשורות ל-
GL_EXT_shader_framebuffer_fetch
. - מאחר שהעותק שלנו של המרת הגרפיקה (renderer) D3D9 ANGLE הוסר לפני כמה גרסאות, אנחנו מעבירים עכשיו באופן אוטומטי משתמשים שהשתמשו במרת הגרפיקה הזה ל-d3d11 ANGLE, אם הוא נבחר בהעדפות של ממשק המשתמש.
- נוספו פרטי ניפוי באגים נוספים להפעלה של WGL ב-Windows כדי לאפשר מעקב אחר כשלים.
- כשהערך הוא
hw.gltransport=virtio-gpu-pipe
, הביצועים משתפרים כי לא מתבצע ספין במארח בהעברות מהמארח לאורחים. - נוספו עוד רשומות ביומן ניפוי הבאגים למקרה שבו הדמיית OpenGLES נכשלת באיפוס.
- תוקנה בעיה שבה סרטונים ב-YouTube רעדו או לא הופיעו בטעינה של קובץ snapshot.
- בינתיים חזרנו לפענוח תוכנה של libvpx כי גילינו בעיות בפענוח החומרה של libvpx ב-CUDA. אם יש לכם הטמעה נתמכת של פענוח חומרה ב-CUDA בצד המארח, תוכלו להפעיל מחדש את פענוח החומרה של libvpx באמצעות משתנה הסביבה
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
.
30.0.10 (30 באפריל 2020)
העדכון הזה כולל תמיכה בהפעלת הסימולטור ישירות ב-Android Studio ובמכשירים וירטואליים שבהם מצב החלון 'שינוי הגודל והמיקום של החלונות' מופעל כברירת מחדל.
הפעלת הסימולטור ב-Android Studio
עכשיו אפשר להריץ את Android Studio ישירות באמולטור Android. אתם יכולים להשתמש בתכונה הזו כדי לחסוך מקום במסך, לנווט במהירות בין הסימולטור לבין חלון העריכה באמצעות מקשי קיצור, ולנהל את תהליך העבודה של הסימולטור וה-IDE בחלון אפליקציה אחד.
מצב חלון חופשי
עכשיו אפשר ליצור מכשיר AVD שבו מופעל מצב חלון בצורת פרח. לשם כך, בוחרים את פרופיל החומרה של טאבלט בצורת פרח בגודל 13.5 אינץ' כשיוצרים מכשיר וירטואלי ב-Android Studio. לפרופיל החומרה הזה נדרשת תמונת מערכת עם Android 11 תצוגה מקדימה למפתחים מגרסה 3 ואילך.
בעיות מוכרות
אי אפשר כרגע לשנות את הגודל של חלונות במצב חופשי בגלל בעיות בהעברת המיקוד למנהל החלונות. הבעיה הזו תטופל בגרסה עתידית של תמונת המערכת של Android 11.
30.0.0 (19 בפברואר 2020)
העדכון הזה כולל קובצי אימג' של מערכת Android 11 (רמת API 30) ושיפור בביצועים כשמריצים קבצים בינאריים של ARM.
תמונות מערכת של Android 11
עכשיו אפשר ליצור מכונה וירטואלית ל-Android 11 על ידי בחירת אחת מתמונות המערכת הזמינות ברמת API 30:
- x86: כולל גם ABIs של x86 וגם של ARMv7.
- x86_64: כולל ממשקי ABI של x86, x86_64, ARMv7 ו-ARM64.
תמיכה בקובצי ARM בינאריים בתמונות מערכת של Android 9 ו-11
אם בעבר לא הצלחתם להשתמש באמולטור Android כי האפליקציה שלכם תלויה בקבצים בינאריים של ARM, עכשיו תוכלו להשתמש בתמונת המערכת של Android 9 x86 או בכל תמונת מערכת כלשהי של Android 11 כדי להריץ את האפליקציה – אין יותר צורך להוריד תמונת מערכת ספציפית כדי להריץ קבצים בינאריים של ARM. קובצי האימג' של מערכת Android 9 ו-Android 11 תומכים ב-ARM כברירת מחדל ומספקים ביצועים משופרים באופן משמעותי בהשוואה לאימג' עם אמולציה מלאה של ARM.
בעיות מוכרות
- חלק מהקבצים הבינאריים מסוג ARMv7 לא פועלים בתמונות מערכת של Android 11 x86 ו-x86_64. כדאי לפתח עבור ARM64 כשמטרגטים ל-Android 11.
29.0.11 (29 במאי 2019)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- Windows: הסימולטור מסתמך עכשיו על קובץ ה-DLL של
libgcc
שאנחנו שולחים במקום להיערך באופן סטטי באמצעותlibgcc
. - Linux: הוספנו תמיכה ב-logcat ל-gRPC API. מידע נוסף על gRPC זמין במאמר ממיר סטרימינג של gRPC (Linux).
- מעכשיו, הסימולטור כולל build ללא ממשק משתמש (headless) לאורחים של x86 ב-32 ביט (
qemu-system-i386
). התכונה הזו מאפשרת להריץ תמונות של x86 ב-32 ביט לרמות API 26 ומטה באמצעות ה-build ללא ממשק משתמש. שימו לב שבמכונות אורחות 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 בו-זמנית. - תוקנה שגיאה שהתרחשה בזמן טעינת קובצי snapshot, שבה
glIsRenderbuffer
היה מחזיר את הערך השגוי. - תוקנו מספר בעיות במצב לא פעיל כשאורח Android הופעל מחדש.
- Windows: תוקנו בעיות שגרמו לכך שהמכונה הווירטואלית לא תתחיל לפעול כששם המשתמש ב-Windows מכיל תווים או רווחים שאינם תווי ASCII.
בעיות מוכרות
- ממשק המשתמש של קובצי snapshot מושבת בתמונות מערכת לכלי רכב, כי נכון לעכשיו אין תמיכה בתמונות המערכת האלה.
29.0.6 (1 במאי 2019)
העדכון הזה כולל כמה תכונות חדשות, שיפורים בתכונות קיימות ותיקוני באגים.
הסרת התמיכה ב-QEMU1 וב-Windows 32-bit
כדי לתחזק את האמולטור בצורה טובה יותר, אנחנו כבר לא שולחים קבצים בינאריים של QEMU1 ו-32 ביט של Windows. אם אתם משתמשים ב-Windows 32 ביט, לא תוכלו לשדרג לגרסה 29.0.6.
דרישות לתמונות מערכת של Android Q
אם רוצים להריץ מכונה וירטואלית של Android (AVD) שמשתמשת בתמונת מערכת של Android Q, צריך להשתמש עכשיו בגרסה 29.0.6 (גרסת המהדורה הזו) ואילך.
שיפורים ב-Project Marble
העדכון הזה הוא המשך לעבודה שלנו בפרויקט Project Marble, שהכרזנו עליו בכנס המפתחים של Android בנובמבר 2018. מידע נוסף על שיפורים אחרים של Project Marble במהדורות קודמות זמין במאמר Android Emulator: Project Marble Improvements.
במסגרת העדכון הזה, רוב המאמצים שלנו ב-Project Marble הוקדשו לצמצום השימוש במשאבים באמולטור, למשל צמצום השימוש במעבד (CPU) של האמולטור בזמן חוסר פעילות. כללנו גם שינויים שמקלים על העבודה עם האמולטור במגוון רחב יותר של סביבות, וטיפלנו בבעיות איכות כלליות.
בקטעים הבאים מתוארים השיפורים ב-Project Marble שכלולים בעדכון הזה:
שיפורים בהתנהגות האודיו של המארח
החל מגרסה 28.0.3, האמולטור חוסם את קלט האודיו מהמארח כברירת מחדל.
אם רוצים להשתמש בנתוני האודיו של המארח, אפשר להפעיל את האפשרות הזו בקטע אמצעי בקרה מורחבים > מיקרופון ולהפעיל את האפשרות המיקרופון הווירטואלי משתמש בקלט האודיו של המארח. האפשרות הזו מושבתת באופן אוטומטי בכל פעם שמפעילים מחדש את הסימולטור.
אם אתם משתמשים בשורת הפקודה, תוכלו גם להפעיל את האודיו של המארח באמצעות האפשרות -allow-host-audio
, ולהשתמש בפקודות ה-ADB הבאות כדי להפעיל או להשבית את נתוני האודיו של המארח, בהתאמה:
adb emu avd hostmicon
adb emu avd hostmicoff
שיפורים בגרסאות build של אמולטור ללא ראש
החל מגרסה 28.0.25, הסימולטור כולל אפשרות build ללא ממשק משתמש שאפשר להריץ בלי ממשק המשתמש. אפשר להשתמש ב-builds ללא ממשק משתמש כדי להגדיר את המהדרג ל-Docker ולתהליכי עבודה של אינטגרציה רציפה (CI).
בעדכון הזה ביצענו שיפורים נוספים כדי לאפשר להפעלת הסימולטור לפעול עם מספר מינימלי של יחסי תלות. ב-Linux, גרסאות build ללא ממשק משתמש כבר לא כוללות את הספריות pulseaudio
או libX11
. מספר הספריות המשותפות שתלות במערכת ולא נכללות בחבילת האמולטור צומצם לרשימה הבאה:
Linux-vdso.so.1
Libutil.so.1
Libm.so.6
Libdl.so.2
Librt.so.1
Libpthread.so.0
Libgcc_s.so.1
Libc.so.6
ld-linux-x86-64.so.2
שדרוג ספריות Qt UI לגרסה 5.12 LTS
העדכון הזה כולל את השיפורים הבאים מגרסת Qt 5.12 LTS:
- כדי למנוע קריסות בפענוח של
libpng
ב-Qt כשמפעילים קובצי אימג' מסוימים של מערכת, מעכשיו במהלך פענוח של קובצי PNG, האדמולטור משתמש בעותק משלו שלlibpng
. - כדי לטפל בבעיות מסוימות בהתקנות מסוימות של Linux שמכילות גרסאות לא תואמות של ספריות מסוימות שתלויות ב-Qt, אנחנו אורזים עכשיו את
libfreetype
,libsoftokn
,libsqlite3
ו-libxkbcommon
יחד עם האמולטור. - האמולטור משתמש עכשיו בספריות עיבוד החלונות המקוריות של הפלטפורמה כדי לקבל מאפייני מעקב, במקום להשתמש בספריות Qt שהחזירו תוצאות לא אמינות.
אופטימיזציה אוטומטית של המעבד אחרי הפעלה מחדש
כדי לטפל בשימוש ב-CPU, מעכשיו הסימולטור מפעיל את פקודות ה-ADB הבאות בהפעלה מחדש (cold boot) אחרי שהוא מקבל אות boot complete
:
adb shell settings put screen_off_timeout 214783647
- הפקודה הזו מגדילה את פרק הזמן הקצוב לתפוגה של כיבוי המסך, כדי שאפשר יהיה להשתמש במהדמה במצב סוללה בלי טעינה. במצב סוללה, השימוש במעבד ברקע מצטמצם מאוד.
- במצב טעינה בעקבות חיבור לחשמל, פעולות ברקע של GMSCore כמו עדכוני אפליקציות יכולות להשתלט על כל ליבות המעבד (CPU) של המכשיר, וכתוצאה מכך גם על המחשב של המשתמש, ללא אזהרה.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
- הפקודה הזו מבטלת את הרשאות המיקרופון של אפליקציית החיפוש של Google, וכך מפחיתה באופן משמעותי את השימוש במעבד ברקע במסך הבית ובמרכז האפליקציות כשאפליקציית החיפוש של Google פעילה.
- הפקודה הזו פועלת בנוסף להתנהגות ברירת המחדל של הסימולטור, שמפעילה השבתה של אודיו המארח עבור המארח. בנוסף, האפשרות הזו מספקת באופן אוטומטי את הפחתת השימוש במעבד שמתוארת בקטע זיהוי מילות מפתח מהגרסה 28.0.23.
משתני סביבה חדשים למעקב אחר ביצועים
עכשיו אפשר להשתמש בשני משתני סביבה חדשים כדי לאפשר מעקב מפורט אחרי הביצועים של הסימולטור ושימוש המשאבים שלו.
SHOW_PERF_STATS=1
- משתנה הסביבה הזה מאפשר לעקוב אחרי השימוש גם במעבד (CPU) וגם בזיכרון ה-RAM. מעקב אחרי שימוש ב-RAM מבחין בין השימוש בגרפיקה לבין סך הזיכרון המקומי.
ANDROID_EMU_TRACING=1
- משתנה הסביבה הזה מאפשר הדפסה בכל פעם שפעולת קלט או גרפיקה נמשכת זמן רב (יותר מ-1 אלפית שנייה).
- אנחנו משתמשים במשתנה הסביבה הזה גם כדי לאבחן בעיות שחוו משתמשי Windows בתדירות גבוהה יותר (jank) (פריימים מושמטים) מאשר ב-macOS או ב-Linux.
שיפורים כלליים שיש בפרויקט
העדכון הזה כולל גם את השיפורים הכלליים הבאים, שהם חלק מיוזמת Project Marble:
- עכשיו אפשר להשהות באופן מיידי את כל מעבדי ה-vCPU במהדמ באמצעות פקודות המסוף הבאות:
adb emu avd pause
adb emu avd resume
- הפחתה משמעותית של התקורה של ציור ב-OpenGL. השיפור הזה מפחית את השימוש ב-CPU בזמן שהאנימציות מופעלות במהלך ההדמיה.
- התמיכה במכשיר הרשת הווירטואלי e1000 של QEMU הוחזרה. אפשר להשתמש במכשיר הזה כדי להגדיר את הסימולטור בסביבת רשת מקושרת. בסביבת רשת מקוצרת, האמולטור מוצג ברשת המארחת והרשת המארחת מוצגת באמולטור.
- עכשיו נעשה שימוש בקובצי BIOS בינאריים שמתאימים ל-QEMU 2.12 כדי להפעיל את האמולטור.
- שדרוג הגרסה של
ffmpeg
ל-3.4.5 לקידוד וידאו ולפענוח וידאו. - הפחתנו במידה משמעותית את התקורה של הקלט/פלט (I/O) בלולאה הראשית של QEMU ב-macOS, על ידי החלפת הלולאה הראשית שמבוססת על
select()
בלולאה ראשית שמבוססת עלkqueue
. - הגדלת גודל המאגר של Logcat ל-2MB כדי לטפל בבעיות של EOF לא צפוי בזמן הפעלת Logcat עם המהדר.
- מעכשיו, הסימולטור מייצא את משתנה הסביבה
LC_ALL=C
כברירת מחדל. השינוי הזה מטפל בקריסות ובבעיות של אי-תאימות שקשורות להרצת האדמולטור באזורים שונים. - עכשיו אפשר לעקוב אחרי השימוש במעבד (CPU) וב-RAM של האמולטור באמצעות נתוני ביצועים זמינים שזמינים בקטע Extended Controls > הגדרות > מתקדם > נתונים סטטיסטיים של ביצועים. אפשר להשתמש בנתונים הסטטיסטיים האלה כדי לאבחן במהירות בעיות, אם נראה שהמכונה הווירטואלית משתמשת ב-CPU או ב-RAM יותר מדי.
- עכשיו
glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE
משתמש בתוצאה של ה-GPU של המארח במקום בתוצאה אמולציה. השינוי הזה עוזר לפתור בעיות שבהן תמונות ונכסים לא מוצגים בגלל פורמט לא תקין לקריאה חוזרת. - הוספנו תמיכה בתוספי OpenGL ES
GL_EXT_texture_format_BGRA8888
ו-GL_APPLE_texture_format_BGRA8888
, אם המארח תומך בתוספים האלה. - הוספנו פרטי אבחון נוספים לממשק המשתמש של דוח הבאג. בנוסף, אפשר לגשת לדוחות הבאגים מהמסוף באמצעות הפקודות הבאות:
telnet localhost 5554
avd bugreport
- בתמונות המערכת של Android Q, נפח ה-RAM המינימלי של הסימולטור גדל ל-2GB.
- נוספו עוד רישום ביומן והדפסה בכל פעם שהאתחול של OpenGL או hypervisor נכשל.
- אם הסימולטור לא יכול להפעיל מכונה של
-read-only
בו-זמנית ב-AVD, הוא ינסה להפעיל מחדש את ה-AVD של-read-only
עוד 3 פעמים תוך 3 שניות. השינוי הזה מגדיל את הסיכוי שהמכונה הווירטואלית תוכל להפעיל מכונות-read-only
בו-זמנית ב-AVD, אם מכונות אחרות של AVD שאפשר לכתוב בהן עדיין לא סיימו לנקות קבצים לא תקינים. - מעכשיו, האמולטור תומך ב-Hardware Composer 2.0 בתמונות מערכת עתידיות. השינוי הזה אמור להפחית את עומס העבודה של מנהל ההתקן בזמן הפעלת רוב האנימציות.
- גרסאות ה-build של המהדר מבוססות עכשיו על CMake/Ninja.
- בממשק המשתמש של אמצעי הבקרה המורחבים של המהדר, קווים מפרידים בטבלת מקשי הקיצור שוחזרו.
- מעכשיו, המשתמשים יכולים להביע הסכמה לספק לצוות שלנו מדדי שימוש ב-CPU וב-RAM במרווח זמן של 10 שניות. אנחנו משתמשים במדדים האלה כדי להעשיר את הנתונים שלנו לגבי השימוש במשאבים של המהדר באמצעות תרחישי שימוש שונים מהמשתמשים שלנו, וכך לשפר את היעילות והמהירות של המהדר.
תיקונים כלליים ב-Project Marble
העדכון הזה כולל גם את התיקונים הכלליים הבאים שהם חלק מהיוזמה Project Marble:
- תוקנו בעיות של תנודות ופריימים שגויים שמוצגים במערכות עם מעבדי GPU של Intel כשמשתמשים בתמונות מערכת של Android Q.
- תוקנו בעיות שבהן הוצג מסך שחור כשמשתמשים בתמונות מערכת של Android Q עם סקינים של Pixel 2 XL (או כל סקין עם חריץ או פינות מעוגלות).
- תוקנה בעיה שבה אפשרות שורת הפקודה
-partition-size
לא הגדירה את הגודל של מחיצת הנתונים. - תוקנה בעיה שבה pulseaudio במהלך הדמיה של Linx היה מתחיל לפעול ומשתמש בליבה שלמה של מעבד במצבים מסוימים.
- תוקנו בעיות בגישה לזיכרון מחוץ למגבלות במהלך עיבוד של טקסטורות דחוסות.
- תוקנו שגיאות GL שהתרחשו במארח ב-
glTexSubImage2D
במהלך עדכון של מאגרי gralloc מסוימים (בפורמט RGB 565, RGB10A2, RGB(A)16F). - תוקנה בעיית תצוגה בתמונות מערכת של Android Q עם קובצי snapshot, שבהן הגיאומטריה של חלונית ההתראות עברה רינדור עם הגדרה לא נכונה של מחלק המופעים.
- תוקנו כמה בעיות שקשורות לקריסה ולהקפאה בזמן ההפעלה, שקשה מאוד לשחזר, שנגרמו בגלל אובדן אותות ב-Qt או סטטוסים לא עקביים ולא יציבים בזמן ההפעלה.
- תוקנו מספר בעיות בו-זמניות (concurrency). עכשיו אנחנו יכולים ליצור את אמולטור Linux באמצעות ThreadSanitizer (TSAN), שיכול לזהות בקלות באגים שקשה לשחזר אותם בדרכים אחרות.
- למשתמשי Linux: גילינו שבליבות מסוימות של המארח, ליבה (kernel) של Android כאורח יכולה לצאת ב-KVM ולצאת מ-KVM עם שגיאת חומרה גנרית. כדי לשפר את יכולת ניפוי הבאגים, האמולטור
abort()
כאשר זה קורה (בעבר, האמולטור פשוט נתקע). - למשתמשי Linux: כדי להקל על הגדרות CI, אפשר להשתמש באפשרות החדשה בשורת הפקודה
-stdouterr-file <file-name>
כדי להפנות אתstdout
וגם אתstderr
לקובץ. - תוקנה בעיה שבה שימוש שגוי ב-
SO_REUSEADDR
. למידע נוסף, ראו פרטי ההתחייבות. - תוקנה בעיה ארוכת טווח במהדורת Windows של המהדר, שבה תהליכים משניים, כמו פקודות ADB, לא הצליחו להתחיל אם שם המשתמש הכיל רווחים.
- תוקנה בעיה שגרמה לאתחול חסר של RCU בשרשורים של HAXM vCPU. התיקון הזה יכול אולי לטפל בקריסות מסוימות ובמרוץ תהליכים.
- תוקן קריסה שהתרחשה בתבניות מסוימות של שמירה וטעינה של קובצי snapshot מממשק המשתמש של קובצי ה-snapshot באמצעות קובצי אימג' מערכת עדכניים של Android Q.
- תוקנה בעיה שבה מצלמת הסצנה הווירטואלית הייתה ריקה כשהאמולטור הופעל מתוך תמונת מצב, אם מאקרו של AR הופעל כשתמונת המצב הזו נשמרה.
- תוקנה בעיה שבה משתמשים מסוימים עם הגדרות של מחשב מרוחק ראו מסך שחור כשהפעילו את המהדר ב-Linux. כדי למנוע זאת, האמולטור מגדיר עכשיו את
MESA_RGB_VISUAL
באופן מפורש. מידע נוסף זמין בפרטי ההתחייבות. - תוקנה בעיה שבה לחצני הסיבוב הופיעו ב-AVD בטלוויזיה.
- תוקנה בעיה שבה אם הסימולטור הוגדר תמיד בחלק העליון של המסך, חלון הפקדים המורחבים הופיע בכל פעם שהסימולטור הופנה.
פרופילי חומרה למכשירים מתקפלים
עכשיו האמולטור כולל פרופילי חומרה של מכשירים מתקפלים. כדי להשתמש בפרופילי החומרה החדשים האלה, צריך להשתמש ב-Android Studio מגרסה 3.5 Canary 10 ואילך.
יש שני פרופילים מתקפלים של חומרה שבהם אפשר להשתמש כדי ליצור AVD:
- מתקפל בגודל 7.3": 1536x2152 במצב פתוח, 4.6" 840x1960 במצב מקופל
- מכשיר מתקפל בגודל 8": 2200x2480 במצב פתוח, 6.6" 1480x2480 במצב מקופל
כשמריצים את האמולטור באמצעות אחד מפרופילי החומרה האלה, אפשר לקפל ולפתוח את המכשיר באמצעות פעולות קיפול ופתיחה בסרגל הכלים של האמולטור, פקודות במסוף או במקשי הקיצור הבאים:
- Fold:
Ctrl + F
(Command + F
ב-macOS) - פתיחה של:
Ctrl + U
(Command + U
ב-macOS)
פקודות מאקרו של AR
האמולטור כולל עכשיו פקודות מאקרו של AR שיכולות לעזור לכם לבדוק פעולות נפוצות ב-AR. לדוגמה, תוכלו להשתמש במאקרו כדי לאפס את כל חיישני המכשיר למצב ברירת המחדל שלהם.
מידע נוסף זמין במאמר בדיקת פעולות נפוצות של AR באמצעות מאקרו.
תמיכה ב-Vulkan (Windows, Linux)
משתמשי Windows ו-Linux יכולים עכשיו לבדוק אפליקציות Vulkan באמצעות Android Emulator עד 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 = on
GLDirectMem = on
תמיכה ראשונית למפתחי ROM
מפתחי ROM שמפתחים את היעדים sdk_phone_x86
או sdk_phone_x86_64
(הוריאנטים של userdebug
ו-eng
) בהסתעפות master
של AOSP יכולים עכשיו להריץ אמולטור שתומך ב-Vulkan.
התמיכה הזו עדיין בגרסת ניסוי, והיא מיועדת בעיקר למפתחים שעובדים על קובצי אימג' של מערכות, על מנהלי התקנים ועל מנועי משחקים. עדיין חסרים הרבה תוספים.
עם זאת, יש תמיכה בזיכרון HOST_COHERENT
, ועכשיו אמורה להיות לכם אפשרות להריץ את הדוגמאות למדריך של Vulkan API.
אם אתם משתמשים ב-linux, תוכלו לנסות את זה באמצעות הפקודות הבאות:
mkdir aosp-master
cd aosp-master
repo init -u https://android.googlesource.com/platform/manifest -b master --depth=1
repo sync -c -j12
. build/envsetup.sh
lunch sdk_phone_x86_64-userdebug
make -j12
emulator -no-snapshot -feature Vulkan,GLDirectMem
רינדור Skia באמצעות Vulkan
כרטיסי GPU של NVIDIA ו-AMD שתומכים ב-Vulkan תומכים גם באינטראקציה הדדית ללא העתקה עם OpenGL באמצעות התוסף GL_EXT_memory_objects
. האמולטור מנצל את היכולת הזו כדי לספק דרך מלאה לעיבוד ממשק המשתמש של Android באמצעות ממשקי ה-API של Skia Vulkan.
אם יש לכם מעבד GPU של NVIDIA או AMD שתומך ב-Vulkan, תוכלו להשתמש בפקודות הבאות כדי לבדוק את העיבוד של Skia באמצעות קובץ אימג' תואם של מערכת (Android Q Beta 3 ואילך):
adb shell
su
setprop debug.hwui.renderer skiavk
stop
start
תמיכה ב-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 ובמחשבים מרוחקים יש את הבעיות הקבועות הבאות:
- שליחת פקודות קלט למהדר באופן פרוגרמטי כוללת הפעלה של פקודות adb shell שעלולות לגרום לעומס גבוה, או שימוש במסוף telnet, שהוא מהיר יותר אבל יכול שלא לפעול עם הגדרות רשת מסוימות.
- משתמשי CI מריצים לעיתים קרובות מכונות וירטואליות ללא גוף (headless), ולכן יכול להיות שיהיה קשה לזהות בעיות שדורשות שהמסך יהיה גלוי או אינטראקטיבי.
- לרוב, למשתמשי Remote Desktop אין אינטראקציה עם האמולטור כשהם משתמשים ברינדור GPU של המארח, כי הרינדור של GPU בדרך כלל מקושר למסכים לא וירטואליים של המארח.
כדי לטפל בבעיה הזו, כשהמכונה פועלת ב-Linux, הסימולטור משמש עכשיו כשירות gRPC. gRPC הוא מסגרת כללית ל-RPC שפועלת דרך HTTP.
כברירת מחדל, שירות ה-gRPC של המהדר מושבת, אבל אפשר להפעיל את השירות באמצעות האפשרות הבאה בשורת הפקודה, שבה <port>
הוא היציאה שבה המהדר אמור לשרת בקשות gRPC (בדרך כלל 5556
):
-grpc <port>
אחרי שמפעילים את השירות, אפשר להנפיק פקודות gRPC מהלקוחות. קבוצת הפקודות הנוכחית מאפשרת גם לשלוח אירועי קלט וגם לקבל צילומי מסך. הפקודות האלה עוזרות לפתור את הבעיות הבאות:
- ניתן לשלוח פקודות קלט לאמולטור עם תקורה נמוכה ב-HTTP. בנוסף, HTTP מאפשר לשלוח פקודות בהגדרות רשת נוספות.
- אפשר לשלוח פקודות של צילומי מסך כדי לשלוח שאילתה לגבי המסך הנוכחי, גם אם האמולטור פועל ללא גוף. כדי ליצור אינטראקטיביות, אפשר גם לשלוח אירועי קלט בחזרה למהדר.
- משתמשי Remote Desktop יכולים להריץ את האמולטור ללא GUI במסך הראשי עם רינדור עם GPU משופר, תוך שימוש ב-gRPC כדי לקבל צילומי מסך ולשלוח אירועי קלט לצורך אינטראקציה עם האמולטור.
רשימה מלאה של הפקודות הזמינות מופיעה ב-protobuf הזה.
כדי לעזור לכם להתחיל להשתמש ב-gRPC, סיפקנו כמה לקוחות לדוגמה שתוכלו להיעזר בהם.
נכון לעכשיו, זה כולל את הדוגמאות הבאות:
- שירות מבוסס-Go שאפשר להשתמש בו כדי לשלוח שאילתות לגבי מצבי אמולטור.
- אפליקציית React שמדגימה אינטראקטיביות מרחוק באמצעות צילום מסך וקריאות RPC בקלט. הדוגמה הזו דורשת protobuf בגרסה 3.7.0 ואילך.
- דוגמה ל-Python שמריצה שאילתה על הגדרות ה-VM של המהדר ואז שולחת סדרה של פקודות.
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 בבטחה עם האמולטור מגרסה 28.0.2 של platform-tools. אם נתקלתם בבעיות עם אמולטורים "לא מורשים", בצעו את השלבים הבאים לפתרון בעיות:
- יוצאים מכל המהדמנים.
- מוחקים את הקובץ
~/.android/adbkey
ואת הקובץ~/.android/adbkey.pub
. - מריצים את הפקודה הבאה:
adb kill-server
- מריצים את הפקודה הבאה:
adb devices
- מוחקים את נתוני ה-AVD.
- מפעילים מחדש את האמולטור.
28.0.23 (29 בינואר 2019)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
כברירת מחדל, קלט האודיו של המארח מושבת
פוסט שפורסם לאחרונה ב-Reddit פירט איך מערכת ההפעלה של האורח ב-Android תמיד תשתמש באודיו של המיקרופון של המארח, וכך תאפשר ל-'Ok Google' לפעול באופן בלתי צפוי. אנחנו מצטערים על כך ונעבוד עם צוות Android כדי לוודא שזיהוי מילות מפתח מושבתי יושבת גם בתמונת המערכת.
כדי לטפל בבעיה, ביצענו את השינויים הבאים:
- נתוני האודיו בפועל של המארח מושתק עכשיו כברירת מחדל. כשהאורח משתמש במיקרופון, השקט מועבר במקום האודיו של המארח.
- אם אתם רוצים להשתמש בנתוני האודיו של המארח, תוכלו להפעיל את האפשרות הזו עכשיו. לשם כך, עוברים אל אמצעי בקרה מורחבים > מיקרופון ומפעילים את האפשרות המיקרופון הווירטואלי משתמש בקלט האודיו של המארח. האפשרות הזו מושבתת באופן אוטומטי בכל פעם שהאמולטור מופעל מחדש.
עדכונים לגבי בדיקות של שימוש ב-CPU
במהלך הבדיקות של Project Marble, שמנו לב ששימוש גבוה ב-CPU במהלך ההרצה במהדורת האדמולטור בדרך כלל נכלל בשלוש הקטגוריות הבאות:
במצב חוסר פעילות: עדכוני אפליקציות אוטומטיים בתמונות של חנות Play
גילינו שבמרווחי זמן אקראיים, כל האפליקציות המותקנות מתעדכנות, גם אם המשתמש לא מחובר לחשבון. במהלך התהליך, השימוש במעבד מגיע למספר הליבות x 100% (בדרך כלל כ-400%) ב-GMSCore וב-dex2oat. כדי לצמצם את הבעיה, אפשר להשבית את העדכונים האוטומטיים של האפליקציות באפליקציית חנות Play.
במצב לא פעיל: זיהוי מילת הפעלה
כשנמצאים במסך הבית ובלי אפליקציה בחזית, יכולה להיות כמות גדולה של שימוש במעבד (CPU) (כ-25% עם עליות חדות עד 50%). המצב הזה נגרם בגלל זיהוי מילת הפעלה שמפעיל הודעות ping לארח באופן קבוע. אי אפשר לצמצם את הבעיה הזו על ידי השבתה של קלט האודיו של המארח, כי עלות המעבד (CPU) נגרמה בעיקר על ידי הזמן שלוקח להגיע לאורחים מהמארח. עם זאת, אפשר לצמצם את הבעיה על ידי ביטול הרשאות המיקרופון באפליקציית Google.
במצב פעיל, לפעמים במצב חוסר פעילות: אנימציות
המקור השלישי לשימוש גבוה ב-CPU הוא אנימציות. גילינו שאפשר לצמצם את השימוש ב-CPU גם כשהמכונה הווירטואלית לא במצב חוסר פעילות, על ידי אופטימיזציה של מקבץ מנהלי הגרפיקה. אנחנו נשיק את האופטימיזציות של מנהלי הגרפיקה בהדרגה כחלק מ-Project Marble.
28.0.22 (21 בדצמבר 2018)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- תוקנה בעיה ארוכת טווח שבה בהגדרות מסוימות, אמולטור Mac מופעל מחדש או מתרחש חרדה בליבה (kernel panic) בזמן שמירת Quickboot. (בעיה 120951634)
- כשמשתמשים בקובץ ממופה כקובץ snapshot של זיכרון RAM, מעכשיו המהדרר מבטל את המיפוי של הקובץ באופן מפורש בזמן היציאה.
28.0.20 (11 בדצמבר 2018)
העדכון הזה כולל את השיפורים והתיקונים הבאים:
- תוקנה בעיה ב-Windows שגרמה להקפאה של המהדר במהלך טעינת קובץ snapshot בדגמים מסוימים של מעבדי GPU של Intel.
- תוקנה בעיה שגרמה למצב ADB של
unauthorized
בזמן שימוש במיקום לא סטנדרטי שלANDROID_SDK_HOME
. - תוקנה בעיה ב-Windows שגרמה לכך שהמכונה הווירטואלית קרסה כשהפעלת קובצי אימג' של מערכת עם האצת מעבד מושבתת.
- תוקנה הבעיה של תצוגת אמולטור מגורענת. דגימת התמונה אמורה לפעול עכשיו.
- תוקנה בעיה ב-macOS מגרסה 10.14 ואילך, שבה יכול להיות שהשליטה במצלמה של הסצנה הווירטואלית באמצעות העכבר תהיה רגישה מדי בגלל אינטראקציה עם הגדרות אבטחה חדשות של נגישות.
- תוקנה שגיאה בחישוב אזור הזמן שעלולה לגרום לשעון של המהדר להשתנות באופן ספורדי.
- תוקנו שגיאות רינדור באפליקציות שונות של מנוע חיפוש מסוג cocos2d ו-Unreal.
- נוספה תמיכה במהדמה בWi-Fi peer-to-peer.
עכשיו אפשר להעביר נתונים בין שני מכשירי אמולטור ישירות דרך Wi-Fi, אם משתמשים בתמונת Pie Play Store העדכנית. כדי להשתמש ב-Wi-Fi peer-to-peer, מפעילים שני מכונות AVD עם אותם ארגומנטים
-wifi-server-port
ו--wifi-client-port
:emulator @<server-avd-name> -wifi-server-port 9999
emulator @<client-avd-name>-wifi-client-port 9999
- נוספה תמיכה במצלמות אינטרנט נוספות ב-Windows על ידי שימוש בגדלי פריימים לא תואמים ושינוי הגודל שלהם באופן דינמי כך שיתאימו להגדרת המצלמה אצל אורחי Android.
28.0.16 (נובמבר 2018)
העדכון הזה כולל כמה תכונות חדשות, שיפורים בתכונות קיימות ותיקוני באגים.
שימוש במשאבים
מעכשיו, האדמולטור משתמש בפחות זיכרון RAM באופן כללי, במיוחד כשמשתמשים בתמונות מערכת עם API ברמה 28 ואילך. קובצי האימג' של המערכת האלה כוללים שימוש משופר בזיכרון של מנהלי הגרפיקה בצד האורח.
בנוסף, שיפרנו את השימוש במשאבים בתחומים הבאים:
- צמצום השימוש בזיכרון של האמולטור במהלך בדיקות ממושכות. אם הבעיות בשימוש בזיכרון במהלך בדיקות ממושכות נמשכות, תוכלו ליצור דיווח על בעיה במעקב אחר בעיות ולתאר את התרחיש לדוגמה.
- שימוש מופחת במעבד (CPU) בזמן הפעלת אפליקציות עם אנימציות.
- תוקנה בעיה שגרמה לדליפה של הקשר QEMU AIO ב-Windows.
הפעלה בו-זמנית של כמה מופעים של AVD יחיד
עכשיו אפשר להפעיל כמה מופעים של אותו AVD ולהריץ אותם בו-זמנית. מכונות שמפעילים אחרי המכונה הראשונה הן לקריאה בלבד, והשינויים שלהן בדיסק הווירטואלי של האורח נמחקים כשהם יוצאים.
כדי להריץ כמה מכונות של אותו AVD בו-זמנית, הפעילו את כל המכונות אחרי המופע הראשון משורת הפקודה באמצעות הדגל -read-only
.
התכונה הזו מתאפשרת על ידי העתקת קובצי QCOW2 שמשויכים לחלקים שניתנים לכתיבה בתמונת Android. כדי לעזור לכם לנהל את נפח האחסון בכונן, הוספנו גם את qemu-img
– כלי שורת הפקודה שמאפשר לכם להתחייב מראש לקבצים מסוג QCOW2 לפני שמפעילים כמה מכונות.
בנוסף, כשמשתמשים בתכונה קובצי RAM של אורחים שמגובים בקובץ , כמה מכונות AVD חולקות את תמונת המצב הראשית של AVD Quickboot כמקור משותף ל-RAM של האורח מסוג 'העתקה על כתיבה'. המשמעות של המאפיין הזה היא שהמכונות משתפות חלק גדול מה-RAM שלהן. אפשר להשתמש בתכונה הזו כדי להריץ בדיקות שדורשות הפעלה של כמה מכשירים במקביל.
אנחנו מעריכים את המשוב שלכם לגבי תרחישים לדוגמה אפשריים כחלק מתהליך העבודה הרגיל שלכם שהוא אינטראקטיבי או CI. אפשר ליצור בעיות או להצביע עליהן ב-Issue Tracker.
תמונות מצב של RAM של אורחים שמגובות בקובץ
הקצאה מראש ומיפוי של זיכרון RAM של אורח כקובץ מאפשרים למהדר להציל קובצי snapshot של Quickboot במהלך זמן הריצה, במקום לבצע את כל העבודה בזמן היציאה. אם כרגע יש לכם זמני חיסכון ארוכים כשאתם סוגרים את האמולטורים, כדאי להפעיל את התכונה הזו כדי לשפר את הביצועים של Quickboot. כברירת מחדל, קובץ snapshot של Quickboot נשמר ביציאה ונטען מחדש בכל פעם, כמו השהיה והפעלה מחדש של מכשיר אמיתי.
מאחר שזיכרון ה-RAM של האורח ב-Android נשמר עכשיו באופן אוטומטי כברירת מחדל, אם רוצים להגדיר מצב של מכשיר ולטעון ממנו שוב ושוב, צריך להורות למהדר להוציא משימוש את השינויים אחרי כל סשן. ניתן לעשות זאת בדרכים הבאות:
- משתמשים בדגלים
-no-snapshot-save
או-read-only
כשמריצים את הסימולטור משורת הפקודה. - עוברים אל Extended Controls > snapshots > Settings ומשנים את האפשרות שמירה אוטומטית של המצב הנוכחי ל-Quickboot? ללא.
- אחרי שבוחרים באפשרות הזו, צריך להפעיל מחדש את הסימולטור. אם האמולטור מוגדר לשמירה אוטומטית, מריצים את הפקודה הבאה כדי להגדיר נקודת ביקורת:
adb emu avd snapshot remap 0
אחרי הרצת הפקודה הזו, קובץ ה-snapshot של האמולטור של Quickboot יישאר בנקודת הביקורת הזו. מריצים שוב את אותה הפקודה כדי לטעון את הסימולטור מנקודת הבדיקה.
קובצי snapshot שנוצרים ומוטמעים דרך ממשק המשתמש של קובצי snapshot פועלים כמו קודם, ללא מיפוי קבצים.
זהו שינוי משמעותי באופן שבו Quickboot פועל, ולכן נשמח לקבל מכם משוב על השיפור בביצועים של Quickboot ועל סוגי הבעיות שאתם נתקלים בהן בזמן השימוש בו. אם נתקלים בבעיות, אפשר להשבית את התכונה הזו על ידי הוספת השורה הבאה לקובץ ~/.android/advancedFeatures.ini
:
QuickbootFileBacked = off
כשמפעילים את הסימולטור מקובץ snapshot (באמצעות האפשרות -snapshot
בשורת הפקודה או על ידי הפעלה מקובץ snapshot במנהל AVD), הסימולטור משבית את השמירה האוטומטית של קובצי snapshot של Quickboot ואת השמירה של קובצי snapshot של 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 shrinking ב-
qemu
וב-qemu-img
.
נגישות
- תוקנו בעיות שקשורות לקוראי מסך, והוספה תמיכה טובה יותר בכלים האלה בממשק המשתמש של הקלטת המסך ושל צילום המסך.
- שיפרנו את הנגישות של סמלי ההתראות של הפעלה מהירה למשתמשים עם עיוורון צבעים.
גרפיקה
- תוקנה בעיה של גישה לזיכרון מחוץ למגבלות, שעלולה להתרחש למצביעים של מערכי קודקודים ב-OpenGL ES.
- חלק ממעבדים גרפיים ישנים יותר לא תמכו ב-OpenGL 2.1 ואילך (הדרישה), או שהיו להם בעיות מהימנות אחרות. הבעיות האלה עלולות לגרום לכך שהמכונה הווירטואלית תקרוס בזמן ההפעלה, תתקע או לא תהיה ניתנת לשימוש בהגדרת ברירת המחדל של ה-GPU. מעכשיו, אם ה-GPUs האלה נמצאים בשימוש, הסימולטור עובר באופן אוטומטי למעבד הגרפי של Swiftshader.
- תוקנה בעיה שגרמה לכך שהמכונה הווירטואלית לא פרסמה את framebuffer הנכון אם
FBO != 0
היה קשור בזמןeglSwapBuffers
. - תוקנה בעיה שבה מסך Android הווירטואלי מופיע רק בפינה השמאלית העליונה. לדעתנו, הסיבה לכך היא הגדרה שגויה של משתני הסביבה של Qt. מעכשיו, המהדר מבטל את כל משתני הסביבה שקשורים להתאמה של Qt.
- תוקנה בעיה שבה האדמולטור קרס במצבים מסוימים בזמן טעינת אפליקציות GLES1 מקובץ snapshot.
- תוקנו בעיות של בו-זמניות ב-OpenGL והפעלת שרשורי רינדור שעלולות לגרום לזיהוי כפול של זיכרון או לנתונים פגומים.
- מעכשיו, Android Emulator תומך בתמונות טקסטורה דחוסות מסוג ASTC LDR (
GL_KHR_texture_compression_astc_ldr
) בתמונות מערכת עם רמת API 28 ואילך. - עכשיו רוב מעבדי ה-GPU המודרניים אמורים להיות מסוגלים להפעיל את המהדר עם OpenGL ES 3.x מופעל כברירת מחדל, בלי להשתמש בדגל התכונה
GLESDynamicVersion
. -gpu guest
(עיבוד גרפי בתוכנה בצד האורח) יצא משימוש. קובצי האימג' של המערכת ברמת API 28 ואילך עוברים עכשיו באופן אוטומטי לשימוש ב-Swiftshader במקום זאת (-gpu swiftshader_indirect
).- אם מפעילים את הסימולטור משורת הפקודה באמצעות הדגל
-no-window
, מעבד התמונות שמוגדר כברירת מחדל הוא עכשיו Swiftshader.
מיקום
- מעכשיו אפשר לעדכן את המיקום של הכיוון בנוסף למיקום קו הרוחב וקווי האורך. החיישן הווירטואלי של המגנטומטר מתאים את עצמו באופן דינמי לצפון המגנטי על ידי הסקת תנועה במהלך הפעלת קובץ GPX או KML.
- עכשיו אפשר להגדיר את מהירות המכשיר בדף המיקום.
- כשמפעילים קובץ GPX או KML, המהירות מוגדרת באופן אוטומטי ומתאפסת בסיום ההפעלה.
- הגובה כבר לא מוגבל ל-1,000- עד 10,000 מטרים.
- תוקנה בעיה שבה המיקום הווירטואלי ב-GPS לא התעדכן באופן קבוע, אלא אם חלון אמצעי הבקרה המורחבים נפתח לפחות פעם אחת.
מצלמה
ב-Windows יש עכשיו תמיכה ביותר מצלמות אינטרנט כי האמולטור משנה באופן דינמי את הגודל של פריימים שמועברים ממצלמת האינטרנט. התכונה הזו גם מונעת משגיאות בהעברת הפריים לגרום לאמולטור להיתקע.
חנות Play
כדי לטפל בבעיות של מחסור במקום בדיסק בתמונות של חנות Play, מעכשיו האמולטור משנה באופן אוטומטי את הגודל של מחיצה userdata ל-6GB כשהוא פועל עם AVD חדש של חנות Play.
שיפורים ותיקונים כלליים באיכות
- חלק מהמשתמשים דיווחו שהאמולטור פועל לאט. זיהינו סיבה אפשרית אחת שבה הספרייה הזמנית של האמולטור גורמת ליותר מדי קבצים לא פעילים. כפתרון זמני, האמולטור כבר לא מאחסן קבצים של בדיקת תקינות של ADB בספרייה הזו. עם זאת, כדאי גם למחוק את התוכן של התיקייה. התיקייה נמצאת באחד מהמיקומים הבאים, בהתאם למערכת ההפעלה:
- ב-Windows:
C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
- macOS או Linux:
/tmp/android-<username>/*
- ב-Windows:
- אם לא ניתן להפעיל את האמולטור כי אין מספיק זיכרון RAM פנוי, תוצג הודעת שגיאה. אם אתם משתמשים ב-Windows ומבחינים שיש לכם זיכרון RAM פנוי, אבל אתם עדיין לא מצליחים להפעיל את הסימולטור, יכול להיות שחרגו מההתחייבות לשימוש בזיכרון. לקבלת עזרה בנושא הזה, אפשר לעיין בדף פתרון בעיות במהדורת האדמין.
- האפשרות של שורת הפקודה
-sysdir
מבטלת עכשיו את ספריית התמונות שהמערכת מסיקה. - מודם וירטואלי תומך עכשיו בשאילתה
+MAI
של פרטי הפעילות של המודל. - תוקנו בעיות שונות שקשורות לדליפות זיכרון, לזיכרון פגום ולשימוש במעבד (CPU). אם נתקלים בקריסות, בדליפות זיכרון או בסוגים אחרים של שימוש במשאבים, אפשר ליצור בעיה במעקב אחר בעיות.
- תוקנה בעיה שהופיעה שוב ב-macOS 10.14, שבה שימוש באוזניות Bluetooth עם המהדרר גרם לירידה באיכות האודיו באופן כללי. כדי למנוע זאת, מעכשיו האמולטור לא משתמש באודיו ב-Bluetooth כשהוא פועל ב-macOS. (בעיה 37070892)
- תוקנה בעיה ב-Windows שבה השעון של המהדר לא היה באזור הזמן הנכון.
- תוקנו בעיות של איטיות וסטאקים במהלך האימולציה במערכות Linux עם דיסקים קשיחים מסתובבים (HDD).
- תוקנו כמה אזהרות על הידור שעלולות להוביל לפגיעה בסטאק ב-macOS.
- תוקנו בעיות שעלולות לגרום לדיווחים מטעים על תקיעות.
- תוקנה בעיה בהרס של מאגרי שרשורים שעלולה לגרום לקריסה אם אחד מהשרשרורים לא נוצר בהצלחה.
- תוקנה בעיה ב-macOS שבה שעונים לא היו מהימנים, מה שהוביל להתנהגות מוזרה ולתוצאות לא רצויות אחרות. אם אתם נתקלים בבעיות שקשורות להקפאה של המהדר ב-macOS, תוכלו ליצור דיווח בכלי למעקב אחר בעיות.
- תוקנה בעיה שבה סגירת האמולטור השביתה את ממשק המשתמש אבל לא סגרה את האמולטור בפועל.
- תוקנו בעיות שקשורות לקריסות sporadique, כולל ביטול הפעולה בגלל פתיחת יותר מדי מופעים של
/dev/urandom
. - תוקנה בעיה שגרמה לכך שהמכונה הווירטואלית לא הצליחה להתחיל לפעול אחרי הפעם הראשונה אם ה-ADB הופסק בכוח.
- גרסת ה-build של MIPS הוסרה. אם עדיין דרושה לך MIPS, עליך ליצור דיווח בכלי למעקב אחר בעיות.
- תוקנה בעיה שבה חיבורי ADB עלולים להיפגם במהלך טעינת קובץ snapshot.
- תוקנה בעיה שבה חלון הסימולטור הציג תמונת רפאים או טלפורט מחוץ למסך כשהמשיכו קובץ snapshot שבו כיוון המכשיר היה שונה מכיוון ברירת המחדל של AVD.
- תוקנו בעיות הקשורות לקריסות במהלך שמירת תמונות מצב.
- ב-Linux, מערכות קבצים מסוג btrfs עלולות לגרום להאטה קיצונית כי הסימולטור שומר באופן אוטומטי קובצי snapshot ומשתמש ב-copy-on-write למכשירי הדיסק הווירטואליים שלו. מומלץ לנקות את הספרייה
~/.android/avd
ולהריץ את הפקודה הבאה בספרייה~/.android/avd
הריקה:chattr +C
כך נוצרות קובצי snapshot חדשים בתיקייה שבה ההעתקה בזמן הכתיבה מושבתת.
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-bit
בגלל שימוש מועט ועלויות תחזוקה גבוהות, אנחנו מתכננים להוציא משימוש את גרסת 32-ביט של Android Emulator שפועלת ב-Windows. נשיק תוכנית מעבר לפני ההסרה וסוף חיי המוצר של גרסת 32-ביט של Android Emulator. עם זאת, אנחנו מבקשים לקבל מכם משוב או לשמוע על חששות לגבי השינוי העתידי הזה.
אם אתם משתמשים כרגע בגרסה של Android Emulator ל-32 ביט שפועלת ב-Windows, תוכלו לעדכן אותנו בכלי למעקב אחר בעיות איך אנחנו יכולים לעזור לכם בעתיד.
27.3.10 (אוגוסט 2018)
העדכון הזה כולל את תיקון הבאג הבא:
תיקון של הגדרת נפח ה-RAM
חלק מהמשתמשים דיווחו שהאמולטור פועל לאט. זיהינו סיבה אפשרית אחת שבה גודל ה-RAM של ה-AVD בקובץ config.ini
של ה-AVD הוגדר בצורה שגויה.
כדי לצמצם את הסיכון, האמולטור מגדיל את רמת ה-RAM המינימלית בתמונות עם API ברמה 26 ומעלה לרמת ברירת המחדל של 1536MB ב-Android Studio. אם הקובץ config.ini
של ה-AVD לא מציג את hw.ramSize
במיליבייט, צריך ליצור דיווח בכלי למעקב אחר בעיות.
הקובץ config.ini
נמצא במיקום הבא:
~/.android/avd/<avdname>.avd/config.ini
27.3.9 (יולי 2018)
העדכון הזה כולל את השיפורים ותיקוני הבאגים הבאים:
הודעות שגיאה משופרות ל-Windows Hypervisor Platform
משתמשים מסוימים נתקלו בקשיים באבחון הסיבה לכך שפלטפורמת ה-hypervisor של Windows (WHPX) לא הצליחה להתאפס כשהפעילו אמולטור WHPX. כדי לעזור לכם לאבחן את הבעיות האלה, הוספנו הודעות שגיאה מפורטות יותר. כדי להפעיל את הודעות השגיאה האלה, מריצים את האמולטור משורת הפקודה באמצעות הדגל -verbose
.
תיקונים כלליים
- תוקנו שגיאות OpenGL שמתרחשות בזמן טעינת צילום מסך באפליקציית המצלמה.
27.3.8 (יולי 2018)
העדכון הזה כולל כמה תכונות חדשות, שיפורים בתכונות קיימות ותיקוני באגים.
תמונות מצב
עכשיו אפשר לשמור מספר תמונות מצב של AVD בהגדרת מכשיר נתונה ולבחור אילו תמונות מצב שמורות ייטענו כשמפעילים את האמולטור.
החל מ-Android Studio 3.2 Canary 13, כל תצורת מכשיר כוללת שליטה בהגדרות המתקדמות שבתיבת הדו-שיח 'תצורת מכשיר וירטואלי', שבאמצעותה תוכלו לקבוע איזה קובץ snapshot של AVD ייטען כשמפעילים את ה-AVD.
כדי להתאים את ההרחבה הזו של התכונות של קובצי snapshot, הוספנו את הקטגוריה Snapshots (קובצי snapshot) לתיבת הדו-שיח Extended controls (אמצעי בקרה מורחבים). החלונית החדשה מכילה פקדים לשמירה ולטעינה של קובצי snapshot של AVD, כולל הפקדים לשמירה ולטעינה של קובץ ה-snapshot של האתחול המהיר שהיה היה בעבר בחלונית Settings.
אתם יכולים לערוך את השם והתיאור של כל תמונת מצב שמורה.
מידע נוסף מופיע במאמר צילומי מסך.
HAXM 7.2.0
HAXM 7.2.0 זמין עכשיו בכל הערוצים.
העדכון הזה כולל תיקוני באגים ותמיכה משופרת בנפחים גדולים של RAM. בנוסף, עם עדכון HAXM הזה ובאמצעות Emulator מגרסה 27.3 ואילך, תוכן קובצי ה-snapshot נטען ב-RAM על פי דרישה במקום לטעון את קובץ ה-snapshot כולו כשהמכשיר הווירטואלי מופעל. השינוי הזה אמור לקצר משמעותית את הזמן הנדרש לטעינה של קובץ snapshot.
למידע נוסף, קראו את המאמר הגדרת האצת מכונות VM.
27.2.9 (מאי 2018)
העדכון הזה כולל כמה תכונות חדשות, שיפורים בתכונות קיימות ותיקוני באגים.
הקלטת מסך
עכשיו אפשר להקליט וידאו ואודיו מ-Android Emulator ולשמור את ההקלטה כקובץ 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 Store. במכונות AVD שבהן חנות Google Play מופעלת מופיע הכרטיסייה Google Play בתיבת הדו-שיח אמצעי בקרה מורחבים, עם לחצן נוח לעדכון Google Play Services במכשיר.
תמונות מצב
עכשיו אפשר לטעון תמונת מצב של ההפעלה המהירה בלי להפעיל מחדש את האמולטור. כדי לטעון קובץ snapshot, פותחים את החלון Extended Controls בדף Settings ולוחצים על הלחצן Load Now.
ביצענו שיפורים רבים בטעינה ובשמירה של קובצי snapshot כדי לשפר את היעילות של השימוש במשאבים ולצמצם את משך הזמן של כל פעולה. אם עדיין חל זמן שמור יוצא דופן לשמירה, צריך לדווח על הבעיה ולציין את פרטי המעבד, ה-RAM וההגדרות של כל תוכנת אנטי-וירוס, חומת אש או תוכנת אבטחה שפועלת.
רינדור באמצעות Skia
כשמשתמשים בתמונות ל-API 27 ואילך, הסימולטור יכול להציג את ממשק המשתמש של Android באמצעות Skia, שמאפשרת רינדור חלק ויעיל יותר.
בשלב הזה, כדי להשתמש ב-Skia צריך להפעיל אותו באופן מפורש.
כדי להפעיל את רינדור Skia, משתמשים בפקודות הבאות ב-adb shell:
su setprop debug.hwui.renderer skiagl stop start
מצלמה
ב-Windows, מעכשיו Android Emulator משתמש ב-Media Foundation כקצה העורפי של מצלמת האינטרנט, וכך משפר מאוד את הביצועים ואת קצב הפריימים של הצילום במצלמת האינטרנט, עד 720p 30FPS.
במחשבי Mac, עכשיו אפשר להשתמש במצלמת האינטרנט webcam0 ובמצלמת האינטרנט webcam1 יחד.
שונות
האפשרות -phone-number-prefix
בשורת הפקודה שונתה ל--phone-number [number]
, כך שאפשר להגדיר את מספר הטלפון המלא.
עכשיו אפשר להשתמש בכתובות SMS אלפאנומריות.
תיקונים
- הגרסה ל-Linux של Android Emulator נוצרת עכשיו באמצעות ערכת כלים מודרנית של C++ Clang. השינוי הזה מתקן את הבעיה שבה הסימולטור לא מצליח להתחיל בגלל שגיאות ב-libGL וב-libstdc++.
- תוקנו כמה סיבות לקריסות ולתקיעויות.
- כדי למנוע קריסות וחסימות שנובעות ממחסור במקום פנוי בדיסק, מעכשיו במהלך ההפעלה המהירה ייבדק אם יש מספיק מקום פנוי בדיסק, והיא לא תתחיל אם אין לפחות 2GB פנויים.
- תוקנה בעיה שגרמה לכך שלא ניתן היה להריץ רינדור של משחקים מסוימים ב-Unity.
- תוקנה בעיה ב-DNS שגרמה לכך שהמכונה הווירטואלית לא הצליחה להתחבר לרשת.
- תוקנה בעיה שגרמה לשינויים באחסון הפנימי שהוקצה ל-AVD דרך תיבת הדו-שיח 'הגדרת מכשיר וירטואלי'.
- תוקנה בעיה בתהליכי יצירה רבים של 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 Emulator.
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)
חלון אמולטור ללא מסגרת:
כברירת מחדל, אמולטורים עם קובצי סקין של המכשיר מוצגים עכשיו ללא מסגרת חלון מקיפה. כדי להציג את מסגרת החלון שמקיפה את המכשיר, מפעילים את האפשרות Show window frame around device בחלונית ההגדרות של החלון Extended Controls.
שיפורים ב-Quick Boot כדי לשפר את העבודה עם קובצי snapshot של AVD:
- אפשר לשמור קובץ snapshot של AVD בכל שלב באמצעות הלחצן Save Now בחלונית ההגדרות של תיבת הדו-שיח Extended Controls.
- ברוב המקרים, האמולטור מצמצם את הזמן הדרוש לשמירת קובץ snapshot על ידי שמירת ההבדל בלבד בין המצב הנוכחי לבין קובץ ה-snapshot שנשמר קודם.
פרטים נוספים זמינים במסמכי התיעוד של Quick Boot.
הסימולטור עודכן לשימוש ב-QEMU 2.9.
בין השיפורים הבולטים:
- אופטימיזציה של קלט/פלט ונעילה ברמת הפירוט של חוט הקלט/פלט לשיפור הביצועים.
- תוקנו באגים מ-QEMU 2.8 (26.1.4).
- הטמעה חדשה של הקצה העורפי של HAXM.
הרשימה המלאה של השינויים מופיעה ביומן השינויים של QEMU 2.9.
הטמעת Swiftshader שתואמת ל-OpenGL ES 3.0:
מעבד התמונות Swiftshader של הסימולטור עומד עכשיו בדרישות של OpenGL ES 3.0. לפרטים על כלי הרינדור Swiftshader, עוברים לקטע Settings > Advanced (הגדרות > Advanced) ב-Extended Controls.
תיקונים
- תוקנה בעיה שבה שיתוף הלוח לא עבד אלא אם האפשרות הפעלת שיתוף הלוח הושבתה והופעלה מחדש.
- תוקנה הבעיה בשימוש ברינדור Swiftshader בקצה העורפי עם פריטי AVD ברזולוציה נמוכה.
27.0.5 (ינואר 2018)
ANGLE לעיבוד ב-Windows מושבת עכשיו כברירת מחדל.
אם ANGLE מתאים לכם, אתם יכולים להפעיל אותו מחדש עם סימון שורת הפקודה
-gpu angle_indirect
. לחלופין, פותחים את החלון Extended controls (אמצעי בקרה מורחבים), עוברים אל Settings (הגדרות) > Advanced (מתקדם) ובוחרים באפשרות ANGLE D3D11 להגדרת ה-renderer של OpenGL ES.תוקנה בעיה שבה הקשה על Shift+B לא מאפשרת להקליד את התו B הגדול.
27.0.2 (דצמבר 2017)
התכונה החדשה Quick Boot מאפשרת להפעיל את הסימולטור מהר יותר, על סמך קובץ snapshot של מכונה של AVD.
הפעלת Quick Boot מופעלת כברירת מחדל בכל מכונות ה-AVD. בפעם הראשונה שמפעילים מכונה וירטואלית של Android, צריך לבצע הפעלה קרה (בדיוק כמו הפעלת מכשיר). כל ההפעלות הבאות יהיו מהירות והמערכת תוחזר למצב שבו סגרתם את הסימולטור (בדיוק כמו הפעלת מכשיר).
כדי לקבוע מתי הסימולטור ישמור קובץ snapshot, פותחים את חלון אמצעי הבקרה המורחבים של הסימולטור ולוחצים על הגדרות. כאן אפשר לבחור אחת מההגדרות הבאות בשדה Save hold state on Exit:
- כן: תמיד שומרים קובץ snapshot של אתחול מהיר כשסוגרים את הסימולטור. זוהי ברירת המחדל.
- לא: אף פעם לא לשמור תמונת מצב של ההפעלה המהירה, אלא תמיד לבצע הפעלה במצב התחלתי (cold start).
- Ask: הצגת בקשה לשמירת תמונת מצב של ההפעלה המהירה כשסוגרים את האמולטור.
הבחירה חלה רק על מכשיר ה-AVD הפתוח כרגע.
מידע נוסף זמין במסמכי התיעוד בנושא הפעלה מהירה.
הוספנו תמיכה ב-Mac OpenGL ES 3 (לתמונות מערכת עם רמת API 24 ואילך, ממשקי Google API ו-x86 ABI).
כדי לשפר את היציבות באפליקציות OpenGL ES 2 ואילך, מעכשיו במהלך ההרצה ב-emulator נעשה שימוש בפרופיל הליבה של OpenGL, אם הוא זמין.
אפשרויות חדשות לעיבוד באמצעות Swiftshader / ANGLE:
-gpu swiftshader_indirect
: גרסת Swiftshader מהירה ויציבה יותר שפועלת עם אתחול מהיר.-gpu angle_indirect
(Windows בלבד): וריאנט יציב יותר של ANGLE D3D שגם פועל עם Quick Boot.
האפשרויות הישנות יותר,
-gpu swiftshader
ו--gpu angle
, הוצאו משימוש. בחלון אמצעי הבקרה המורחבים, האפשרויות SwiftShader ו-ANGLE להגדרת המרת הגרפיקה של OpenGL ES בקטע Settings > Advanced משתמשות עכשיו באפשרויות*_indirect
.תיקוני באגים נוספים.
26.1.4 (אוגוסט 2017)
זוהי גרסה משנית עם תיקוני באגים ושיפורים הבאים בהגדרת ה-GPU:
- הפעלת אנימציית אתחול כשהמכשיר פועל באמצעות כלי הרינדור של ANGLE
- השבתת GLES3 כשמריצים במעבד גרפי של ANGLE
26.1.3 (אוגוסט 2017)
זוהי גרסה משנית עם תיקוני באגים, שיפורי ביצועים ושינויים קטנים בתכונות.
- הגרסה הזו נדרשת עכשיו כדי להשתמש בתמונות המערכת העדכניות ביותר של Android 8.0.
הם תואמים ל-Treble, עם מחיצות
vendor.img
נפרדות. - הגרסה החדשה של HAXM 6.2.0 זמינה עכשיו (כדאי לבדוק את SDK Manager) וכוללת את העדכונים הבאים:
- שיפור השימוש בזיכרון. קבוצת הזיכרון הפעילה המקסימלית שמקושרת על ידי HAXM כבר לא שווה לגודל ה-RAM של ה-AVD. במקום זאת, הזיכרון מחולק לדפים ומשוחרר לפי דרישה. כך אפשר להפעיל את הסימולטור בצורה מהימנה יותר במכונות עם נפח זיכרון RAM נמוך יותר.
- מעכשיו, אפשר להפעיל את הסימולטור עם HAXM 6.2.0 מהר יותר ב-macOS, תוך דילוג על שלב האתחול הארוך.
- שיפורים בהגדרה של GPU
- תוקנו בעיות במסך שחור בזמן האתחול כשמבצעים עיבוד תוכנה בצד האורח, על ידי חזרה לעיבוד תוכנה בצד המארח באמצעות Swiftshader. בגרסאות האחרונות של תמונות המערכת לרמות 19 עד 25 של Google APIs עם Google APIs, צריכה להיות רינדור בצד האורח.
- תוקנה בעיה שבה האדמולטור הועבר למעבד גרפי בתוכנה בגלל זיהוי של יחידות GPU ישנות של Intel, אבל האדמולטור פועל בפועל ב-GPU נפרד. אילו מעבדי GPU יועברו לשימוש ברינדור ANGLE או Swiftshader באופן הבא:
- למעבדי iGPU ישנים של Intel יש בעיות במנהלי ההתקנים של OpenGL ו-ANGLE D3D. משתמשים עם Intel HD Graphics 3xxx ואילך ישתמשו ב-Swiftshader.
- חלק מהמשתמשים דיווחו על חוסר יכולת להשתמש בתמונות ברמת API 25 בגלל באג שבו "מרכז האפליקציות של Pixel נעצר כל הזמן". נראה שזו בעיה בדרייבר בחלק מדגמי Intel HD 4xxx. לכן, הם יועברו לשימוש ב-ANGLE באופן אוטומטי.
- כדי לקבל את התוצאות הטובות ביותר עם הדמיית GPU, מומלץ להשתמש ב-GPU נפרד של NVIDIA או AMD, או ב-GPU חדש יותר של Intel (Iris, HD 5xxx, HD 5xx/6xx).
- תוקנה בעיה שבה הסימולטור לא הצליח להתחיל (הפעלת הסימולטור של OpenGL נכשלה) אם ה-AVD הוגדר עם
hw.gpu.mode=host
והסימולטור הופעל בלקוח של שולחן עבודה מרוחק. - הבהרנו את ההגדרות של 'רמת OpenGL ES API (נדרשת הפעלה מחדש)', והוספנו אפשרות לשדרג לאחור מ-OpenGL ES 3 ל-OpenGL ES 2 אם נתקלים בבעיות או צריך לבדוק ברמות נמוכות יותר של OpenGL ES API.
- הכלי לרינדור של Mesa הוצא משימוש. מעכשיו,
hw.gpu.mode=mesa
יועבר באופן אוטומטי לשימוש ב-Swiftshader במארח.
- השיפורים ב-macOS:
- מעכשיו, הסימולטור תואם באופן מלא ל-macOS 10.13 High Sierra באמצעות Hypervisor.Framework או HAXM 6.2.0.
- כדי לשפר את הביצועים ואת התאימות ל-macOS, Hypervisor.framework פועל עכשיו ב-macOS כברירת מחדל לתמונות x86 של 32 ביט. אם נתקלת בבעיות ספציפיות בנושא, עליך לשלוח דוח באג ולצרף את הקובץ
HVF = off
לקובץ~/.android/advancedFeatures.ini
(אם הקובץ לא קיים, צריך ליצור אותו). - תוקנו בעיות שקשורות לאינטרנט או לכישלון לצרף את מנתח הבאגים בזמן השימוש ב-Hypervisor.framework.
- כדי לשפר את התאימות ואת הביצועים של הצילום במצלמת אינטרנט, צילום המצלמה שמבוסס על QTKit הוחלפה בצילום במאגר זמני, שמבוסס על AVFoundation.
- הוספנו תמיכה ב-Wi-Fi בחלק מתמונות המערכת (כרגע רק ברמת API 25).
נקודת גישה בשם 'AndroidWifi' זמינה ומערכת Android מתחברת אליה באופן אוטומטי. כדי להשבית את התמיכה ב-Wi-Fi, מריצים את הסימולטור עם הפרמטר
-feature -Wifi
בשורת הפקודה. - חלק מהמשתמשים הביעו חשש לגבי נפח האחסון הקטן של קובצי האימג' של מערכת Play Store. לכן הגדילנו את הגודל ל-2GB כברירת מחדל (מ-800MB).
- הוספנו קיצור דרך במקלדת (Ctrl+Shift+U) שפותח את דף ממשק המשתמש של דיווח על באגים ישירות מדף ההגדרות.
- תוקנה בעיה שבה אם השתמשתם ב-CPU ישן עם Intel x86 EPT אבל בלי UG, האמולטור לא הצליח להפעיל אם הגדרתם יותר מליבת מעבד אחת.
- תוקנה בעיה שבה HyperV זוהה באופן שגוי אם הסימולטור עצמו פועל במכונה וירטואלית של Xen.
- תוקנה בעיה שבה האמולטור היה קורס בהפעלה בחלק מההגדרות של Linux.
26.1.2 (יולי 2017)
הגרסה הזו כוללת תכונות חדשות ושיפורי ביצועים.
נוספה האפשרות לקבוע הגדרה מותאמת אישית של שרת proxy ל-HTTP בפקדים המורחבים (לוחצים על More , ואז לוחצים על Settings ועל 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.
- הפעלה:
הוספנו לחצן דיווח על באג במסך העזרה של הפקדים המורחבים (לוחצים על עוד , ואז על עזרה ועזרה בנושא אמולטור). לחיצה על דיווח על באג פותחת תיבת דו-שיח שבה אפשר לראות את פרטי דוח הבאג, כמו צילום המסך, פרטי ההגדרה של AVD ויומן של דוח הבאג. לאחר מכן תוכלו לשמור את הדוח לעצמכם או לדווח על בעיות במהלך ההרצה במהדורת האדמין.
הוספנו חיישן גירוסקופ למהדר ולחלונית החיישנים הווירטואליים. לשם כך נדרשת קובץ אימג' של מערכת עם תמיכה בגירוסקופ (כרגע ברמות API 24 ו-25).
הוספנו DNS מועדף למארח לרשימת ה-DNS של Qemu ב-Windows, כשמספר ממשקי רשת וירטואליים במארח גורמים להצגת מספר כתובות DNS שלא פונקציונליות למהדר.
הוספנו תמיכה ניסיונית ב-macOS Hypervisor.Framework לתמונות x86 32 ביט ב-macOS מגרסה 10.10 ואילך באמצעות דגלים של שרת. התמיכה הזו אמורה לשפר את זמן האתחול ואת הביצועים.
- אם נתקלתם בבעיות, הוסיפו את השורה
HVF = off
בקובץ~/.android/advancedFeatures.ini
.
- אם נתקלתם בבעיות, הוסיפו את השורה
OpenGL ES 3.x מופעל עכשיו כברירת מחדל בתמונות מערכת וב-GPU של מארחים שתומכים ב-OpenGL ES 3. נכון לעכשיו, רק המארחים של Android O (רמת API 26) ו-Windows/Linux תומכים ב-OpenGL ES 3.
- אם נתקלתם בבעיות ב-OpenGL ES 3, מוסיפים את השורה
GLESDynamicVersion = off
בקובץ~/.android/advancedFeatures.ini
.
- אם נתקלתם בבעיות ב-OpenGL ES 3, מוסיפים את השורה
מעכשיו, ב-Emulator נעשה שימוש ב-FBO של OpenGL מחוץ למסך לכל תהליך הטרנספורמציה, מלבד פרסום התמונה הסופית להצגה. הפעולה הזו אמורה לעזור בפתרון בעיות של עקביות צבעים בפלטפורמות שונות.
לאחר שאספנו נתונים על בעיות של האטה פתאומית באמולטור, הגענו למסקנה שהבעיה עשויה להיות קשורה לאינטראקציה מסוימת בין מנהלי התקנים ישנים יותר של Intel OpenGL לבין עדכוני Windows. לכן, למשתמשים עם Intel HD 4000, 3000 או 2000 (ומעבדי GPU קשורים) הרינדור מוגדר עכשיו כברירת מחדל לרינדור D3D (ANGLE) או ל-Swiftshader (כלי לרינדור תוכנה).
26.0.0 (מרץ 2017)
הגרסה הזו תואמת לרמת API 26. הוא כולל גם כמה שיפורי ביצועים ותיקוני באגים.
גרסה משנית 26.0.3 (מאי 2017)
- הוספת דגלים של תכונות שניתן לעדכן אונליין כדי לטפל במהירות בבעיות שנובעות מהגדרות חומרה בעייתיות. כך Google יכולה לעדכן את הדגלים בצד השרת כדי להשיק תיקונים ותכונות שתלויים בהגדרות של המשתמשים. אם נתקלתם בבעיות בחומרה ספציפית, תוכלו לדווח על באג כדי שנוכל לבדוק את הבעיה.
- יש תמיכה חדשה בקלט החוגה לתמונות מערכת של Android Wear API ברמה 25. כדי לדמות את החוגה לקלט הנתונים במכשיר Wear, לוחצים על הכרטיסייה Rotary Input בחלון המורחב.
- עכשיו אפשר לשנות את הגודל של תיבת הדו-שיח של דיווח על קריסות, והיא לא מאפסת את ההגדרה של מתי לשלוח דוחות קריסה ל-אני רוצה לדעת בלי קלט.
- מעכשיו, במהלך ההרצה של המהדרר של 32 ביט, גודל ה-RAM המקסימלי של ה-AVD חייב להיות 512MB או פחות, כדי למנוע מצב שבו נגמר המרחב במרחב הכתובות הווירטואלי של 2GB.
- הוספת תמיכה בנתיבים מוחלטים בתמונות של מכונות וירטואליות.
- נוספת כרטיסייה חדשה בחלון המורחב של התמונות בחנות Google Play, שבה מוצגת גרסת Play Services וכן לחצן לבדיקה אם יש עדכונים ל-Play Services.
- הוספת תפריט נפתח לבחירת המרת ה-OpenGL בדף ההגדרות של המהדר. אם נתקלתם בבעיות עם מנהל ה-OpenGL במחשב עם Windows, נסו להשתמש באפשרויות ANGLE (D3D11) או ANGLE (D3D9) (נדרשת הפעלה מחדש). אם נתקלתם בבעיות עם מנהל ההתקן של OpenGL במחשב שאינו Windows, נסו להשתמש במעבד הגרפי התוכנה של Swiftshader (נדרשת הפעלה מחדש).
- תיקון של קריסה נדירה ביציאה כשהאמולטור מקבל גם פקודות
exit
וגםminimize
. - תוקנה בעיה שקשורה לשינוי קנה המידה כשמשנים מסכים במחשב Mac. (בעיה 268296)
- תיקון בעיה שבה האמולטור תופס 300% מעוצמת המעבד ומחזיק בה אחרי שממשיכים את המחשב המארח ממצב שינה או כשהאמולטור פועל במשך זמן רב.
- תיקון קריסה כשהמכונה הווירטואלית מושבתת.
עדכונים עם HAXM v6.1.1 (מרץ 2017)
הערה: גרסה 6.1.1 של HAXM זמינה למשתמשים ב-Mac דרך מנהל ה-SDK החל מ-30 במרץ, ותהיה זמינה למשתמשים ב-Windows בקרוב.
גרסת 26.0.0 של Android Emulator תומכת ב-HAXM v6.1.1, שכולל את העדכונים הבאים:
- הפעלת אמולציית יחידות למעקב אחר ביצועים (PMU). (בעיה 223377)
- תיקון דו-קיום עם VirtualBox ו-Docker במחשבי Mac. (בעיה 197915)
- שינוי הודעת השגיאה בהתקנה שמוצגת כשתוכנת ההתקנה לא מצליחה לזהות את Intel VT-x ב-Windows, בדרך כלל כי Hyper-V מופעל.
- נוספה תמיכה בהאצת Android Emulator במכונה וירטואלית של Windows שמבוססת על Hyper-V. כדי לבצע את העדכון הזה, צריך להשתמש בגרסה האחרונה של Hyper-V עם וירטואליזציה בתצוגת עץ מופעלת במכונה המארחת של Hyper-V (זו שמנהלת את המכונה הווירטואלית/האורחת של Windows). האפשרות 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 ב-GPU. רוב המערכות אמורות לתמוך עכשיו ברזולוציה של 1080p30. המהדורה הזו הושקה עבור תמונות ברמת ה-API בגרסה 24 x86 (גרסה 11 ואילך), ובקרוב היא תכלול גם את כל תמונות המערכת.
- מעכשיו, הסימולטור מבטל את הרישום שלו מרשימת
adb devices
בצורה תקינה בזמן היציאה, וסוגר יציאות TCP פתוחות במכונות Linux. - חיבורי adb אמינים יותר עכשיו. האם מכונה וירטואלית שפועלת מזוהה מהר יותר ולא עוברת יותר לסטטוס 'אופליין' או 'לא מורשה'.
25.3.0 (מרץ 2017)
החל מהגרסה הזו, האמולטור של Android יושק בנפרד מכלי ה-SDK. הגרסה הזו כוללת מגוון שיפורי ביצועים, תכונות חדשות ותיקוני באגים.
תיקון קטן 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 גרסה 25.3.0.
תכונות חדשות ותיקוני באגים
- מנוע האמולציה עודכן ל-QEMU 2.7, כולל כל תיקוני הבאגים האחרונים, ביצועים משופרים ותכונות חדשות.
- תמיכה חדשה ב-IPv6.
- מעכשיו, במהלך הרינדור בתוכנה במארח, ה-emulator משתמש ב-SwiftShader.
- שיפורי ביצועים ב-Android Pipe: Android Pipe, ערוץ התקשורת הראשי בין האמולטור ו-Android OS, ועכשיו הוא
מהיר יותר בסדר אדיר, זמן האחזור שלו קצר יותר והוא מציע ביצועים טובים יותר של ריבוי שרשורים. כתוצאה מכך, בוצעו כמה שיפורים בביצועים של האמולטור, כולל:
- מהירות משופרת של העברה (push) או משיכה (pull) ב-ADB.
- תמיכה משופרת בהאצה תלת-ממדית.
- מהירות תגובה כוללת משופרת של הסימולטור.
- ביצועי גרפיקה משופרים.
- מעכשיו, במהלך יצירת בקשות מהאורח, המעבדה הווירטואלית משתמשת במאגרים בצד ה-GPU (glBindBuffers / glBufferData), וכך מפחיתה את העומס על המעבד באפליקציות מסוימות.
- תמיכה משופרת באודיו.
- קלט/פלט מהיר יותר בדיסק: מעכשיו, במהלך שליחת קלט/פלט בדיסק, במהדורת האמולטור נעשה שימוש בשרשור נפרד, וכתוצאה מכך זמן האחזור קצר יותר והתפוקה טובה יותר (מהירות קלט/פלט רציפה גבוהה פי 1.5 ומהירות קלט/פלט של גישה אקראית גבוהה פי 5). כך גם מופחת מספר פעולות השטיפה (flush) בדיסק, וכתוצאה מכך עומס המכשיר הפיזי נמוך בהרבה.
- האמולטור משתמש עכשיו בקבצים מצומצםים לאתחול דיסק במכונות Windows, ומאיץ גם את האתחול הראשון וגם את אתחול האתחול. כשיוצרים או מאפסים מכונה וירטואלית ל-Android, הסימולטור כותב עכשיו 100-200MB של נתונים בדיסק, במקום 2GB או יותר.
- שיפורים שונים בממשק המשתמש:
- מעכשיו, במהדורה החדשה של הסימולטור נעשה שימוש ב-Qt 5.7.0, שכוללת תיקוני באגים ושיפורי ביצועים.
- לא מתבצע יותר ניסיון לטעון את כל קובצי ההפעלה של המהדמרים כפלאגינים של Qt, ולכן תהליך האיפוס של ממשק המשתמש קצר יותר באופן משמעותי, במיוחד בכונני HDD.
- האינטראקציות בממשק המשתמש מהירות וחלקות יותר, כולל רוטציה, שינוי גודל החלון וטעינה וסגירה של חלונות עם אמצעי בקרה מורחבים.