נתוני הגרסה של אמולטור

Android Emulator כלול ב-Android Studio.

גרסאות של האמולטור שקדמו לגרסה 25.3.0 הופצו כחלק מ-Android SDK Tools.

כדי לוודא שאתם משתמשים בגרסה העדכנית ביותר, כדאי לבדוק אם יש עדכונים בSDK Manager.

כדי להוריד גרסאות קודמות של Android Emulator, אפשר לעיין בארכיון ההורדות של האמולטור.

נתוני הגרסה של גרסאות Emulator קודמות לגרסה 25.3.0 זמינים בנתוני הגרסה של Android SDK Tools.

כדי לראות אילו בעיות תוקנו בגרסאות האחרונות של Android Emulator, אפשר לעיין בבעיות שנסגרו.

לבעיות מוכרות ולפתרון בעיות, אפשר לעיין במאמר פתרון בעיות באמולטור.

‫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.

    באנר שמוצג כשמשתמש מנסה ליצור מכשיר וירטואלי חדש של Android עם HAXM מידע על הסרת HAXM זמין במאמר HAXM Uninstall.

  • תיקון כדי לוודא ש-GPU של Intel משתמש ב-OpenGL ES 3.0 כדי למנוע קריסת דרייבר

  • [תיקון באג]בעיה מספר 340322888 אי אפשר להפעיל את AVD כשאין מקום פנוי במכשיר

  • [תיקון באג]בעיה מספר 150758736 אובדן נתונים לסירוגין של בייט יחיד בחיבורי TCP באמולטור

  • [תיקון באג]בעיה מספר 434774381 קריסת ליבת האורח אחרי אתחול מהיר עבור API 36 ו-API 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 Emulator XR עם שגיאת Vulkan

  • [תיקון באג]בעיה מספר 388718417 libndk_translation.so מבטל וגורם לקריסה ב-Arm64AesEncode

‫35.5.10 Stable (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 לאוזניות. במאמר הגדרת Jetpack XR SDK מוסבר איך להתקין את אמולטור Android XR ולהגדיר את סביבת הפיתוח.

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

עד עכשיו, האמולטור של Android XR נבדק בהגדרות החומרה הבאות:

  • ‫Mac ‏ (ARM)
  • Windows 11
    • ‫nVidia GPU, ‏ 4GB של vRAM, גרסת מנהל ההתקן 553.35 ואילך
  • זיכרון RAM של 16GB או יותר
  • ‫8 ליבות או יותר

בעיות מוכרות

אמולטור – יציבות וביצועים:

  • במערכות Windows מסוימות, יכולות להתרחש נעילות או קריסות קריטיות של המערכת במהלך האתחול או בזמן הפעלת אפליקציות. חשוב לוודא שפלטפורמת ה-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 Profile כחלק מפרויקט תבנית XR
  • הנגישות של XR Talkback משולבת עד כה רק באופן חלקי באמולטור

אפליקציית Scene Viewer:

  • הזזת רכיבים בתוך Scene Viewer עלולה לגרום לקריסה שלו. כדי לפתור את הבעיה, צריך להזיז מעט את תנוחת הראש מהמיקום ההתחלתי שלה (למשל, באמצעות פנורמה, דולי, WASD וכו') לפני שמנסים להזיז את הרכיב.
  • התכונה 'גודל אמיתי ביחס של 1:1' לא תפעל בצורה תקינה אם הגודל האמיתי של המודל התלת-ממדי קטן מהגבול התחתון של קנה המידה או גדול מהגבול העליון שלו (הגבולות מוגדרים כרגע ל-20 ס"מ ו-70 מ' בהתאמה)
  • יכול להיות שהמודל התלת-ממדי יקפוץ בפריים הראשון אחרי הטעינה

‫35.2.10 (1 באוקטובר 2024)

  • נוספו מכשירי Pixel AVD חדשים, כולל Pixel 9, ‏ Pixel 9 Pro, ‏ Pixel 9 Pro XL ו-Pixel 9 Pro Fold
  • נוספה תמונת מערכת חדשה לטאבלט עבור Vanilla Ice Cream‏ (API 35)

‫35.1.20 (29 באוגוסט 2024)

  • נוסף מכשיר Pixel 8a 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.

  • ‫[Bug Fix] לפעמים תמונת המצב נתקעת באמולטור מוטמע
  • [תיקון באג] הלחצנים 'לא' ו 'ביטול' לא פועלים כמו שצריך בתמונת מצב
  • [תיקון באג] הלחצנים של לוח החצים לא פועלים
  • [תיקון באג] תוקנה הבעיה שזוהתה ב-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.

‫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 Hedgehog Stable ו-Iguana Beta 1.

  • תוקנה בעיה במצלמת האינטרנט של האמולטור שלא אפשרה הקלטת מסך בפורמט mp4.
  • תיקון קריסה של Emulator ב-AVD של Pixel Fold כשהוא נפרש במהלך הקלטת מסך.
  • תוקנה בעיה שבה ב-Pixel Fold מוצג סגנון שונה של הטלפון עם מקלדת מנותקת, ואי אפשר להשתמש בו (הבעיה תוקנה ב-Windows, ‏ Mac Intel ו-Linux)
  • תוקנה תקלה במראה של חיישנים וירטואליים במצב עצמאי (תוקן ב-Windows, ב-Mac Intel וב-Linux)
  • תיקנו כמה קריסות, במיוחד בזמן סגירת האמולטור

‫33.1.23 (30 בנובמבר 2023)

נבדק ב-Android Studio Giraffe Patch 4 וב-Hedgehog Stable.

  • הטמעה חדשה של מכשירים מתקפלים כדי לדמות טוב יותר מכשיר Pixel Fold, פועלת עם API 34 העדכני
  • שדרוג של קצה העורף הגרפי: הטמענו את פרוטוקול gfxstream בקצה העורף הגרפי שלנו. השיפור הזה משפר את הביצועים הגרפיים הכוללים ואת היציבות של המערכת. בנוסף, אנחנו מציגים תמיכה ב-Vulkan 1.3 החל מתמונת המערכת עם API 34
  • בקשת תכונה: אפשרות להשבית את תנועת הצביטה לשינוי גודל או להקצות מחדש את מקש הקיצור שלה
  • [תיקון באג] בעיה מספר 302562962 תיקון קריסת מצלמת אינטרנט של אמולטור בשימוש ב-MacOS Sonoma
  • [תיקון באג] בעיה מספר 293503871 תוקנה בעיה שבה ההגדרה 'מיקרופון' לא נשמרת כשמפעילים מחדש את האמולטור
  • [תיקון באג] בעיה מספר 270386314 תיקון שגיאה בהנפשה שבה סרגל הצד נשאר פתוח אחרי שמקטינים את מסך ה-AVD
  • [תיקון באגים] בעיה מספר 154896775 תיקון כלי לשליחת באגים

‫32.1.15 (29 באוגוסט 2023)

נבדק ב-Android Studio Giraffe Patch 1 וב-Hedgehog Canary 16.

  • עמידה בדרישות החומרה של GAS לגבי חיישנים ב-AAE Emulator
  • ‫[Bug Fix] Issue #266201208 Hebrew SMS is not sent on API 33
  • [תיקון באג] בעיה מספר 257097404: האמולטור לא מציג את השעה הנכונה אחרי שהמארח מתעורר ב-API 29 וב-API 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.

  • הוספת תמיכה ב-AVD של Pixel Fold ו-Pixel Tablet.
  • שיפור הבעיה שגורמת לקריסה ב-gLinux.
  • [תיקון באג] בעיה מספר 215231636: "האמולטור עם API מעל API 30 לא פועל במעבד Intel דור 12".
  • [תיקון באג] בעיה מספר 275397905 רמה גבוהה של קריסות ב-Android Emulator 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 במהלך ההתקנה
  • תיקון קריסה ב-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.

‫31.3.12 (10 באוקטובר 2022)

נבדק באמצעות Android Studio Dolphin ו-Electric Eel Beta 1.

העדכון הזה כולל את השיפורים והתיקונים הבאים:

  • [תיקון באג] בעיה מספר 247843000: שגיאה בטיפול בנתיב יחסי של AVD
  • הגדלת נפח האחסון ל-API 24 ואילך

‫31.3.11 (23 בספטמבר 2022)

נבדק באמצעות Android Studio Dolphin ו-Electric Eel Canary 10.

העדכון הזה כולל את השיפורים והתיקונים הבאים:

  • [תיקון באג] קריסת AVD של אמולטור מוטמע בחלון Extended Controls
  • [תיקון באגים] בעיה מספר 183139207: בעיות באודיו שקשורות להפעלת המיקרופון ב-Emulator
  • ‫[Bug Fix] Issue #229764024: AVD sticky touch bug that results in UI behavior issues
  • [תיקון באג] שגיאה בהפעלת AVD עם API 33 ב-Mac M1.
  • [תיקון באג] בעיה מספר ‎ #243053479: מהירות רשת איטית אחרי עדכון של Emulator
  • [תיקון באג] בעיה מספר 244617627: המיקום במפות לא פועל ב-Windows וב-Linux
  • [תיקון באג] בעיה מספר 232971796: הלחצן 'התקשרות למכשיר' לא פועל בדף 'טלפון' בקטע 'אמצעי בקרה מורחבים'
  • עדכון Android Emulator ל-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.ini hw.sensor.hinge.sub_type = hinge/fold זמין עכשיו. מידע נוסף זמין בפוסט בבלוג בנושא פיתוח ל-Android 11 באמצעות Android Emulator.

  • חיישן הציר מופעל עכשיו כברירת מחדל.

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

אמולטור למארחי ARM64

  • קוד המקור של אמולטור Linux תומך עכשיו בהידור צולב ממארחי x86_64 למארחי arm64, ומאפשר הפעלה של תמונות מערכת arm64 עם וירטואליזציה של KVM. בשלב הזה, רק -gpu swiftshader_indirect (Swiftshader arm64 host rendering) נתמך, אבל אפשר להשתמש גם בספרייה תואמת של 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.

תכונות חדשות ושיפורים נוספים

  • מעכשיו אפשר להשתמש ב-USB passthrough ב-Windows באמצעות -qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>. (האפשרות הזו אמורה לפעול גם ב-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 הנוכחי בהגדרות > אמצעי בקרה מתקדמים. כדי להסתיר את מסגרות המכשיר באופן גלובלי בכל מכשירי ה-AVD, הוספנו את דגל התכונה NoDeviceFrame. אפשר להפעיל אותו באמצעות הפעלת האמולטור משורת הפקודה עם -feature NoDevice frame, או כדי לנעול אותו, מוסיפים 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.

    כפתרון עקיף, האמולטור חוזר עכשיו לשימוש בקובצי גילוי בספרייה שאולי שונה ומבוססת על מזהה המשתמש: /run/user/&lt;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 שלא מחובר כשהאמולטור מופעל.
  • תוקנה הבעיה שבה האמולטור נתקע ביציאה כשהוא מריץ פקודות shell עם פסק זמן ארוך או בלתי מוגבל.
  • בוצע עדכון ב-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 לאורחים.
  • שיידרים של אמולציית 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 upstream. הבעיה הזו תוקנה. היא הייתה קשורה להשחתת זיכרון בתרגום ובקיפול קבוע של שיידרים של OpenGL ES שהשתמשו במטריצות לא ריבועיות. מתרגם ה-Shader הוא עכשיו ספרייה משותפת נפרדת, libshadertranslator.dll.
  • תוקנה בעיה בהפעלת Vulkan בחלק מהדרייברים של GPU, שבה לא נמצאו פונקציות מסוימות של מכשיר 1.1.
  • ‫Vulkan: חזרנו לשימוש ברכיב הטעינה שנוצר מראש, כי העדפה של רכיב הטעינה של מערכת Vulkan גרמה לבעיות בחלק מההגדרות. אנחנו ננסה למצוא פתרון טוב יותר.
  • תוקנה הבעיה שבה נעשה שימוש בזיכרון חיצוני של Vulkan, שיכול היה להיות מיובא עם אינדקסים לא תואמים של סוגי זיכרון במארח.
  • תוקנה בעיה באמולציה של GL_ALIASED_POINT_SIZE_RANGE שבה ה-enum לא נתמך במארח.
  • תוקנה בעיה שבה במעבדי GPU מסוימים של מארחים, לא הייתה אפשרות לקמפל את הצללות של Skia בגלל שגיאות שקשורות ל-GL_EXT_shader_framebuffer_fetch.
  • העותק שלנו של מעבד התצוגה D3D9 ANGLE הוסר לפני כמה גרסאות, ולכן אנחנו גם מעבירים אוטומטית משתמשים שהשתמשו במעבד התצוגה הזה ל-d3d11 ANGLE אם הוא נבחר בהעדפות ממשק המשתמש.
  • נוסף מידע נוסף על ניפוי הבאגים להפעלת WGL ב-Windows כדי לאתר כשלים.
  • כשמשתמשים ב-hw.gltransport=virtio-gpu-pipe, הביצועים משתפרים כי לא מתבצעת פעולת ספין במארח בהעברות מהמארח לאורח.
  • נוספו עוד יומני ניפוי באגים למקרים שבהם האתחול של האמולציה של OpenGLES נכשל.
  • פתרנו בעיה שגרמה להבהוב של סרטונים ב-YouTube או לכך שהם לא הוצגו בטעינת תמונת מצב.
  • בינתיים חזרנו לפענוח תוכנה עבור libvpx כי נתקלנו בבעיות בפענוח חומרה של CUDA של libvpx. אם יש לכם הטמעה נתמכת של פענוח קוד חומרה של CUDA בצד המארח, אפשר להפעיל מחדש את פענוח הקוד של חומרה של libvpx באמצעות משתנה הסביבה ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1.

‫30.0.10 (30 באפריל 2020)

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

הפעלת האמולטור ב-Android Studio

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

מצב חלון צף

עכשיו אפשר ליצור מכשיר וירטואלי עם מצב חלונות חופשיים מופעל על ידי בחירה בפרופיל החומרה של טאבלט 13.5'' Freeform כשיוצרים מכשיר וירטואלי ב-Android Studio. פרופיל החומרה הזה דורש תמונת מערכת עם Android 11 Developer Preview 3 ואילך.

בעיות מוכרות

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

‫30.0.0 (19 בפברואר 2020)

העדכון הזה כולל תמונות מערכת של Android 11 (רמת API‏ 30) ושיפור בביצועים כשמריצים קבצים בינאריים של ARM.

תמונות מערכת של Android 11

עכשיו אפשר ליצור מכשיר וירטואלי של Android שמריץ Android 11 על ידי בחירה באחת מתמונות המערכת הזמינות של רמת API ‏30:

  • x86: כולל גם x86 וגם ARMv7 ABI.
  • 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) עבור מערכות הפעלה אורחות של 32 ביט x86 (qemu-system-i386). התכונה הזו מאפשרת להריץ תמונות של 32 ביט x86 ברמות API 26 ומטה באמצעות גרסת ה-build ללא ממשק משתמש. שימו לב: במכונות וירטואליות (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'.
  • תוקנה בעיה שקשורה למחסום מיותר בצינור (pipeline) בטקסטורות דחוסות מדומה ב-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 Developer Summit בנובמבר 2018. מידע נוסף על שיפורים אחרים ב-Project Marble בגרסאות קודמות זמין במאמר Android Emulator: Project Marble Improvements.

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

בקטעים הבאים מתוארים השיפורים של Project Marble שכלולים בעדכון הזה:

שיפורים בהתנהגות האודיו של המארח

החל מגרסה 28.0.3, האמולטור חוסם את קלט האודיו מהמארח כברירת מחדל.

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

אם אתם משתמשים בשורת הפקודה, אתם יכולים גם להפעיל את האודיו של המארח באמצעות האפשרות -allow-host-audio, ואתם יכולים להשתמש בפקודות ה-ADB הבאות כדי להפעיל או להשבית את נתוני האודיו של המארח, בהתאמה:

  • adb emu avd hostmicon
  • adb emu avd hostmicoff

שיפורים בגרסאות build של אמולטורים ללא ממשק משתמש

החל מגרסה 28.0.25, האמולטור כולל אפשרות headless build שניתן להפעיל בלי ממשק המשתמש. אתם יכולים להשתמש בגרסאות build ללא ממשק משתמש כדי להגדיר את האמולטור לתהליכי עבודה של 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

שודרגו ספריות ה-UI של Qt לגרסה 5.12 LTS

העדכון הזה כולל את השיפורים הבאים מגרסת Qt 5.12 LTS:

  • כדי למנוע קריסות ב-libpng decoding של Qt כשמפעילים תמונות מערכת מסוימות, האמולטור משתמש עכשיו בעותק משלו של libpng כדי לפענח תמונות PNG.
  • כדי לפתור בעיות שקשורות להתקנות מסוימות של Linux שמכילות גרסאות לא תואמות של ספריות מסוימות שתלויות ב-Qt, אנחנו אורזים עכשיו את libfreetype, libsoftokn, libsqlite3 ו-libxkbcommon עם האמולטור.
  • האמולטור משתמש עכשיו בספריות Native של הפלטפורמה כדי לקבל את המידות של המסך, במקום להשתמש בספריות Qt שהחזירו תוצאות לא אמינות.

אופטימיזציות אוטומטיות של מעבד אחרי אתחול קר

כדי לטפל בשימוש במעבד, האמולטור מריץ עכשיו את פקודות ה-ADB הבאות באתחול קר אחרי שהוא מקבל אות boot complete:

adb shell settings put screen_off_timeout 214783647
הפקודה הזו מגדילה את פרק הזמן הקצוב לתפוגה של המסך כשהוא כבוי, כדי שאפשר יהיה להשתמש באמולטור במצב סוללה בלי להטעין. במצב סוללה, השימוש במעבד ברקע מופחת באופן משמעותי.
במצב טעינה באמצעות AC, פעולות ברקע של GMSCore, כמו עדכוני אפליקציות, יכולות להשתלט על כל ליבות המעבד של המכשיר – וכתוצאה מכך, על המחשב של המשתמש – ללא אזהרה.
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:

  • עכשיו אפשר להשהות מיידית את כל ה-vCPU באמולטור באמצעות פקודות המסוף הבאות:
    • adb emu avd pause
    • adb 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 5554
    • avd bugreport
  • בתמונות של מערכת Android Q, האמולטור מגדיל את גודל ה-RAM המינימלי ל-2GB.
  • הוספנו עוד רישום ביומן והדפסה בכל פעם ש-OpenGL או ה-Hypervisor לא מצליחים לבצע אתחול.
  • אם האמולטור לא מצליח להפעיל בו-זמנית מופע -read-only של AVD, האמולטור מנסה להפעיל מחדש את ה-AVD של -read-only עוד 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 היה מסתובב ומשתלט על ליבת מעבד שלמה במצבים מסוימים.
  • תוקנו בעיות בגישה לזיכרון מחוץ לגבולות בזמן עיבוד טקסטורות דחוסות.
  • תוקנו שגיאות 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 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 תומכים גם ב-zero-copy interop עם OpenGL באמצעות התוסף GL_EXT_memory_objects. האמולטור משתמש ביכולת הזו כדי לספק דרך מלאה לרינדור ממשק המשתמש של Android באמצעות ממשקי Skia Vulkan API.

אם יש לכם כרטיס מסך של 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 וב-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 ששולחת שאילתה לגבי הגדרת מכונת ה-VM של האמולטור ואז שולחת סדרה של פקודות.

‫28.0.25 (29 במרץ 2019)

העדכון הזה כולל את השיפורים והתיקונים הבאים:

גרסת build של אמולטור ללא ממשק משתמש

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

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

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

  • תוקנה הבעיה של תנודות ותצוגה שגויה של מסגרות במעבדים גרפיים של Intel כשמריצים קובצי אימג' של מערכת Android Q.
  • תוקנו בעיות שבהן מוצג מסך שחור כשמשתמשים בתמונות של מערכת Android Q עם סקינים של Pixel 2 XL.
  • קובצי ה-BIOS הבינאריים העדכניים משמשים עכשיו להפעלת האמולטור. השינוי הזה יכול לעזור לצמצם את השגיאות מסוג 'בקשת כיבוי של vCPU' שמתרחשות לפעמים כשמפעילים את האמולטור ב-Windows.
  • הוספנו תיקון לבעיה "תצוגה שגויה כשממשיכים קבצי אימג' של מערכת Android Q מתוך תמונת מצב".
  • המשתמשים נתקלו בבעיות בסימולטורים (אמולטורים) שקשורות לגישה לא מורשית בגלל שינוי לא תואם ב-ADB בכלי platform-tools 28.0.2. עכשיו אפשר להשתמש ב-ADB מ-platform-tools 28.0.2 עם האמולטור בצורה בטוחה. אם נתקלתם בבעיות שקשורות לאמולטורים לא מורשים, תוכלו לנסות את השלבים הבאים לפתרון בעיות:
    1. יוצאים מכל האמולטורים.
    2. מוחקים את הקבצים ~/.android/adbkey ו-~/.android/adbkey.pub.
    3. מריצים את הפקודה הבאה: adb kill-server
    4. מריצים את הפקודה הבאה: adb devices
    5. איפוס הנתונים ב-AVD.
    6. מפעילים מחדש את האמולטור.

‫28.0.23 (29 בינואר 2019)

העדכון הזה כולל את השיפורים והתיקונים הבאים:

קלט האודיו של המארח מושבת כברירת מחדל

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

כדי לתת מענה לבעיה הזו, ביצענו את השינויים הבאים:

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

עדכונים בנושא חקירות של שימוש במעבד

במהלך הבדיקות שלנו במסגרת פרויקט Marble, שמנו לב ששימוש גבוה ב-CPU באמולטור בדרך כלל נחלק לשלוש קטגוריות:

במצב לא פעיל: תמונות של עדכונים אוטומטיים של אפליקציות בחנות Play

גילינו שבמרווחי זמן אקראיים, כל האפליקציות המותקנות מתעדכנות, גם כשהמשתמש לא מחובר. במהלך התהליך, השימוש במעבד מגיע למספר הליבות כפול 100% (בדרך כלל כ-400%) ב-GMSCore וב-dex2oat. כדי לפתור את הבעיה, אפשר להשבית את העדכונים האוטומטיים של האפליקציות באפליקציית חנות Play.

במצב לא פעיל: זיהוי מילת הפעלה

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

בזמן פעילות, לפעמים במצב לא פעיל: אנימציות

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

‫28.0.22 (21 בדצמבר 2018)

העדכון הזה כולל את השיפורים והתיקונים הבאים:

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

‫28.0.20 (11 בדצמבר 2018)

העדכון הזה כולל את השיפורים והתיקונים הבאים:

  • תוקנה בעיה ב-Windows שגרמה לאמולטור לקפוא בטעינת תמונת מצב עם דגמים מסוימים של כרטיסי מסך של Intel.
  • תוקנה בעיה שגרמה למצב מכשיר unauthorized ADB כשמשתמשים במיקום ANDROID_SDK_HOME לא סטנדרטי.
  • תוקנה בעיה ב-Windows שגרמה לקריסת האמולטור בזמן אתחול של תמונות מערכת עם השבתה של האצת המעבד.
  • תוקנה בעיה בתצוגה של האמולטור שגרמה לפיקסול. הדגימה הנמוכה אמורה לפעול עכשיו.
  • תוקנה בעיה ב-macOS 10.14 ואילך, שבה השליטה במצלמת הסצנה הווירטואלית באמצעות העכבר הפכה לרגישה מדי בגלל אינטראקציה עם הגדרות אבטחה חדשות של נגישות.
  • תוקנה שגיאה בחישוב אזור הזמן שיכולה לגרום לשעון האמולטור להשתנות באופן לא סדיר.
  • תוקנו שגיאות רינדור באפליקציות שונות של cocos2d ו-Unreal Engine.
  • הוספנו תמיכה באמולטור בחיבור Wi-Fi ישיר. שני אמולטורים יכולים עכשיו לתקשר ישירות אחד עם השני באמצעות Wi-Fi אם משתמשים בתמונה העדכנית של חנות Play ב-Pie. כדי להשתמש ב-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 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 הרגילה שלכם. אפשר ליצור בעיות או להצביע בעד בעיות ב-Issue Tracker.

תמונות מצב של זיכרון RAM של מכונות אורחות שגובו בקובץ

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

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

  • משתמשים בדגלים -no-snapshot-save או -read-only כשמפעילים את האמולטור משורת הפקודה.
  • עוברים אל אמצעי בקרה מתקדמים > תמונות מצב > הגדרות ומעבירים את האפשרות שמירה אוטומטית של המצב הנוכחי להפעלה מהירה? למצב לא.
  • אחרי שבוחרים באפשרות הזו, צריך להפעיל מחדש את האמולטור. אם האמולטור מוגדר לשמירה אוטומטית, אפשר להריץ את הפקודה הבאה כדי להגדיר נקודת ביקורת:
    adb emu avd snapshot remap 0
    
    אחרי שמריצים את הפקודה הזו, תמונת המצב של Quickboot באמולטור תישאר בנקודת הבדיקה הזו. מריצים שוב את אותה הפקודה כדי לטעון את האמולטור מנקודת הבדיקה.

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

מדובר בשינוי משמעותי באופן הפעולה של Quickboot, ולכן נשמח לקבל מכם משוב על השיפורים בביצועים של Quickboot ועל הבעיות שנתקלתם בהן במהלך השימוש בו. אם נתקלים בבעיות, אפשר להשבית את התכונה הזו על ידי הוספת השורה הבאה לקובץ ~/.android/advancedFeatures.ini:

QuickbootFileBacked = off

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

QEMU 2.12

התבססנו מחדש על הווריאציה שלנו של QEMU מ-QEMU 2.9 ל-QEMU 2.12. העדכון הזה כולל את השינויים הבאים ב-QEMU:

אלה כמה מהשינויים הבולטים שמשפיעים על 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 אם הוא מזהה שהמעבדים הגרפיים האלה נמצאים בשימוש.
  • תוקנה בעיה שגרמה לכך שהאמולטור לא פרסם את מאגר המסגרות הנכון אם FBO != 0 היה קשור בזמן eglSwapBuffers.
  • תוקנה בעיה שבה התצוגה הווירטואלית של Android הופיעה רק בפינה הימנית העליונה. לדעתנו, הבעיה נבעה ממשתני סביבת Qt שהוגדרו בצורה שגויה. האמולטור מחליף עכשיו את כל משתני הסביבה שקשורים לשינוי גודל ב-Qt.
  • תוקנה בעיה שגרמה לקריסה של האמולטור במצבים מסוימים כשמטעינים אפליקציות GLES1 מתמונת מצב.
  • תוקנו בעיות של פעולות מקבילות ב-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, האמולטור משנה את הגודל של מחיצת נתוני המשתמש ל-6GB באופן אוטומטי כשמפעילים אותו עם מכשיר וירטואלי חדש של חנות Play.

שיפורים ותיקונים כלליים באיכות

  • חלק מהמשתמשים דיווחו שהאמולטור פועל לאט. זיהינו סיבה אפשרית אחת לכך שתיקיית הטמפלט של האמולטור מכילה יותר מדי קבצים ישנים. כפתרון עקיף, האמולטור כבר לא מאחסן קבצים של בדיקת הפעילות של ADB בספרייה הזו. אבל יכול להיות שגם מחיקת התוכן של התיקייה תעזור. התיקייה נמצאת באחד מהמיקומים הבאים, בהתאם למערכת ההפעלה:
    • ב-Windows: ‏ C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
    • ‫macOS או Linux: ‏ /tmp/android-<username>/*
  • אם האמולטור לא מצליח להתחיל לפעול בגלל שאין מספיק זיכרון RAM פנוי, מוצגת עכשיו הודעת שגיאה. אם אתם משתמשים ב-Windows וראיתם שיש זיכרון RAM פנוי, אבל עדיין לא הצלחתם להפעיל את האמולטור, יכול להיות שחרגתם ממגבלת הזיכרון הווירטואלי. לקבלת עזרה בפתרון הבעיה, אפשר לעיין בדף לפתרון בעיות באמולטור.
  • האפשרות -sysdir בשורת הפקודה מבטלת עכשיו כמו שצריך את ספריית תמונות המערכת שהמערכת הסיקה.
  • מודם וירטואלי תומך עכשיו בשאילתת +MAI model activity info.
  • תוקנו בעיות שונות שקשורות לדליפות זיכרון, להשחתת זיכרון ולשימוש במעבד (CPU). אם אתם נתקלים בקריסות, בדליפות זיכרון או בשימוש גבוה במשאבים אחרים, אתם יכולים ליצור בעיה בכלי למעקב אחר בעיות.
  • תוקנה בעיה שהופיעה מחדש ב-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 עלולות לגרום להאטה קיצונית כי האמולטור שומר באופן אוטומטי תמונות מצב ומשתמש בהעתקה בעת כתיבה עבור מכשירי הדיסק הווירטואלי שלו. מומלץ לנקות את הספרייה ~/.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 Emulator שפועלת ב-Windows. לפני ההסרה וההוצאה משימוש של גרסת 32 הביט של Android Emulator, נשיק תוכנית מעבר. עם זאת, אנחנו רוצים לקבל משוב או לטפל בבעיות שקשורות לשינוי הזה בעתיד.

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

‫27.3.10 (אוגוסט 2018)

העדכון הזה כולל את תיקון הבאג הבא:

תיקון הגדרת גודל ה-RAM

חלק מהמשתמשים דיווחו שהאמולטור פועל לאט. זיהינו גורם אפשרי אחד: גודל ה-RAM של ה-AVD בקובץ config.ini של ה-AVD הוגדר בצורה שגויה.

כדי לפתור את הבעיה, האמולטור מגדיל את רמת ה-RAM המינימלית לתמונות שמשתמשות ברמת API ‏26 ומעלה לרמת ברירת המחדל של Android Studio, שהיא 1,536MB. אם בקובץ config.ini של ה-AVD לא מופיע hw.ramSize במגה-בייט, צריך ליצור בעיה בכלי למעקב אחר בעיות. קובץ 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 ושל Emulator 27.3 ואילך, התוכן של התמונות המיידיות נטען לזיכרון ה-RAM לפי דרישה, במקום לטעון את כל התמונה המיידית כשהמכשיר הווירטואלי מופעל. השינוי הזה אמור לקצר משמעותית את הזמן שנדרש לטעינת תמונת מצב.

פרטים נוספים זמינים במאמר הגדרת האצת מכונה וירטואלית.

‫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 בתיבת הדו-שיח 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 Emulator מבוססת עכשיו על Clang C++ toolchain מודרני. השינוי הזה פותר את הבעיה שבה האמולטור לא מופעל בגלל שגיאות 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 Emulator כדי להריץ אפליקציות של מציאות רבודה שמבוססות על 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)

  • חלון אמולטור ללא מסגרת:

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

  • שיפורים בהפעלה מהירה כדי לעבוד בצורה יעילה יותר עם תמונות מצב של AVD:

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

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

  • האמולטור עודכן לשימוש ב-QEMU 2.9.

    אלה כמה מהשיפורים הבולטים:

    • אופטימיזציה של קלט/פלט (I/O) ונעילה של שרשור קלט/פלט ברמת גרנולריות גבוהה יותר לשיפור הביצועים.
    • תוקנו באגים מאז QEMU 2.8 ‏ (26.1.4).
    • הטמעה חדשה של קצה העורף (back end) של HAXM.

    הרשימה המלאה של השינויים מופיעה ביומן השינויים של QEMU 2.9.

  • הטמעה של Swiftshader שתואמת ל-OpenGL ES 3.0:

    המעבד של Swiftshader במדמה תואם עכשיו באופן מלא ל-OpenGL ES 3.0. פרטים על רכיב העיבוד של 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) הוא צריך לבצע אתחול קר (בדיוק כמו הפעלה של מכשיר), כל ההפעלות הבאות מהירות והמערכת משוחזרת למצב שבו היא הייתה כשסגרתם את האמולטור (בדומה להעברה של מכשיר ממצב שינה למצב פעיל).

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

    • כן: תמונת מצב של אתחול מהיר נשמרת תמיד כשסוגרים את האמולטור. זוהי ברירת המחדל.
    • לא: לעולם לא לשמור תמונת מצב של הפעלה מהירה; תמיד לבצע הפעלה קרה.
    • Ask: תוצג הנחיה לשמירת תמונת המצב של האתחול המהיר כשסוגרים את האמולטור.

    הבחירה חלה רק על ה-AVD שפתוח כרגע.

    מידע נוסף זמין במאמרי העזרה בנושא הפעלה מהירה.

  • הוספנו תמיכה ב-Mac OpenGL ES 3 (לקובצי אימג' של המערכת באמצעות רמת API‏ 24 ומעלה, Google APIs ו-x86 ABI).

  • כדי לשפר את היציבות באפליקציות OpenGL ES 2 ומעלה, האמולטור משתמש עכשיו בפרופיל ליבה של OpenGL אם הוא זמין.

  • אפשרויות חדשות לעיבוד באמצעות Swiftshader / ANGLE:

    • -gpu swiftshader_indirect: גרסה מהירה ויציבה יותר של Swiftshader שפועלת עם אתחול מהיר.
    • -gpu angle_indirect (Windows בלבד): גרסה יציבה יותר של ANGLE D3D שפועלת גם עם הפעלה מהירה.

    האפשרויות הישנות יותר -gpu swiftshader ו--gpu angle הוצאו משימוש. בחלון 'אפשרויות מתקדמות', האפשרויות '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 API, אמור להיות רינדור תקין בצד האורח.
    • תוקנה בעיה שבה האמולטור עבר לתוכנת רינדור בגלל זיהוי של כרטיסי 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)

הגרסה הזו כוללת תכונות חדשות ושיפורי ביצועים.

  • נוספה האפשרות להגדיר הגדרת HTTP proxy מותאמת אישית בפקדים המתקדמים (לוחצים על עוד , ואז על הגדרות ועל Proxy). כברירת מחדל, האמולטור משתמש בהגדרות של שרת ה-proxy מסוג HTTP של Android Studio, אבל במסך הזה אפשר להגדיר שרת proxy באופן ידני.

  • נוספה תמיכה ב-VNC עבור GPU במצב אורח, כך שאפשר לצפות באמולטור מרחוק ולשלוט בו. לדוגמה, אפשר להפעיל את האמולטור ולאפשר ל-VNC להאזין ליציאה 5901 באופן הבא:

    1. ביצוע: emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
    2. פותחים כלי לצפייה ב-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 מרובות שלא פועלות באמולטור.

  • נוספה תמיכה ניסיונית ב-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 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 ביט צריך להגדיר את גודל ה-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 Emulator תומכת ב-HAXM v6.1.1, שכוללת את העדכונים הבאים:

  • הפעלת אמולציה של יחידות למעקב אחר ביצועים (PMU). (בעיה מספר 223377)
  • תיקונים לדו-קיום עם VirtualBox ו-Docker במחשבי Mac. (בעיה מספר 197915)
  • הודעת השגיאה שמוצגת כשתוכנת ההתקנה לא מצליחה לזהות את Intel VT-x ב-Windows, בדרך כלל כי Hyper-V מופעלת.
  • נוספה תמיכה בהאצת Android Emulator במכונה וירטואלית של 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 ב-GPU. רוב המערכות יכולות להגיע ל-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, האמולטור כותב עכשיו 100-200MB של נתונים לדיסק, במקום 2GB או יותר.
  • שיפורים שונים בממשק המשתמש:
    • האמולטור משתמש עכשיו ב-Qt 5.7.0, שכולל תיקוני באגים ושיפורי ביצועים.
    • האתחול של ממשק המשתמש כבר לא מנסה לטעון את כל קובצי ההפעלה של האמולטור כתוספי Qt, ולכן הוא קצר משמעותית, במיוחד בכונני HDD.
    • האינטראקציות בממשק המשתמש מהירות וחלקות יותר עכשיו, כולל סיבוב, שינוי גודל החלון וטעינה וסגירה של חלון הבקרה המורחב.

‫OpenXR™‎ והלוגו של OpenXR הם סימנים מסחריים בבעלות The Khronos Group Inc. ‎ והם רשומים כסימן מסחרי בסין, באיחוד האירופי, ביפן ובבריטניה.