ملاحظات إصدار المحاكي

يتوفّر محاكي Android في "استوديو Android".

وتم توزيع إصدارات المحاكي الأقدم من الإصدار 25.3.0 كجزء من أدوات حزمة تطوير البرامج (SDK) لنظام التشغيل Android.

للتأكّد من استخدام أحدث إصدار، يُرجى الاطّلاع على مدير حِزم تطوير البرامج (SDK) للحصول على التحديثات.

لتنزيل الإصدارات السابقة من Android Emulator، يمكنك الاطلاع على أرشيف تنزيل المحاكي.

للاطّلاع على ملاحظات الإصدار الخاصة بإصدارات "المحاكي" التي تسبق الإصدار 25.3.0، يُرجى الاطّلاع على ملاحظات إصدار أدوات حزمة تطوير البرامج (SDK) لنظام التشغيل Android.

للتعرّف على المشاكل المعروفة وتحديد المشاكل وحلّها، يُرجى الاطّلاع على تحديد مشاكل المحاكي وحلّها.

34 مايو 2024 (31 مايو 2024)

  • إصلاحات متنوعة للأعطال ذات صلة بوضع التأرجح وميزة "تنظيف بيانات المعلن"

34 مايو 2024 (20 مايو 2024)

تم الاختبار باستخدام "التصحيح الثابت 1" لـ Jellyfish على Android Studio.

  • [إصلاح خطأ] تظهر اللقطة أحيانًا في المحاكي المُضمَّن
  • [إصلاح الأخطاء] عدم عمل زرَّي "لا" و"إلغاء" بشكلٍ سليم عند عرض اللقطة
  • [إصلاح خطأ] عدم عمل أزرار لوحة الاتجاهات
  • [إصلاح الخطأ] تم إصلاح المشكلة التي ظهرت على نظام التشغيل Windows لمنع المحاكي من البدء في بعض الحالات عند استخدام أوضاع وحدة معالجة الرسومات مع محرِّك ANGLE، وعرض رسالة الخطأ "تعذّر إعداد محاكاة GL" في السجلّ. تجدر الإشارة إلى أنّ تشغيل المحاكي من خلال سطر الأوامر باستخدام الخيار -gpu swangle_indirect قد يؤدي إلى ظهور هذا الخطأ في هذا الإصدار. إذا كنت لا تزال تريد بدء المحاكي باستخدام سطر الأوامر في نظام التشغيل Windows مع عرض رسومات البرامج في هذا الإصدار، يُرجى استخدام -gpu swiftshader_indirect
  • [إصلاح خطأ] يؤدي اختصار الموقع على لوحة المفاتيح إلى تحميل خريطة غير قابلة للاستخدام
  • [إصلاح خطأ] عدم ظهور مربّع حوار "حفظ المسار" أثناء ضبط الموقع الجغرافي

34 أبريل 2024 (30 أبريل 2024)

تم الاختبار باستخدام الإصدار الثابت من Android Studio Jellyfish.

  • التحديث إلى الربع 6.5.3
  • التوافق مع تحديثات واجهة برمجة التطبيقات لخرائط Google المستخدَمة في ميزات الموقع الجغرافي ضمن عناصر التحكّم الموسّعة في المحاكي، وذلك في نهاية شهر أيار (مايو)
  • إصلاحات الأعطال ذات التأثير العالي
  • إصلاحات متنوعة لـ Pixel AVD
  • تحديث مكتبة الرسومات المستخدمة لعرض البرامج
  • [إصلاح الخطأ]المشكلة 225541819 بدء تشغيل مُحاكي Chrome على x86_64
  • [إصلاح الأخطاء]المشكلة 314614435 تم تحليل مفتاح التبديل -http-proxy بشكل غير صحيح

34 ديسمبر 2024 (1 أبريل 2024)

تم الاختبار باستخدام إصدار Iguana الثابت من Android Studio.

  • [إصلاح الأخطاء] المشكلة رقم 314614435: حل المشكلة التي تؤدي إلى تحليل مفتاح التبديل "-http-proxy" بشكل غير صحيح

34 مارس 2024 (7 مارس 2024)

تم الاختبار باستخدام إصدار Iguana الثابت من Android Studio.

  • [إصلاح الأخطاء] المشكلة رقم 312677259: تم إصلاح مشكلة تجميد الشاشة في المحاكي المُضمَّن بعد تغيير حجم النافذة.

18 فبراير 2024 (29 فبراير 2024)

تم الاختبار باستخدام إصدار Iguana الثابت من Android Studio.

  • تمت إضافة أجهزة إلى المحاكي، بما في ذلك:
    • Pixel Fold
    • Pixel Tablet
    • Pixel 8
    • Pixel 8 Pro
    • Pixel 7a
  • اختبار تكامل gRPC: أصبحت نقاط نهاية gRPC متاحة الآن للاختبارات الأدوات التي تعمل داخل المحاكي والتي ستتيح اختبار سيناريوهات واقعية. تتيح هذه الميزة للمطوّرين التفاعل بأمان مع نقطة نهاية gRPC التي يستضيفها Android Emulator من داخل اختبارات أدوات Android.
  • إصلاح أخطاء متنوعة

33.1.24 (28 كانون الأول/ديسمبر 2023)

تم الاختبار باستخدام الإصدار الثابت 1 من Android Studio Hedgehog والإصدار التجريبي 1 من Iguana.

  • حلّ مشكلة كاميرا الويب المحاكية التي لا تسمح بتسجيل الشاشة بتنسيق mp4.
  • إصلاح تعطُّل المحاكي على متوسّط مدة المشاهدة في هاتف Pixel Fold عندما لا يكون مطويًا أثناء تسجيل الشاشة
  • حلّ مشكلة ظهور سطح هاتف Pixel Fold مختلف مع لوحة مفاتيح منفصلة وغير قابلة للاستخدام (تم إصلاحها على أنظمة التشغيل Windows وMac Intel وLinux)
  • إصلاح خلل في المظهر في أدوات الاستشعار الافتراضية في الوضع المستقل (الثابت على أنظمة التشغيل Windows وMac Intel وLinux)
  • إصلاح بعض الأعطال، وخاصةً عند إغلاق المحاكي،

33 تشرين الثاني (نوفمبر) 2023 (30 تشرين الثاني/نوفمبر 2023)

تم الاختبار باستخدام Android Studio Giraffe Patch 4 وHedgehog الثابت.

  • عملية جديدة قابلة للطي لمحاكاة جهاز Pixel Fold بشكل أفضل، وتعمل مع أحدث واجهة برمجة التطبيقات 34
  • ترقية الواجهة الخلفية للرسومات: لقد طبقنا بروتوكول gfxstream في الواجهة الخلفية للرسومات، ويرفع هذا التحسين من أداء الرسومات الإجمالية وثبات نظامك. بالإضافة إلى ذلك، تقديم دعم Vulkan 1.3 بدءًا بصورة النظام مع واجهة برمجة التطبيقات 34
  • طلب الميزة: خيار لإيقاف إيماءة التكبير أو التصغير بإصبعَين أو إعادة ضبط مفتاح الاختصار
  • [إصلاح الأخطاء] المشكلة رقم 302562962 إصلاح تعطُّل كاميرا الويب في "المحاكي" عند استخدام Sonoma في نظام التشغيل MacOS
  • [إصلاح الأخطاء] المشكلة رقم 293503871 حل المشكلة التي تتعلق بعدم حفظ إعداد "الميكروفون" عند إعادة تشغيل المحاكي
  • [إصلاح الخطأ] المشكلة رقم 270386314 إصلاح خطأ الرسوم المتحركة حيث يظل الشريط الجانبي مفتوحًا بعد تصغير شاشة AVD
  • [إصلاح الأخطاء] المشكلة رقم 154896775 إصلاح أداة إرسال الخطأ

32 أغسطس 2023 (29 آب/أغسطس 2023)

تم الاختبار باستخدام Android Studio Giraffe Patch 1 وHedgehog Canary 16.

  • الالتزام بمتطلبات أجهزة الاستشعار في "خدمات Google للأجهزة الجوّالة" (GAS) الخاصة بأجهزة الاستشعار في محاكي AAE
  • [إصلاح الأخطاء] المشكلة رقم 266201208 لا يتم إرسال الرسائل القصيرة SMS باللغة العبرية على واجهة برمجة التطبيقات 33
  • [إصلاح الأخطاء] المشكلة رقم 257097404 لا يعرض المحاكي الوقت الصحيح بعد تنشيط المضيف على واجهة برمجة التطبيقات 29 وواجهة برمجة التطبيقات 30
  • [إصلاح الخطأ] المشكلة رقم 228201899 التي لا يمكن فيها رؤية خرائط Google داخل عناصر التحكم الموسعة لمحاكي Android

32 يونيو 2023 (27 حزيران/يونيو 2023)

تم الاختبار باستخدام Android Studio Hedgehog Canary 8 وGiraffe التجريبي 5 وFlaming Stable.

  • إصلاح اتّجاهات الكاميرا والتشوّهات التي يوفّرها المحاكي
  • [إصلاح الأخطاء] المشكلة رقم 257097404 "لا يعرض المحاكي الوقت الصحيح بعد استيقاظ المضيف". ولا يزال هذا الخطأ قابلاً للظهور مجددًا في 29 و30 من واجهة برمجة التطبيقات.
  • [إصلاح الأخطاء] المشكلة رقم 243456582 "قد لا تعمل إصدارات Android بعد واجهة برمجة التطبيقات 30 بشكل صحيح في المحاكي على أجهزة Mac M1"

32 مايو 2023 (22 أيار/مايو 2023)

تم الاختبار باستخدام Android Studio Hedgehog Canary 2 وGiraffe التجريبي 1 والإصدار الثابت من Flamingo.

  • يمكنك إضافة دعم لـ AVD في هاتفَي Pixel Fold وPixel Tablet.
  • تحسين مشكلة تعطُّل gLinux.
  • [إصلاح الأخطاء] المشكلة رقم 215231636 "لا يعمل المحاكي الذي يحتوي على واجهة برمجة تطبيقات أعلى من واجهة برمجة التطبيقات 30 في معالج Intel من الجيل الثاني عشر".
  • [إصلاح الأخطاء] المشكلة رقم 275397905 تحدث أعطال كبيرة في محاكي Android M1 عند تحريك تركيز المؤشر داخل المحاكي وخارجه بشكل متكرر.
  • مشكلة معروفة في تشغيل AVD المشكلة رقم 281725854. يُرجى الاطّلاع على تحديد مشاكل المحاكي وحلّها للحصول على مزيد من المعلومات.

32.1.12 (21 آذار/مارس 2023)

تم الاختبار باستخدام Android Studio Giraffe Canary 10 وFlamingo RC وElectric Eel Patch 2.

32.1.11 (8 شباط/فبراير 2023)

تم الاختبار باستخدام Android Studio Giraffe Canary 2 وFlamingo التجريبي 1 وElectric Eel Patch 1.

  • تحسينات سرعة الشبكة
  • إمكانية استخدام الماوس في "المحاكي المضمَّن"
  • تحسينات على Virtio-snd
  • إيقاف استخدام الروابط الرمزية أثناء فك ضغط محاكي Android أثناء التثبيت
  • إصلاح العُطل في التحقّق من المحاكي

31.3.14 (13 كانون الأول/ديسمبر 2022)

تم الاختبار باستخدام Android Studio Dolphin وElectric Eel RC1 وFloomingo Canary 9.

  • [إصلاح الأخطاء] إصلاح أعطال AVD التي تحدث عند تسجيل الدخول إلى "متجر Play"

31 مارس 2022 (27 تشرين الأول/أكتوبر 2022)

تم الاختبار باستخدام Android Studio Dolphin وElectric Eelbeta 2 وFloomingo Canary 5.

31 تشرين الأول (أكتوبر) 2022 (10 تشرين الأول/أكتوبر 2022)

تم الاختبار باستخدام الإصدار التجريبي 1 من Android Studio Dolphin وElectric Eel.

يتضمّن هذا التحديث التحسينات والإصلاحات التالية:

  • [إصلاح الخطأ] المشكلة رقم 247843000: خطأ في معالجة المسار النسبي لمتوسّط مدة المشاهدة
  • زيادة حجم القرص لواجهة برمجة التطبيقات 24 والإصدارات الأحدث

31 سبتمبر 2022 (23 أيلول/سبتمبر 2022)

تم الاختبار باستخدام Android Studio Dolphin وElectric Eel Canary 10.

يتضمّن هذا التحديث التحسينات والإصلاحات التالية:

  • [إصلاح خطأ] تعطُّل متوسّط مدة المشاهدة (AVD) للمحاكي المضمَّن في نافذة عناصر التحكّم الموسَّعة
  • [إصلاح الأخطاء] المشكلة رقم 183139207: مشاكل الصوت المرتبطة بتفعيل المحاكي للميكروفون
  • [إصلاح الخطأ] المشكلة رقم 229764024: خطأ AVD ثابت يؤدي إلى حدوث مشاكل في سلوك واجهة المستخدم
  • [إصلاح الأخطاء] خطأ في تشغيل واجهة برمجة التطبيقات 33 AVD على نظام التشغيل Mac M1
  • [إصلاح الخطأ] المشكلة رقم 243053479: بطء سرعة الشبكة بعد تحديث المحاكي
  • [إصلاح الخطأ] المشكلة رقم 244617627: موقع الخرائط الذي لا يعمل على نظامي التشغيل Windows وLinux
  • [إصلاح الخطأ] المشكلة رقم 232971796: زر "الاتصال بجهاز" لا يعمل في عناصر التحكم الموسعة > صفحة الهاتف
  • تحديث محاكي Android إلى تنسيق مصغّر
  • نقل بيانات النصوص البرمجية للإصدار إلى Python3

31 مارس 2022 (18 آب/أغسطس 2022)

تم الاختبار باستخدام الإصدار التجريبي 5 من Android Studio Dolphin وElectric Eel Canary 9.

وتتوفّر الآن عمليات تنزيل مستقلة للمحاكي. إذا واجهت أي مشاكل أو أعطال في هذا الإصدار الثابت الأخير، يُرجى الإبلاغ عن خطأ وتنزيل إصدار يعمل سابقًا من أرشيفات تنزيل المحاكي.

يتضمّن هذا التحديث التحسينات والإصلاحات التالية:

  • دعم أفضل لمسار يونيكود على نظام التشغيل Windows
  • تمت معالجة إيقاف تشغيل المحاكي بشكل أفضل، ما قد يؤدي إلى نجاح عملية إطلاق جديدة لمتوسّط مدة المشاهدة نفسها.
  • تم تعديل تصميم متوسّط مدة المشاهدة القابل للطي والإعدادات التلقائية.
  • تم تعديل أزرار محاكي Wear
  • تحسينات على بث الصوت في gRPC
  • تمت إضافة أمر تغيير حجم المحاكي
  • إصلاح Chrome لواجهة برمجة التطبيقات 31
  • [إصلاح خطأ] تعذّرت مصادقة حساب Google مع الإصدار 21.42.18 من GmsCore

31 أبريل 2022 (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 الأساسي مع عرض "طلب إيقاف تشغيل vcpu".

31.2.7 (1 شباط/فبراير 2022)

تم الاختبار باستخدام Android Studio Bumblebee Patch 1 و Chipmunk Canary 6.

يتضمّن هذا التحديث الإصلاح التالي:

  • [إصلاح الخطأ] حدث خطأ في المحاكي على الأجهزة M1.

31.2.6 (20 كانون الثاني/يناير 2022)

تم الاختبار باستخدام Android Studio Arctic Fox وBamblebee التجريبي 4 وChipmunk Canary 6.

يتضمّن هذا التحديث التحسينات والإصلاحات التالية:

  • تمت إضافة أزرار ارتداء الجهاز إلى محاكي Wear OS.
  • تمت إتاحة تعديل جميع خصائص المركبة في علامة التبويب "VHAL".
  • [إصلاح خطأ] تعذّرت مصادقة حساب Google مع الإصدار 21.42.18 من GmsCore.
  • [إصلاح خطأ] لم يعمل Netshaper بشكل جيد مع VirtioWifi.
  • [إصلاح خطأ] تعذّر تنفيذ أمر وحدة تحكم الماوس في الأحداث.
  • تمت إضافة فحص KVM لإنشاء متوسّط مدة المشاهدة على الجهاز.

31.1.3 (18 كانون الثاني/يناير 2022)

يتضمّن هذا التحديث التحسينات والإصلاحات التالية:

  • منافذ وحدة التحكّم المفعّلة لنظام Fuchsia
  • عند تغيير حجم نافذة بشاشات عرض متعددة، يتم تجاهل الاتجاه.
  • شبكة Wi-Fi: تمت إضافة دعم لتصفية حزم البث الأحادي بناءً على عنوان MAT mac.
  • Wi-Fi: عطل تم إصلاحه عندما تكون شبكة VPN قيد الاستخدام.

30.9.5 (15 كانون الأول/ديسمبر 2021)

يتضمّن هذا التحديث التحسينات والإصلاحات التالية:

  • تمت إضافة إمكانية تغيير الحجم بسهولة إلى نافذة بحجم سطح المكتب أو الجهاز اللوحي.
  • تم توفير إمكانية الإدخال باللمس المتعدّد من الأجهزة المضيفة المتوافقة.
  • VirtioWifi: تمت إضافة دعم لشبكة النقر.
  • تم تفعيل الإدخال الدائري للصور في نظام Wear OS.
  • تم إصلاح مشكلة إعدادات صوت gRPC.
  • تم تحديث ميزة "تشغيل المحاكي" مجانًا مع أدوات استشعار Android العادية.
  • تم توصيل المحاكي بالأجهزة الملحقة والأجهزة باستخدام USB عبر منفذ USB.

30.4.5 (23 شباط/فبراير 2021)

يتضمّن هذا التحديث التحسينات والإصلاحات التالية:

  • نظام التشغيل macOS: تم إصلاح المشاكل المتعلقة بتشويه الإدخال الصوتي.
  • تمت إضافة دعم virtio-vsock في مساحة المستخدم.
  • ستستخدم صور النظام المستقبلية وحدة تحكُّم virtio-console لرسائل Logcat وkernel.
  • تسريع عرض Vulkan
  • تمت إضافة إمكانية تصحيح أخطاء اللقطات عند تعذُّر الاختبار.
  • virtio-gpu: تعريفات محدَّثة لدعم أحدث تعدادات موارد الملفات الثنائية الكبيرة.
  • تمت إضافة دعم لقطة لوسائل نقل الرسومات من النوع "ASg".
  • نظام التشغيل macOS: تمت إضافة دعم للإنشاء وفقًا للإصدار 11.1 من حزمة تطوير البرامج (SDK) لنظام التشغيل macOS أو الإصدارات الأحدث.
  • يتم تفعيل KVMclock تلقائيًا على صور النظام الأحدث.
  • تمت إضافة دعم أداة استشعار معدل ضربات القلب إلى أجهزة محاكاة Wear.
  • تمت إزالة واجهة Vulkan القابلة للنقل.
  • تمت إضافة دعم لمزيد من الميزات في محاكي المودم.

30.0.26 (16 آب (أغسطس) 2020)

يتضمّن هذا التحديث العديد من الميزات الجديدة وتحسينات على الميزات الحالية وإصلاحات للأخطاء.

توافُق الهواتف القابلة للطي مع أداة استشعار مفصّلة افتراضية وعرض ثلاثي الأبعاد

  • تمت إضافة دعم أدوات استشعار المفصّلة للأجهزة القابلة للطي. يتطلّب ذلك تثبيت نسخة نظام التشغيل Android 11 وإعداد AVD في المستقبل. تم الآن دمج معلَمات العرض الثلاثي الأبعاد والعرض المفصّل مع الإعدادات المسبقة الحالية القابلة للطي. على سبيل المثال، يمكن استخدام ما يلي مع ملف config.ini القابل للطيّ 7.3 AVD:

    hw.sensor.hinge = yes
    hw.sensor.hinge.count = 1
    hw.sensor.hinge.type = 1
    hw.sensor.hinge.ranges = 180-360
    hw.sensor.hinge.defaults = 180
    hw.sensor.hinge.areas = 54.7-0
    hw.sensor.posture_list=4, 3
    hw.sensor.hinge_angles_posture_definitions=210-360, 180-210
    hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture=4
    
  • تحمل الأجهزة القابلة للطي الآن مَعلمة من نوع فرعي أيضًا. أصبحت السمة hw.sensor.hinge.sub_type = hinge/fold الخاصة بـ config.ini متاحة الآن. يمكنك الاطّلاع على مشاركة المدونة حول تطوير تطبيقات Android 11 باستخدام محاكي Android لقراءة المزيد من المعلومات.

  • تكون أداة استشعار المفصّلة مُفعَّلة الآن تلقائيًا.

  • إذا تم إعداد جهاز قابل للطي، يرسل المحاكي الآن تحديثات لأدوات استشعار زاوية المفصّلة وتغييرات الوضع إلى الضيف. ستعدّل الأجهزة الحالية القابلة للطي زاوية أداة استشعار المفصّلة وموضعها عند الضغط على أزرار طيّ شريط الأدوات أو أزرار طيّ شريط الأدوات.

محاكي لمضيفي ARM64

  • يتيح رمز المصدر لمحاكي Linux الآن التجميع المتبادل بداية من x86_64 إلى مضيفات Arm64، ما يتيح تشغيل صور نظام Arm64 باستخدام المحاكاة الافتراضية لـ KVM. في الوقت الحالي، لا يتوفّر إلا -gpu swiftshader_indirect (عرض مضيف Swiftshader arm64)، ولكن يمكن أيضًا استخدام مجموعة متوافقة من مكتبات وحدة معالجة الرسومات المضيفة libEGL/libGLESv2 من خلال استبدال 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

  • تمت إضافة الدعم من جانب المضيف لموارد الكائنات الثنائية الكبيرة المترابطة المترابطة لمضيف virtio-gpu.
  • ونظرًا لآلية عمل عرض المحاكي، نعالج الآن قائمة الانتظار virtio-gpu في قائمة تشغيل vcpu (لأن العرض يتم إلغاء تحميله على سلاسل محادثات أخرى على أي حال). سيتم تفعيل عرض virtio-gpu في نسخة نظام وإصدار المحاكي في المستقبل.
  • في صورة نظام مستقبلية، سيتمكن المحاكي من تشغيل جميع الرسومات باستخدام حزمة تستند إلى virtio-gpu.

ميزات وتحسينات جديدة أخرى

  • يتوفّر عبور USB الآن على نظام التشغيل Windows باستخدام -qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>. (كان من المفترض أن يكون هذا العمل فعالاً على نظامي التشغيل Linux وmacOS)
  • تم تعديل مكتبات WebRTC إلى الإصدار M83.
  • يتيح المحاكي الآن البث الصوتي في الحاويات عبر WebRTC.
  • تمت إزالة نقطة نهاية أنبوب داروين.
  • يتوفّر الآن فك ترميز CUDA VPx للفيديو في حال توفُّر فك ترميز CUDA VPx في الأجهزة، عبر متغيّر البيئة ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1.
  • على نظام التشغيل macOS، يتوفّر الإصداران SSE 4.1 و4.2 من تطبيق ضيف Android.
  • على نظام التشغيل macOS، تم تفعيل INVTSC تلقائيًا. يمكن أن يحسن ذلك دقة قياسات الوقت من الضيف.
  • نتتبّع الآن لوحة التحكّم الموسّعة التي اختارها المستخدِم في المقاييس.
  • يستخدم محاكي Linux الآن ساعة KVM شبه افتراضية عندما يكون إصدار نواة الضيف >= 5.4 (صور نظام R أو إصدار أحدث).
  • يستخدم المحاكي الآن LZ4 لفك ضغط نواة الضيف، ما يجعله متوافقًا مع مسار النواة الحديث.
  • تمت إضافة أوامر وحدة التحكم للحصول على دليل AVD للمحاكي، ومسار ملف الاكتشاف في حالة الاستخدام المضمَّنة في Studio، ومسار اللقطات:

    adb emu avd path # Obtains path to AVD directory
    adb emu avd discoverypath # Obtains path to discovery file
    adb emu avd snapshotspath # Obtains path to snapshots folder
    adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
    
  • لتسهيل توفير مساحة الشاشة العمودية، أضفنا خيارًا لإخفاء إطار الجهاز لـ AVD الحالي في عناصر التحكّم الموسَّعة > الإعدادات. لإخفاء إطارات الأجهزة لجميع متوسّطات مدة المشاهدة (AVD)، وفّرنا علامة الميزة NoDeviceFrame التي يمكن تفعيلها من خلال تشغيل المحاكي من سطر الأوامر باستخدام إطار -feature NoDevice، أو لإقفاله عن طريق إضافة NoDeviceFrame = on إلى ~/.android/advancedFeatures.ini (يمكنك إنشاء هذا الملف إذا لم يكن متوفّرًا).

  • تمّت إضافة عنصر منسدل في صفحة شبكة الجوّال لتفعيل ميزة قياس حصة القراءة وإيقافها. هذا الإجراء لا يمكن استخدامه لصور النظام القديمة التي لا تتيح خيار تبديل مقياس شبكة الجيل الخامس.

    • تمت أيضًا إضافة الأمر الخاص بوحدة التحكّم للغرض نفسه: gsm meter on|off.
  • ترقية سلسلة الأدوات / الإصدار إلى C++17

إصلاحات: المحاكي المضمن

  • من المفترض أن تعمل الحافظة الآن.
  • تم إصلاح مشكلة تسليم الأحرف الكبيرة كأحرف صغيرة في المحاكي.
  • تم إصلاح مشكلة تحميل الرمز المميّز لوحدة التحكّم من مسار يونيكود في النوافذ.
  • تم إصلاح رسالة خطأ SO_REUSEPORT على نظام التشغيل Linux.
  • تم إصلاح مشكلة تلف اللقطة عند إرسال أوامر لقطات من خلال gRPC، وكذلك عند الضغط على زر حفظ اللقطة في المحاكي المُضمَّن في "استوديو Android".
  • عند استخدام محاكي Linux المضمّن في "استوديو YouTube"، تبيّن لنا أنّه إذا تم إجراء ذلك من خلال تطبيق "سطح المكتب البعيد من Chrome"، سيظهر خطأ عدم ضبط XDG_RUNTIME_DIR وقد يؤدي إلى تعذُّر ظهور المحاكي المُضمَّن بسبب وضع ملفات استكشاف المحاكي في XDG_RUNTIME_DIR. يمكنك التحقق من حالة المشكلة المناظرة في أداة تتبع مشكلات Chrome.

    وكحل بديل، يعود المحاكي الآن إلى استخدام ملفات الاكتشاف في دليل قد يكون مختلفًا يعتمد على المعرّف الفريد للمستخدم: /run/user/&lt;uid>.

  • المحاكي المضمَّن: تغيّر الأجهزة ذات الزوايا أو الزوايا الدائرية تصميمها بشكل صحيح لتوفير مساحة للزوايا والفتحات. وهذا يتطلب تمهيدًا باردًا من تلك المحاكيات.

  • تتيح نقطة نهاية gRPC الآن إرسال رسائل قصيرة SMS إلى الجهاز.

إصلاحات عامة

  • واجهنا مشاكل تتعلّق بالتوافق عند تشغيل محاكي Windows مع تفعيل Riot Vanguard. يرصد محاكي Windows الآن برامج مكافحة الغش في Vanguard وتظهر رسالة تحذيرية في حال رصد لعبة Vanguard.
  • تم إصلاح خطأ FD_SETSIZE على نظام التشغيل Windows. ونستخدم الآن WSAEventSelect() بدلاً من select() لإنشاء اتصالات لا تؤدي إلى حظر الوصول إلى خوادم الاسترجاع.
  • تمت إضافة دعم ميزة F16C CPUID إلى محاكي Linux مع إصلاحات المشاكل المتعلقة بتشغيل بعض تطبيقات ARM64 من خلال ترجمة NDK، مع العلم أنّ العمل على نظام التشغيل macOS/Windows قيد التقدم.
  • تم إصلاح مشكلة تشغيل مسار gpx/kml بحيث يتوافق مع الطوابع الزمنية.
  • رمز الارتداد الثابت عند تشغيله في نظام التشغيل MacO
  • إذا كانت hw.audioInput=no وhw.audioOutput=no في config.ini، فسيتم الآن إيقاف صوت المحاكي بشكل صحيح.
  • تم حل مشكلة استمرار ظهور نافذة المحاكي عند تغيير حجم نافذة المحاكي إذا تم تصغير نافذة المحاكي وكانت نافذة عناصر التحكم الموسعة مفتوحة ولكنها غير نشطة. سنزيل السلوك تمامًا (الحالة التي تتضمّن نافذة عناصر تحكُّم موسّعة نشطة) في تحديث مستقبلي.
  • تم إصلاح خطأ غير مستقر حيث لم يتم الاتصال بشبكة Wi-Fi عند بدء تشغيل المحاكي.
  • تم إصلاح الانتظار عند مغادرة المحاكي عندما يصدر المحاكي أوامر واجهة المستخدم ذات المهلات الطويلة أو غير المحددة.
  • تم تحديث BIOS باستخدام إصلاحات لإتاحة الصور الكبيرة التي تم تمريرها إلى -initrd بشكل أفضل، وكان نظام BIOS السابق يستخدم طريقة غير فعالة للغاية.
  • تم إصلاح التعطُّل أثناء الإنهاء عند استخدام خيار "-wifi-server-port".
  • يعرض المحاكي الآن تحذيرًا في حال ضبط الخيارات غير المتوافقة إلى -prop (تتوفّر أدوات qemu.* فقط).
  • عند إنشاء المحاكي على Windows، تقل احتمالية حدوث إخفاقات غير مستقرة في الكتابة إلى الملفات. لمزيد من المعلومات، يُرجى الاطّلاع على تعليمات إصدار Windows.
  • تم إيقاف زر التكبير/التصغير لأجهزة AVD القابلة للطي، ما أدى إلى حدوث مشاكل.
  • يُبلغ المحاكي الآن بشكل صحيح عن وقت التشغيل الناتج عن إعادة تشغيل الجهاز.
  • نظام التشغيل Linux: في حال عدم وجود أذونات كافية لوحدة KVM، يعمل المحاكي الآن على طباعة إرشادات تصحيح الأخطاء بسرعة أكبر.
  • تم إصلاح مشكلة تعذّر على المحاكي تشغيل صور النظام الحديثة بدون تسريع.
  • تم إصلاح تلف الذاكرة أو تعطُّلها عند البدء من أداة رصد اكتمل تشغيل الجهاز.
  • تم إصلاح مشكلة تسرُّب الذاكرة خلال جلسات التسجيل على شاشة طويلة.
  • تم تعديل رموز المحاكي لتعكس العلامة التجارية للإصدار 4.1 من "استوديو YouTube".
  • تم توفير دعم أفضل لرصد الجلسات عن بُعد على نظام التشغيل Windows.

الحلول: فك ترميز الرسومات والفيديوهات

  • تم إصلاح مشكلة عرض أحدث لعبة Asphalt 9 على شاشة سوداء.
  • تمت إزالة المحتوى غير المرغوب فيه بشأن مسح المخزن المؤقت الذي تم ربطه باستخدام NULL.
  • تم إصلاح حالة السباق عند هدم ولاية Vulkan عند خروج ضيف Vulkan من تطبيق.
  • يتم الآن تخزين أدوات تظليل المحاكاة Vulkan ASTC/ETC2 في مكتبة libOpenglRender. سيكون هذا أكثر موثوقية مقابل القراءة من نظام الملفات.
  • تم إصلاح مشكلة في Vulkan كانت تسبب تشغيلاً باستخدام مثيل Vulkan 1.0 على المضيف، وكان vkGetImageMemoryRequirements2KHR يمحو الحقل pNext في بنية VkMemoryRequirements2 التي تم عرضها بشكل غير صحيح.
  • تم إصلاح تسرّب الذاكرة في عارض Vulkan.
  • تم إصلاح انحدار حديث تعذّر فيه تجميع أدوات التظليل GLSL ES 1.00 بأسماء متغيّرات مثل isampler2D.
  • تم تحديث أداة الترجمة الخاصة بتظليل ANGLE لتشمل إصلاحات مختلفة لمعالجة الإخفاقات المحتملة في تجميع أدوات التظليل على Linux.
  • ونعطل المحاكي الآن في حالة فشل تجميع أداة تظليل الإطارات ذات التعتيم الخفيف الأساسية من أجل تتبع الظاهرة.
  • تم تعديل أداة الترجمة لتظليل ANGLE لتتناسب مع محرِّك ANGLE الرئيسي. وقد أدى ذلك إلى إصلاح مشكلة تتعلق بتلف الذاكرة عند ترجمة مظلات OpenGL ES القابلة للطي الثابتة والتي تستخدم مصفوفات غير مربعة. أصبح مترجم أداة التظليل الآن مكتبة مشتركة منفصلة، libshadertranslator.dll.
  • تم إصلاح مشكلة في إعداد Vulkan على بعض برامج تشغيل وحدة معالجة الرسومات، حيث لم يتم العثور على بعض وظائف الجهاز 1.1.
  • فولكان: لقد عدنا إلى استخدام أداة التحميل المُعَدة مسبقًا لتفضيل أداة تحميل Vulkan للنظام التي تسبّبت في حدوث مشاكل في بعض عمليات الإعداد، وسنتوصّل إلى حلّ أفضل.
  • تم إصلاح المشكلة عند استخدام ذاكرة Vulkan الخارجية التي كان من الممكن استيرادها فهارس أنواع الذاكرة غير المتطابقة على المضيف.
  • تم إصلاح مشكلة محاكاة GL_ALIASED_POINT_SIZE_RANGE حيث لم يكن التعداد متاحًا على المضيف.
  • تم إصلاح مشكلة تعذّر تجميع برامج تظليل 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" والأجهزة الافتراضية التي يتم فيها تفعيل "وضع النافذة الحرة" تلقائيًا.

تشغيل المحاكي في "استوديو Android"

يمكن الآن تشغيل محاكي Android مباشرةً في "استوديو Android". يمكنك استخدام هذه الميزة للحفاظ على مساحة الشاشة والتنقل بسرعة بين المحاكي ونافذة المحرّر باستخدام مفاتيح التشغيل السريع، ولتنظيم بيئة بيئة التطوير المتكاملة والمحاكي في نافذة تطبيق واحدة.

وضع النافذة الحرة

يمكنك الآن إنشاء متوسّط مدة المشاهدة (AVD) وتفعيل وضع النافذة الحرة من خلال اختيار ملف تعريف الجهاز اللوحي (مقاس 13.5 بوصة) باستخدام "وضع حرّ الشكل" عند إنشاء جهاز افتراضي في "استوديو Android". يتطلب الملف الشخصي للجهاز هذا صورة نظام تعمل بالإصدار 3 من "معاينة المطور لنظام Android" الإصدار 3 أو الإصدارات الأحدث.

المشاكل المعروفة

يتعذّر حاليًا تغيير حجم النوافذ الحرة بسبب حدوث مشاكل في نقل التركيز إلى "مدير النوافذ". ستتم معالجة ذلك في إصدار مستقبلي للصور من نظام Android 11.

30.0.0 (19 شباط (فبراير) 2020)

يتضمّن هذا التحديث صور نظام Android 11 (المستوى 30 لواجهة برمجة التطبيقات) وتحسينًا في الأداء عند تشغيل قيم ثنائية من ARM.

صور نظام Android 11

يمكنك الآن إنشاء متوسّط مدة مشاهدة (AVD) يعمل بنظام التشغيل Android 11 من خلال اختيار إحدى صور النظام المتوفّرة من المستوى 30 لواجهة برمجة التطبيقات:

  • x86: يتضمّن كلاً من واجهات التطبيق الثنائية (ABI) من نوع x86 وARMv7.
  • x86_64: يتضمّن واجهات التطبيق الثنائية (ABI) x86 وx86_64 وARMv7 وARM64 ABI.

دعم البرامج الثنائية التي تتضمّن معالجات ARM في صور نظام التشغيل Android 9 وAndroid 11

إذا لم تتمكّن من استخدام "محاكي Android" في السابق لأنّ تطبيقك يعتمد على برامج ثنائية ARM، يمكنك الآن استخدام نسخة نظام Android 9 x86 أو أي نسخة من نظام Android 11 لتشغيل تطبيقك. لم يعُد من الضروري تنزيل صورة نظام محدّدة لتشغيل ثنائيات ARM الثنائية. تتوافق صور نظامَي التشغيل Android 9 وAndroid 11 هذه مع ARM بشكل تلقائي وتحسّن الأداء بشكل كبير مقارنةً بتلك التي تستخدم محاكاة كاملة لمعالجات ARM.

المشاكل المعروفة

  • يتعذّر تشغيل بعض ثنائيات ARMv7 على صور النظام بنظامي التشغيل Android 11 x 86 وx86_64. ننصحك بالتفكير في تطوير ARM64 عند استهداف نظام التشغيل Android 11.

29.0.11 (29 أيار (مايو) 2019)

يتضمّن هذا التحديث التحسينات والإصلاحات التالية:

  • نظام التشغيل Windows: يعتمد المحاكي الآن على مكتبة الربط الديناميكي الخاصة بـ libgcc والتي ننشرها بدلاً من تجميعها باستخدام libgcc بشكل ثابت.
  • نظام التشغيل Linux: تمت إضافة دعم Logcat إلى واجهة برمجة التطبيقات gRPC API. لمزيد من المعلومات حول gRPC، يمكنك الاطّلاع على محاكي البث gRPC (نظام التشغيل Linux).
  • يتضمّن المحاكي الآن إصدارًا بلا واجهة مستخدم رسومية لضيوف 32 بت x86 (qemu-system-i386). تتيح هذه الميزة تشغيل الصور بحجم 32 بت × 86 للمستويات 26 من واجهة برمجة التطبيقات والمستويات الأدنى مع الإصدار بلا واجهة مستخدم رسومية. لاحظ أنه بالنسبة إلى المدعوين الذين يستخدمون الإصدار 32 بت x86 من خلال واجهة برمجة التطبيقات 27 أو الإصدارات الأحدث، يستخدم المحاكي محرّك 64 بت (qemu-system-x86_64) لأنه في صور النظام هذه، في حين تكون مساحة المستخدم 32 بت، تكون النواة على 64 بت. ويستخدم "استوديو Android" النواة لاختيار محركات المحاكاة.
  • يمكنك الآن تحديد مسارات مكتبة Qt المخصّصة باستخدام متغيّر البيئة ANDROID_QT_LIB_PATH.
  • يمكنك الآن تشغيل المحاكي مع برامج ثنائية سابقة تستخدم QEMU1 إذا تم وضع الملفات التنفيذية QEMU1 (emulator[64]-[x86|arm|etc]) في دليل المحاكي.
  • نظام التشغيل Windows: تم إصلاح مشكلة قد تؤدي أحيانًا إلى تعذُّر بدء المحاكي برسالة "طلب إيقاف وحدة المعالجة المركزية الافتراضية".
  • تم إصلاح مشكلة تتعلق بحاجز غير ضروري لمسار الأنابيب في الزخارف المضغوطة التي تمت محاكاتها في Vulkan.
  • تم إصلاح خطأ كان يحدث في طلبات الخادم الوكيل لـ 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 و32 بت. إذا كنت تستخدم Windows 32 بت، فلا يمكنك الترقية إلى الإصدار 29.0.6.

متطلبات صور نظام Android Q

إذا أردت تشغيل AVD يستخدم نسخة من نظام Android Q، يجب الآن استخدام الإصدار 29.0.6 (إصدار الإصدار هذا) أو الإصدارات الأحدث.

تحسينات على مشروع Marble

يواصل هذا التحديث عملنا على مبادرة مشروع Marble التي تم الإعلان عنها في مؤتمر Android Developer Summit في تشرين الثاني (نوفمبر) 2018. للحصول على مزيد من المعلومات حول تحسينات Project Marble الأخرى في الإصدارات السابقة، يمكنك الاطّلاع على محاكي Android: تحسينات مشروع Marble.

في هذا التحديث، ركّزنا معظم الجهود التي نبذلها في Project Marble على الحد من استخدام موارد المحاكي، مثل تقليل استخدام وحدة المعالجة المركزية (CPU) للمحاكي أثناء عدم استخدام الجهاز. حرصنا أيضًا على تضمين تغييرات تسهّل التعامل مع المحاكي في مجموعة واسعة من البيئات، كما عالجنا المشاكل العامة المتعلقة بالجودة.

تصف الأقسام التالية تحسينات مشروع الرخام التي تم تضمينها مع هذا التحديث:

تحسينات على سلوك الصوت المضيف

بدءًا من الإصدار 28.0.3، يحظر المحاكي إدخال الصوت تلقائيًا من المضيف.

إذا أردت استخدام البيانات الصوتية للمضيف، يمكنك تفعيل هذا الخيار من خلال الانتقال إلى عناصر التحكّم الموسَّعة > الميكروفون وتفعيل الميكروفون الافتراضي الذي يستخدم إدخال صوت المضيف. ويتم إيقاف هذا الخيار تلقائيًا عند إعادة تشغيل المحاكي.

إذا كنت تستخدم سطر الأوامر، يمكنك أيضًا تفعيل إعدادات الصوت المضيف باستخدام خيار -allow-host-audio، ويمكنك استخدام طلبات ADB التالية لتفعيل البيانات الصوتية للمضيف أو إيقافها، على التوالي:

  • adb emu avd hostmicon
  • adb emu avd hostmicoff

تحسينات على إصدارات المحاكي بلا واجهة مستخدم رسومية

بدءًا من الإصدار 28.0.25، يتضمّن المحاكي خيار إنشاء بلا واجهة مستخدم رسومية يمكن تشغيله بدون واجهة المستخدم. يمكنك استخدام الإصدارات بلا واجهة مستخدم رسومية لمساعدتك في إعداد المحاكي لسير عمل Docker وسير عمل التكامل المستمر (CI).

من خلال هذا التحديث، أجرينا المزيد من التحسينات للسماح بتشغيل المحاكي بحد أدنى من عدد الاعتماديات. أمّا على نظام التشغيل Linux، فلم تعُد الإصدارات بلا واجهة مستخدم رسومية تتضمّن مكتبات 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 إلى الإصدار 5.12 LTS

يتضمّن هذا التحديث التحسينات التالية من إصدار Qt 5.12 LTS:

  • لتجنُّب حدوث أعطال في فك ترميز libpng في Qt عند بدء صور نظام معيّنة، يستخدم المحاكي الآن نسخته الخاصة من libpng لفك ترميز صور PNG.
  • لمعالجة مشاكل بعض عمليات التثبيت في Linux التي تحتوي على إصدارات غير متوافقة من بعض المكتبات التابعة لـ Qt، نعمل الآن على حزم libfreetype وlibsoftokn وlibsqlite3 وlibxkbcommon باستخدام المحاكي.
  • يستخدم المحاكي الآن مكتبات النوافذ الأصلية للنظام الأساسي للحصول على أبعاد المراقبة، بدلاً من استخدام مكتبات Qt التي عرضت نتائج غير موثوق بها.

تحسينات تلقائية لوحدة المعالجة المركزية (CPU) بعد التشغيل على البارد

لمعالجة استخدام وحدة المعالجة المركزية، يشغِّل المحاكي الآن أوامر ADB التالية على تشغيل البارد بعد تلقّي إشارة boot complete:

adb shell settings put screen_off_timeout 214783647
يؤدي هذا الأمر إلى زيادة مهلة إيقاف الشاشة بحيث يمكن استخدام المحاكي في وضع البطارية بدون شحن. في وضع البطارية، يقل استخدام وحدة المعالجة المركزية في الخلفية بشكل كبير.
في وضع شحن التيار المتردد، يمكن لعمليات GMSCore في الخلفية، مثل تحديثات التطبيقات، التحكم في جميع نوى وحدة المعالجة المركزية للجهاز، وبالتالي جهاز المستخدم، بدون أي تحذير.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
يؤدي هذا الأمر إلى إبطال أذونات استخدام الميكروفون لتطبيق "بحث Google"، ما يقلل إلى حد كبير من استخدام وحدة المعالجة المركزية (CPU) في الخلفية على الشاشة الرئيسية وفي مشغّل التطبيقات عندما يكون تطبيق "بحث Google" مفعَّلاً.
يتم تشغيل هذا الأمر بالإضافة إلى السلوك التلقائي للمحاكي، والمتمثل في إيقاف صوت المضيف لدى المضيف. علاوةً على ذلك، يوفّر ذلك تلقائيًا الحدّ من استخدام وحدة المعالجة المركزية (CPU) الموضَّح من أجل اكتشاف الكلمة المفتاح من الإصدار 28.0.23.

متغيرات بيئة جديدة لمراقبة الأداء

يمكنك الآن استخدام متغيرين جديدين للبيئة لتمكين المراقبة التفصيلية لأداء المحاكي واستخدام الموارد.

SHOW_PERF_STATS=1
يتيح متغيّر البيئة هذا تتبُّع استخدام كل من وحدة المعالجة المركزية (CPU) وذاكرة الوصول العشوائي (RAM). يؤدي تتبُّع استخدام ذاكرة الوصول العشوائي (RAM) إلى التمييز بين استخدام الرسومات وإجمالي سعة الذاكرة المتوفّرة.
ANDROID_EMU_TRACING=1
يتيح متغيّر البيئة هذا الطباعة في كل مرة تستغرق فيها عملية إدخال أو رسومات وقتًا طويلاً (أطول من 1 ملي ثانية).
نستخدم أيضًا متغيّر البيئة هذا للمساعدة في تشخيص المشاكل التي واجهها مستخدمو نظام التشغيل Windows بمعدّل أكبر من الأعطال (اللقطات المتساقطة) مقارنةً بما يواجهه المستخدمون على نظام التشغيل macOS أو Linux.

تحسينات عامة على مشروع Marble

كما يتضمن هذا التحديث التحسينات العامة التالية والتي تعد جزءًا من مبادرة مشروع الرخام:

  • يمكنك الآن إيقاف جميع وحدات المعالجة المركزية الافتراضية مؤقتًا على الفور في المحاكي من خلال تنفيذ الأوامر التالية في وحدة التحكّم:
    • adb emu avd pause
    • adb emu avd resume
  • تم تقليل النفقات العامة لرسم OpenGL بشكل كبير. ويقلل هذا التحسين من استخدام وحدة المعالجة المركزية أثناء تشغيل المحاكي للرسوم المتحركة.
  • تمت استعادة التوافق مع جهاز الشبكة الافتراضية e1000 التابع لشركة QEMU. يمكنك استخدام هذا الجهاز لإعداد المحاكي في بيئة شبكة ذات جسر. في بيئة الشبكة المدمجة، يتم عرض المحاكي على الشبكة المضيفة وتظهر الشبكة المضيفة على المحاكي.
  • يتم الآن استخدام ثنائيات BIOS المناسبة لـ QEMU 2.12 لبدء تشغيل المحاكي.
  • تمت ترقية الإصدار ffmpeg إلى 3.4.5 لترميز الفيديوهات وفك ترميزها.
  • تم تقليل النفقات العامة التي يتم فرضها على مؤتمر QEMU ذي الحلقة الرئيسية I/O على نظام التشغيل macOS، وذلك من خلال استبدال الحلقة الرئيسية المستندة إلى select() بحلقة رئيسية تستند إلى kqueue.
  • تمت زيادة حجم ذاكرة التخزين المؤقت لـ Logcat إلى 2 ميغابايت لمعالجة المشاكل المتعلقة بأخطاء EOF غير المتوقعة عند تشغيل أداة Logcat باستخدام المحاكي.
  • يصدِّر المحاكي الآن متغيّر بيئة LC_ALL=C تلقائيًا. يعالج هذا التغيير الأعطال ومشاكل عدم التوافق المرتبطة بتشغيل المحاكي بلغات مختلفة.
  • يمكنك الآن تتبُّع استخدام وحدة المعالجة المركزية (CPU) وذاكرة الوصول العشوائي (RAM) الخاصة بالمحاكي باستخدام إحصاءات الأداء التي يمكنك الوصول إليها من خلال عناصر التحكّم الموسَّعة > الإعدادات > الإعدادات المتقدّمة > إحصاءات الأداء. استخدم هذه الإحصائيات لتشخيص المشكلات بسرعة إذا بدا أن المحاكي يستخدم وحدة معالجة مركزية (CPU) أو ذاكرة وصول عشوائي (RAM) كثيرة جدًا.
  • يستخدم glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE الآن نتيجة وحدة معالجة الرسومات المضيفين بدلاً من نتيجة تمت محاكاتها. ويساعد هذا التغيير في حلّ المشاكل التي تمنع ظهور الصور ومواد العرض بسبب تنسيقها غير الملائم للقراءة.
  • تمت إتاحة إضافات OpenGL ES GL_EXT_texture_format_BGRA8888 وGL_APPLE_texture_format_BGRA8888 في حال كان المضيف متوافقًا مع هاتَين الإضافتَين.
  • تمت إضافة المزيد من معلومات التشخيص إلى واجهة مستخدم Bugreport. بالإضافة إلى ذلك، يمكنك الوصول إلى تقارير الأخطاء من وحدة التحكّم باستخدام الطلبات التالية:
    • telnet localhost 5554
    • avd bugreport
  • على صور نظام Android Q، يزيد المحاكي الحد الأدنى لحجم ذاكرة الوصول العشوائي إلى 2 غيغابايت.
  • تمت إضافة المزيد من التسجيل والطباعة كلما تعذّر تشغيل OpenGL أو برنامج Hypervisor (مراقب الأجهزة الظاهرية).
  • إذا لم يتمكّن المحاكي من تشغيل مثيل -read-only متزامن لـ AVD، يحاول المحاكي الآن إعادة تشغيل AVD -read-only 3 مرات إضافية خلال 3 ثوانٍ. يزيد هذا التغيير من احتمالية أن يتمكّن المحاكي من تشغيل متوسّط مدة المشاهدة لمثيلات -read-only متزامنة مع AVD في حال عدم حذف أي مثيلات أخرى قابلة للكتابة من هذه الحالات لإزالة الملفات القديمة.
  • بالنسبة إلى صور النظام القادمة، أصبح المحاكي متوافقًا الآن مع الإصدار 2.0 من Device Composer. من المفترض أن يؤدي هذا التغيير إلى خفض أعباء برنامج التشغيل عند تشغيل معظم الرسوم المتحركة.
  • ويعتمد إصدار المحاكي الآن على CMake/Ninja.
  • في واجهة مستخدم عناصر التحكم الموسعة للمحاكي، تمت استعادة خطوط الفواصل في جدول اختصارات لوحة المفاتيح.
  • يمكن للمستخدمين الآن الموافقة على تزويد فريقنا بمقاييس استخدام وحدة المعالجة المركزية (CPU) وذاكرة الوصول العشوائي (RAM) خلال مهلة تبلغ 10 ثوانٍ. نستخدم هذه المقاييس لإثراء بياناتنا حول استخدام موارد المحاكي مع حالات استخدام مختلفة من مستخدمينا، ما يتيح لنا جعل المحاكي أكثر كفاءة واستجابة.

إصلاحات عامة لمشروع الرخام

يتضمن هذا التحديث أيضًا الإصلاحات العامة التالية والتي تعد جزءًا من مبادرة مشروع Marble:

  • تم إصلاح مشاكل تغيُّر الإطارات الخاطئة واللقطات التي كانت تُعرض على الأنظمة المزوّدة بوحدات معالجة رسومات من Intel عند استخدام صور نظام Android Q.
  • تم إصلاح المشكلات التي كانت تظهر فيها شاشة سوداء عند استخدام صور نظام Android Q مع مظاهر Pixel 2 XL (أو أي سطح به ثقوب أو زوايا مستديرة).
  • تم إصلاح المشكلة المتمثلة في عدم ضبط خيار سطر الأوامر -partition-size لحجم قسم البيانات.
  • تم إصلاح مشكلة دفق النبضات الصوتية على محاكي Linx وشغلها في بعض المواقف وشغل نواة وحدة المعالجة المركزية بالكامل.
  • تم إصلاح مشكلات الوصول إلى الذاكرة خارج الحدود عند معالجة الزخارف المضغوطة.
  • تم إصلاح أخطاء GL التي حدثت على المضيف في glTexSubImage2D عند تحديث بعض المخازن المؤقتة gralloc (بتنسيق RGB 565 وRGB10A2 وRGB(A)16F).
  • تم إصلاح مشكلة في العرض في صور نظام Android Q مع لقطات حيث يتم عرض الشكل الهندسي لمركز الإشعارات باستخدام إعداد قاسم مثيل غير مناسب.
  • تم إصلاح بعض مشكلات الأعطال وتجميدها التي يصعب تكرارها عند الإطلاق والتي حدثت بسبب فقدان إشارات Qt أو وجود حالات غير مستقرة وغير متسقة عند بدء التشغيل.
  • تم إصلاح العديد من مشاكل التزامن. أصبح بإمكاننا الآن تصميم محاكي Linux باستخدام ThreadSanitizer (TSAN)، والذي يمكنه اكتشاف الأخطاء التي يصعب إعادة إنتاجها بخلاف ذلك.
  • بالنسبة إلى مستخدمي Linux: لقد وجدنا أنه في بعض نواات المضيف، قد يحدث خطأ لنواة Android الضيف والخروج منها في KVM إذا حدث خطأ عام في الجهاز. سيستخدم المحاكي الآن abort() عند حدوث ذلك لزيادة إمكانية تصحيح الأخطاء (كان المحاكي معلَّقًا في السابق).
  • بالنسبة إلى مستخدمي Linux: لتسهيل عمليات إعداد CI، يمكنك استخدام خيار سطر الأوامر الجديد -stdouterr-file <file-name> لإعادة توجيه كل من stdout وstderr إلى ملف.
  • تم إصلاح مشكلة كانت تتعلّق باستخدام SO_REUSEADDR بشكل غير صحيح. لمزيد من المعلومات، يُرجى الاطّلاع على تفاصيل الالتزام.
  • تم إصلاح مشكلة لطالما واجهتها في محاكي Windows والتي تسببت في تعذُّر بدء العمليات الفرعية، مثل أوامر ADB، إذا كان اسم المستخدم يحتوي على مسافات.
  • تم إصلاح مشكلة عدم توفُّر إعداد RCU في سلاسل وحدة المعالجة المركزية الافتراضية HAXM. يمكن أن يعالج هذا الإصلاح بعض الأعطال وحالات السباق.
  • تم إصلاح العطل الذي حدث مع أنماط معينة لحفظ لقطات وتحميلها من واجهة مستخدم اللقطات باستخدام صور نظام Android Q الحديثة.
  • تم إصلاح مشكلة كانت تكون كاميرا المشهد الافتراضية فارغة عند إعداد المحاكي من لقطة في حال تشغيل وحدة ماكرو الواقع المعزّز عند حفظ تلك اللقطة.
  • تم إصلاح مشكلة ظهور شاشة سوداء لبعض المستخدمين الذين لديهم عمليات إعداد سطح مكتب بعيد عند تشغيل المحاكي على نظام التشغيل Linux. ولتجنب ذلك، يضبط المحاكي الآن MESA_RGB_VISUAL بشكل صريح. لمزيد من المعلومات، يُرجى الاطّلاع على تفاصيل الالتزام.
  • تم إصلاح مشكلة تتعلق بظهور أزرار التدوير على AVD على التلفزيون.
  • تم إصلاح مشكلة كانت تظهر في كل مرة يتم فيها تدوير المحاكي، وذلك في حالة تعيين المحاكي دائمًا في المقدمة.

الملفات الشخصية للأجهزة القابلة للطي

يتضمّن المحاكي الآن ملفات شخصية للأجهزة القابلة للطي. لاستخدام هذه الملفات الشخصية الجديدة للأجهزة، يجب استخدام الإصدار Android Studio 3.5 Canary 10 أو إصدار أحدث.

يتوفّر ملفان شخصيان للأجهزة القابلة للطي يمكنك استخدامهما لإنشاء متوسّط مدة المشاهدة:

  • شاشة قابلة للطي مقاس 7.3 بوصة: 1536×2152 غير مطوية، مقاس 4.6 بوصة، 840×1960 مطوية
  • جهاز قابل للطي مقاس 8 بوصات: 2200×2480 غير مطوي، 6.6 بوصة مطوي 1480×2480

وعند تشغيل المحاكي باستخدام أحد الملفات الشخصية للأجهزة، يمكنك طي الجهاز وفتحه باستخدام إجراءات الطي والفتح في شريط أدوات المحاكي أو أوامر وحدة التحكم أو اختصارات لوحة المفاتيح التالية:

  • طي: Ctrl + F (Command + F على نظام التشغيل macOS)
  • فتح: Ctrl + U (Command + U على نظام التشغيل macOS)

وحدات ماكرو الواقع المعزّز

يتضمّن المحاكي الآن وحدات ماكرو للواقع المعزّز يمكن أن تساعدك في اختبار إجراءات الواقع المعزّز الشائعة. على سبيل المثال، يمكنك استخدام وحدة ماكرو لإعادة ضبط جميع أجهزة استشعار الجهاز إلى حالتها التلقائية.

لمزيد من المعلومات، يُرجى الاطّلاع على اختبار إجراءات الواقع المعزّز الشائعة باستخدام وحدات الماكرو.

دعم Vulkan (لأنظمة التشغيل Windows وLinux)

يمكن لمستخدمي Windows وLinux الآن اختبار تطبيقات Vulkan باستخدام محاكي Android حتى الإصدار 1.1 من Vulkan عند استخدام نسخة نظام متوافقة (الإصدار التجريبي من Android Q الإصدار 3 أو الإصدارات الأحدث مع Vulkan 1.1 وAndroid Q التجريبية 2 لنظام Vulkan 1.0) ووحدة معالجة رسومات متوافقة للمضيف (يشمل ذلك معظم وحدات معالجة الرسومات من Intel وNVIDIA وAMD من العام 2014 والإصدارات الأحدث).

لإتاحة استخدام Vulkan، يجب إضافة علامات الميزات التالية إلى ملف ~/.android/advancedFeatures.ini (إنشاء الملف إذا لم يكن متوفّرًا):

  • Vulkan = on
  • GLDirectMem = on

الدعم الأولي لمطوّري برامج ROM

يمكن الآن لمطوّري برامج ROM الذين ينشئون أهداف sdk_phone_x86 أو sdk_phone_x86_64 (userdebug أو eng متغيرًا) في فرع AOSP master تشغيل محاكي متوافق مع Vulkan.

لا يزال هذا الدعم في المرحلة التجريبية، وهو مخصّص بشكل أساسي للمطوّرين الذين يعملون على صور النظام وبرامج التشغيل ومحركات الألعاب. العديد من الإضافات لا تزال مفقودة. مع ذلك، إنّ ذاكرة HOST_COHERENT متوافقة، ومن المفترض أن يكون بإمكانك الآن تشغيل Vulkan API Tutorial Samples.

إذا كنت تستخدم 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

إنّ وحدات معالجة الرسومات NVIDIA وAMD التي تتوافق مع Vulkan تتيح أيضًا إمكانية التشغيل التفاعلي بدون نسخ مع OpenGL من خلال الإضافة GL_EXT_memory_objects. يستفيد المحاكي من هذه الإمكانية لتقديم طريقة كاملة لعرض واجهة المستخدم على Android باستخدام واجهات برمجة تطبيقات Skia Vulkan.

إذا كانت لديك وحدة معالجة رسومات NVIDIA أو AMD تتوافق مع Vulkan، استخدِم الأوامر التالية لاختبار عرض Skia باستخدام صورة نظام متوافقة (الإصدار التجريبي 3 والإصدارات الأحدث من Android Q):

adb shell
su
setprop debug.hwui.renderer skiavk
stop
start

دعم نظام التشغيل macOS لـ Vulkan

لا يزال التوافق مع نظام التشغيل macOS تجريبيًا، ولكن المحاكي يتضمّن حاليًا واجهات برمجة التطبيقات Swiftshader وMoltenVK وlibportability (gfx-rs). يمكنك تجربة واجهات برمجة التطبيقات هذه عن طريق إعداد متغيرات البيئة التالية:

  • رمز Swiftshader: ANDROID_EMU_VK_ICD=swiftshader
  • MoltenVK: ANDROID_EMU_VK_ICD=moltenvk
  • قابلية النقل: ANDROID_EMU_VK_ICD=portability

المشاكل المعروفة

قد يتعذّر على HAXM أحيانًا ربط ذاكرة Vulkan المتماسكة بالضيف وإيقاف المحاكي. تم تناول ذلك في تحديث HAXM القادم.

محاكي البث gRPC (نظام التشغيل Linux)

نحاول دائمًا جعل المحاكي متعدد الاستخدامات قدر الإمكان من خلال السماح بمضيف وحدة معالجة الرسومات والتفاعل معها في أوسع نطاق من سياقات التشغيل. يواجه مستخدمو CI وأجهزة سطح المكتب البعيد المشاكل التالية منذ فترة طويلة:

  • يتضمّن إرسال أوامر الإدخال آليًا إلى المحاكي إما تشغيل أوامر واجهة أوامر adb التي قد تتكبّد عبء زائد أو استخدام وحدة تحكُّم telnet وهي أسرع، ولكنّها قد لا تعمل مع إعدادات معيّنة للشبكة.
  • غالبًا ما يشغّل مستخدمو CI مُحاكيات بلا واجهة مستخدم رسومية، ما قد يصعّب ملاحظة المشاكل التي تتطلب أن تكون الشاشة مرئية أو تفاعلية.
  • لا يستطيع مستخدمو سطح المكتب البعيد غالبًا التفاعل مع المحاكي عند استخدام عرض وحدة معالجة الرسومات للمضيف لأن عرض وحدة معالجة الرسومات غالبًا ما يرتبط بالشاشات غير الافتراضية للمضيف.

لمعالجة هذه المشكلة، عند التشغيل على جهاز يعمل بنظام التشغيل Linux، يقدّم المحاكي الآن خدمة gRPC. إنّ gRPC هو إطار عمل عام لاستدعاء إجراء عن بُعد (RPC) يعمل عبر HTTP.

تكون خدمة gRPC للمحاكي غير مفعّلة تلقائيًا، ولكن يمكنك تفعيل الخدمة باستخدام خيار سطر الأوامر التالي، حيث يكون <port> هو المنفذ الذي يجب أن يقدّم المحاكي طلبات gRPC فيه (عادةً 5556):

-grpc <port>

بمجرد بدء الخدمة، يمكن بعد ذلك إصدار أوامر gRPC من البرامج العميلة. تسمح مجموعة الأوامر الحالية بإرسال أحداث الإدخال وتلقّي لقطات شاشة. تساعد هذه الأوامر في معالجة المشكلات التالية:

  • يمكن إرسال أوامر الإدخال إلى المحاكي مع خفض النفقات العامة على HTTP. يتيح HTTP أيضًا إرسال الأوامر في تهيئات إضافية للشبكة.
  • يمكن إرسال أوامر لقطات الشاشة للاستعلام عن الشاشة الحالية، حتى إذا كان المحاكي يعمل بلا واجهة مستخدم رسومية. بالنسبة إلى التفاعل، يمكن أيضًا إرسال أحداث الإدخال إلى المحاكي.
  • يمكن لمستخدمي سطح المكتب البعيد تشغيل المحاكي بلا واجهة مستخدم رسومية على الشاشة الرئيسية مع العرض المسرّع من خلال وحدة معالجة الرسومات مع استخدام خوارزمية gRPC للحصول على لقطات شاشة وإرسال أحداث الإدخال من أجل التفاعل مع المحاكي.

للحصول على قائمة كاملة بالأوامر المتاحة، راجِع هذا النموذج الأوّلي.

لمساعدتك في البدء باستخدام gRPC، نقدّم بعض نماذج العملاء التي يمكنك الرجوع إليها.

حاليًا، يتضمن ذلك النماذج التالية:

  • خدمة تستند إلى Go ويمكن استخدامها لطلب حالات المحاكي.
  • أحد تطبيقات React الذي يوضح التفاعل عن بُعد من خلال لقطة شاشة وإدخال RPC. يتطلب هذا النموذج الإصدار 3.7.0 من Protobuf أو إصدارًا أحدث.
  • يشير ذلك المصطلح إلى عيّنة من لغة Python ترسل طلبات بحث إلى إعدادات الجهاز الافتراضي الخاصة بالمحاكي ثم ترسل سلسلة من الأوامر.

28.0.25 (29 آذار (مارس) 2019)

يتضمّن هذا التحديث التحسينات والإصلاحات التالية:

إصدار محاكي بلا واجهة مستخدم رسومية

كان من الصعب إعداد المحاكي مع Docker ومهام سير عمل التكامل المستمر (CI) الآخر بسبب التوقعات الضمنية بشأن قدرة النظام على دعم Qt إلى جانب تبعيات المكتبة المشتركة (من بين مشاكل أخرى).

كخطوة أولى لمعالجة هذا الأمر، قدّمنا صيغة أخرى من مشغّل المحاكي مع ملفات تنفيذية لـ QEMU لا تعتمد على Qt. على نظام التشغيل Linux، لا يزال هناك رابط يؤدي إلى libX11، ولكننا نأمل أن نزيل هذا الرابط في أقرب وقت.

لاستخدام المحاكي بلا واجهة مستخدم رسومية، عليك تشغيل المحاكي من سطر الأوامر كالعادة، ولكن مع استبدال الاستدعاء الثنائي للمحاكي باستخدام emulator-headless. لمزيد من المعلومات، يُرجى الاطّلاع على تحديث الإصدار 28.1.8 Canary.

  • تم إصلاح قلب العجلة وعرض إطار غير صحيح على وحدات معالجة الرسومات من Intel عند تشغيل صور نظام Android Q.
  • تم إصلاح مشكلات ظهور الشاشة السوداء عند استخدام صور نظام Android Q مع مظاهر Pixel 2 XL.
  • يتم الآن استخدام أحدث ثنائيات BIOS لتشغيل المحاكي. يساعد هذا التغيير في الحدّ من أخطاء "طلب إيقاف وحدة المعالجة المركزية الافتراضية" التي تحدث أحيانًا عند تشغيل المحاكي على نظام التشغيل Windows.
  • تمت إعادة إصلاح مشكلة"العرض الخاطئ عند استئناف صور نظام Android Q من لقطة".
  • كان المستخدمون يواجهون مشاكل في أدوات المحاكاة"غير المصرّح بها" بسبب تغيير غير متوافق في ADB في الإصدار 28.0.2 من أدوات النظام الأساسي. يمكنك الآن استخدام ADB بأمان من الإصدار 28.0.2 من أدوات النظام الأساسية باستخدام المحاكي. إذا كنت تواجه مشاكل مع أدوات المحاكاة "غير المعتمَدة"، اتّبِع الخطوات التالية لتحديد المشاكل وحلّها:
    1. اخرج من جميع أدوات المحاكاة.
    2. احذف ~/.android/adbkey و~/.android/adbkey.pub على حد سواء.
    3. شغِّل الأمر التالي: adb kill-server
    4. شغِّل الأمر التالي: adb devices
    5. امسح بيانات متوسّط مدة المشاهدة.
    6. أعِد تشغيل المحاكي.

28.0.23 (29 كانون الثاني/يناير 2019)

يتضمّن هذا التحديث التحسينات والإصلاحات التالية:

تم إيقاف إدخال صوت المضيف تلقائيًا.

أوضحنا مشاركة حديثة على Reddit حول الطريقة التي يستخدم بها الضيف دائمًا صوت الميكروفون المضيف، وبالتالي تسمح بتشغيل عبارة "Ok Google" بشكل غير متوقّع. نأسف لذلك وسنعمل مع فريق Android للتأكد من تعطيل اكتشاف الكلمة المفتاح في صورة النظام أيضًا.

ولمعالجة هذه المشكلة، أجرينا التغييرات التالية:

  • يتم الآن ضغط بيانات الصوت الفعلية للمضيف بشكل تلقائي. عندما يستخدم الضيف الميكروفون، يختفي كتم الصوت بدلاً من صوت المضيف.
  • إذا أردت استخدام البيانات الصوتية للمضيف، يمكنك الآن تفعيل هذا الخيار من خلال الانتقال إلى عناصر التحكّم الموسَّعة > الميكروفون وتفعيل الميكروفون الافتراضي يستخدم إدخال صوت المضيف. ويتم إيقاف هذا الخيار تلقائيًا عند إعادة تشغيل المحاكي.

إشعارات حول التحقيقات في استخدام وحدة المعالجة المركزية (CPU)

أثناء تحقيقاتنا في Project Marble، لاحظنا أنّ الاستخدام المرتفع لوحدة المعالجة المركزية (CPU) في المحاكي يندرج بشكل عام ضمن الفئات الثلاث التالية:

في وضع عدم النشاط: تحديثات التطبيقات التلقائية في صور "متجر Play"

لقد تبيّن لنا أنّه يتم تحديث جميع التطبيقات المُثبَّتة في فترات زمنية عشوائية، حتى عندما لا يكون المستخدم مسجّلاً الدخول. أثناء هذه العملية، يعتمد استخدام وحدة المعالجة المركزية على عدد النوى × 100% (عادةً ما يكون %400 تقريبًا) في GMSCore وdex2oat. يمكنك التخفيف من حدة هذه المشكلة عن طريق تعطيل التحديثات التلقائية للتطبيقات في تطبيق متجر Play.

في وضع عدم النشاط: اكتشاف الكلمة المفتاح

عند استخدام الشاشة الرئيسية وبدون تشغيل أي تطبيق في المقدمة، قد تجد عرضًا رائعًا لاستخدام وحدة المعالجة المركزية (حوالي 25% مع ارتفاعات إلى 50%). يحدث هذا عن اكتشاف الكلمة المفتاح التي ترسل أداة اختبار الاتصال باستمرار للمضيف. لا يمكنك الحد من هذه المشكلة عن طريق إيقاف إدخال صوت المضيف لأن تكلفة وحدة المعالجة المركزية تنتج بشكل أساسي عن الوقت الذي يستغرقه الانتقال إلى الضيف من المضيف. ومع ذلك، يمكنك التخفيف من حدة هذه المشكلة عن طريق إبطال أذونات الميكروفون من تطبيق Google.

أثناء النشاط، وفي بعض الأحيان في وضع الخمول: الصور المتحركة

المصدر الثالث لاستخدام وحدة المعالجة المركزية العالي هو الرسوم المتحركة. لقد وجدنا أنه من خلال تحسين حزمة برنامج تشغيل الرسومات يمكننا أيضًا تقليل استخدام وحدة المعالجة المركزية (CPU) حتى عندما لا يكون المحاكي في وضع الخمول. وسنطرح تحسينات برامج تشغيل الرسومات بشكل متزايد كجزء من مشروع Marble.

28.0.22 (21 كانون الأول/ديسمبر 2018)

يتضمّن هذا التحديث التحسينات والإصلاحات التالية:

  • تم إصلاح مشكلة عالقة تتمثل في إعادة تشغيل محاكي Mac في بعض الإعدادات أو في حالة ذعر النواة عند حفظ Quickboot. (المشكلة 120951634)
  • عند استخدام ملف مرتبط كلقطة لذاكرة الوصول العشوائي (RAM)، يلغي المحاكي الآن ربط الملفات بشكل صريح عند الخروج.

28.0.20 (11 كانون الأول/ديسمبر 2018)

يتضمّن هذا التحديث التحسينات والإصلاحات التالية:

  • تم إصلاح مشكلة في نظام التشغيل Windows تسبّبت في توقّف المحاكي عند تحميل اللقطات في بعض النماذج من وحدات معالجة الرسومات من Intel.
  • تم إصلاح مشكلة تسببت في حالة جهاز unauthorized ADB عند استخدام موقع ANDROID_SDK_HOME غير عادي.
  • تم إصلاح مشكلة تسببت في تعطُّل المحاكي عند تشغيل صور النظام مع إيقاف تسريع وحدة المعالجة المركزية (CPU).
  • تم إصلاح مشكلة عرض المحاكي المتقطّع. من المفترض أن يعمل تقليل العيّنات الآن.
  • تم إصلاح مشكلة في الإصدار 10.14 من نظام التشغيل macOS أو الإصدارات الأحدث، وقد أصبح عنصر التحكّم في مظهر الماوس في الكاميرا الافتراضية حساسًا جدًا بسبب التفاعل مع إعدادات الأمان الجديدة لتسهيل الاستخدام.
  • تم إصلاح خطأ في حساب المنطقة الزمنية يمكن أن يتسبب في تغيير ساعة المحاكي بشكل متقطع.
  • تم إصلاح أخطاء العرض في العديد من تطبيقات محرك cocos2d وUnreal.
  • تمت إضافة دعم خدمة شبكة Wi-Fi من نظير إلى نظير في المحاكي. يمكن الآن لمحاكين التحدث مع بعضهما البعض مباشرةً عبر شبكة Wi-Fi في حالة استخدام أحدث صور من متجر Google Play. لاستخدام شبكة الند للند في شبكة Wi-Fi، عليك بدء متوسّطتَي متوسّط مدة المشاهدة باستخدام الوسيطتَين -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)

يتضمّن هذا التحديث العديد من الميزات الجديدة وتحسينات على الميزات الحالية وإصلاحات للأخطاء.

استخدام الموارد

يستخدم المحاكي الآن ذاكرة وصول عشوائي أقل بشكل عام، خاصةً عند استخدام صور النظام بالمستوى 28 من واجهة برمجة التطبيقات أو المستويات الأعلى. تتضمن صور النظام هذه استخدامًا محسّنًا للذاكرة لبرامج تشغيل الرسومات من جانب الضيف.

بالإضافة إلى ذلك، أدخلنا تحسينات أيضًا على استخدام الموارد في المجالات التالية:

  • تقليل استخدام ذاكرة المحاكي أثناء إجراء الاختبارات الطويلة الأمد إذا كنت لا تزال تواجه مشاكل في استخدام الذاكرة أثناء إجراء اختبارات طويلة الأمد، يُرجى إنشاء مشكلة تصف حالة استخدامك في أداة تتبُّع المشاكل.
  • انخفاض استخدام وحدة المعالجة المركزية (CPU) عند تشغيل تطبيقات تحتوي على صور متحركة
  • تم إصلاح مشكلة تسرُّب سياق QEMU AIO على نظام التشغيل Windows.

تشغيل نُسخ متعددة من متوسّط مدة مشاهدة واحدة بشكل متزامن

يمكنك الآن تشغيل مثيلات متعددة من متوسّط مدة المشاهدة نفسه وتشغيلها في آنٍ واحد. إنّ المثيلات التي يتم تشغيلها بعد المثيل الأول هي للقراءة فقط ويتم تجاهل تغييراتها على القرص الافتراضي الضيف عند الخروج.

لتشغيل نُسخ متعددة من متوسّط مدة المشاهدة نفسه في الوقت نفسه، عليك تشغيل أي مثيلات بعد المثيل الأول من سطر الأوامر باستخدام العلامة -read-only.

وقد أصبحت هذه الميزة ممكنة عن طريق نسخ ملفات QCOW2 المرتبطة بالأجزاء القابلة للكتابة من صورة Android. لمساعدتك في إدارة مساحة القرص، جمعنا أيضًا أداة سطر الأوامر qemu-img للسماح لك بالالتزام المسبق بملفات QCOW2 قبل تشغيل مثيلات متعددة.

بالإضافة إلى ذلك، عند استخدام هذه المثيلات جنبًا إلى جنب مع ميزة لقطات من ذاكرة الوصول العشوائي للضيوف المستندة إلى ملفات ، تشارك مثيلات AVD المتعددة لقطة AVD Quickboot الرئيسية كمصدر شائع لذاكرة الوصول العشوائي (RAM) للنسخ عند الكتابة لدى الضيوف. تعني هذه السمة أنّ المثيلات الأخرى تشترك في القدر نفسه من ذاكرة الوصول العشوائي. استخدِم هذه الميزة لإجراء الاختبارات التي تتطلب تشغيل أجهزة متعددة في الوقت نفسه.

نحن نقدّر ملاحظاتك حول حالات الاستخدام المحتملة التي تشكّل جزءًا من سير العمل التفاعلي أو CI. يُرجى إنشاء المشاكل أو التصويت المؤيّد عليها في أداة تتبُّع المشاكل.

لقطات من ذاكرة الوصول العشوائي (RAM) لجلسات الضيوف

من خلال التخصيص المسبق لذاكرة الوصول العشوائي للضيوف وربطها كملف، يمكن للمحاكي الآن حفظ لقطات Quickboot أثناء وقت التشغيل، بدلاً من القيام بكل الأعمال عند الخروج. إذا كنت تواجه وقتًا طويلاً في توفير الوقت عند إغلاق أدوات المحاكاة، يمكنك تفعيل هذه الميزة لتحسين أداء Quickboot. وبشكل افتراضي، يتم حفظ لقطة Quickboot عند الخروج وتحميلها مرة أخرى في كل مرة، مثل تعليق جهاز حقيقي وتنشيطه.

بما أنّ ذاكرة الوصول العشوائي لضيف Android يتم حاليًا حفظها تلقائيًا بشكل تلقائي، فإذا أردت تحديد حالة الجهاز وتحميل المحتوى بشكل متكرّر من هذه الحالة، يجب إعلام المحاكي بتجاهل التغييرات بعد كل جلسة. يمكنك إجراء ذلك بالطرق التالية:

  • استخدِم العلامتَين -no-snapshot-save أو -read-only عند تشغيل المحاكي من سطر الأوامر.
  • انتقِل إلى عناصر التحكم الموسَّعة > اللقطات > الإعدادات وبدِّل الحالة الحالية الحفظ التلقائي إلى Quickboot؟ إلى لا.
  • ويجب إعادة تشغيل المحاكي بعد تحديد هذا الخيار. إذا تم ضبط المحاكي على الحفظ التلقائي، يمكنك تشغيل الأمر التالي لضبط نقطة مرجعية:
    adb emu avd snapshot remap 0
    
    بعد تشغيل هذا الأمر، ستظل لقطة Quickboot المحاكي عند هذه النقطة. قم بتشغيل نفس الأمر مرة أخرى لتحميل المحاكي من نقطة التحقق لديك.

اللقطات التي تم أخذها وتحميلها من خلال وظيفة واجهة المستخدم "Snapshots" (اللقطات) كما كانت من قبل، بدون تعيين ملفات.

ولأنّ هذا التغيير كبير في طريقة عمل Quickboot، يسعدنا كثيرًا تقديم ملاحظاتك حول ما إذا كان يحسّن أداء Quickboot، ونوع المشاكل التي تواجهها عند استخدامه. إذا واجهت مشاكل، يمكنك إيقاف هذه الميزة من خلال إضافة السطر التالي إلى ملف ~/.android/advancedFeatures.ini:

QuickbootFileBacked = off

عند بدء المحاكي من لقطة (إما باستخدام خيار سطر الأوامر -snapshot أو التشغيل من لقطة في مدير AVD)، يوقف المحاكي الحفظ التلقائي للقطات Quickboot وحفظ لقطات Quickboot عند الخروج. ويقلل هذا من فرص استبدال لقطة Quickboot بدون قصد، ويتجنّب المسارات الاحتياطية البطيئة التي لا تستخدم لقطات Quickboot متوافقة مع الملفات.

الإصدار 2.12 من QEMU

لقد أعدنا تصميم متغير QEMU من QEMU 2.9 إلى QEMU 2.12. يشمل هذا التحديث التغييرات التالية في QEMU:

في ما يلي بعض التغييرات المهمة التي تؤثر في محاكي Android:

  • x86: توفّر "gdbstub" الآن إمكانية الوصول إلى سجلّات SSE.
  • صور القرص: تتم إضافة قفل الصور وتفعيله تلقائيًا. لا يمكن لعمليات متعددة QEMU الكتابة إلى الصورة نفسها طالما أنّ المضيف يدعم OFD أو قفل posix، ما لم يتم تحديد خيارات أخرى.
  • تتيح السمة qemu-img: qemu-img resize التخصيص المسبق للأجزاء الجديدة من الصورة.
  • أصبح تقليص QCOW2 الآن متاحًا في qemu وqemu-img.

تسهيل الاستخدام

  • تم إصلاح مشكلات برامج قراءة الشاشة وإضافة دعم أفضل لهذه الأدوات في واجهة المستخدم الخاصة بكل من تسجيل الشاشة واللقطة.
  • جعل رموز إشعارات التشغيل السريع أكثر سهولة بالنسبة للمستخدمين المصابين بعمى الألوان.

الرسومات

  • تم إصلاح مشكلة الوصول إلى الذاكرة خارج الحدود التي يمكن أن تحدث لمؤشرات صفيفة OpenGL ES.
  • لم تكن بعض وحدات معالجة الرسومات القديمة متوافقة مع OpenGL 2.1 أو الإصدارات الأحدث (المطلوب)، أو واجهت مشاكل أخرى متعلّقة بالموثوقية. قد تتسبب هذه المشاكل في تعطُّل المحاكي عند بدء تشغيله أو توقفه عن العمل أو تعذُّر استخدامه في إعدادات وحدة معالجة الرسومات التلقائية. ينتقل المحاكي الآن تلقائيًا إلى عارض Swiftshader إذا اكتشف أنّ وحدات معالجة الرسومات هذه قيد الاستخدام.
  • تم إصلاح مشكلة تسبّبت في عدم نشر المحاكي المخزن المؤقت الصحيح للإطارات في حال ربط FBO != 0 في وقت eglSwapBuffers.
  • تم إصلاح مشكلة عدم ظهور شاشة Android الافتراضية إلا في الزاوية العلوية اليمنى. ونعتقد أنّ هذا الأمر يرجع إلى متغيّرات بيئة Qt التي تم ضبطها بشكلٍ غير سليم. يتجاوز المحاكي الآن جميع متغيرات البيئة المتعلقة بتحجيم Qt.
  • تم إصلاح مشكلة تعطل المحاكي في بعض المواقف عند تحميل تطبيقات GLES1 من لقطة.
  • تم إصلاح مشاكل التزامن في OpenGL وإطلاق سلاسل العرض التي قد تؤدي إلى إخلاء مضاعف أو بيانات تالفة.
  • يتيح "محاكي Android" الآن استخدام تركيبة ASTC LDR المضغوطة (GL_KHR_texture_compression_astc_ldr) لصور النظام التي تستخدم المستوى 28 من واجهة برمجة التطبيقات أو المستويات الأعلى.
  • من المفترض أن تتمكن معظم وحدات معالجة الرسومات الحديثة من تشغيل المحاكي مع تفعيل OpenGL ES 3.x تلقائيًا بدون استخدام علامة الميزة GLESDynamicVersion.
  • تم إيقاف ميزة "-gpu guest" نهائيًا (عرض البرامج في وضع الضيف). يتم الآن تحويل صور النظام للمستوى 28 من واجهة برمجة التطبيقات أو المستويات الأعلى تلقائيًا إلى استخدام Swiftshader بدلاً من ذلك (-gpu swiftshader_indirect).
  • إذا تم تشغيل المحاكي من سطر الأوامر باستخدام علامة -no-window، سيصبح العارض التلقائي الآن هو Swiftshader.

الموقع الجغرافي

  • يمكن للمحاكي الآن تحديث الاتجاه مع موضع خط العرض وخط الطول. يضبط المستشعر الافتراضي لمقياس المغناطيسية نفسه ديناميكيًا للشمال المغناطيسي عن طريق استنتاج الحركة عند تشغيل ملف GPX أو KML.
  • يمكن الآن ضبط سرعة الجهاز في صفحة "الموقع الجغرافي".
  • عند تشغيل ملف GPX أو KML، يتم ضبط السرعة تلقائيًا على صفر عند انتهاء التشغيل.
  • لم يعد الارتفاع يقتصر على ما بين -1,000 و+10,000 متر.
  • تم إصلاح مشكلة عدم إمكانية تعديل الموقع الجغرافي الافتراضي لنظام تحديد المواقع العالمي (GPS) بشكل دوري ما لم يتم فتح نافذة "عناصر التحكّم الموسَّعة" مرة واحدة على الأقل.

الكاميرا

على نظام التشغيل Windows، يتوفر الآن المزيد من كاميرات الويب لأنّ المحاكي يغيّر حجم إطارات الكاميرا التي يتم عرضها من كاميرا الويب ديناميكيًا. وتمنع هذه الميزة أيضًا الأخطاء في عرض الإطار من التسبب في تعليق المحاكي.

متجر Play

لمعالجة المشاكل المتعلّقة بنفاد مساحة القرص على صور "متجر Play"، يغيّر المحاكي الآن حجم قسم بيانات المستخدمين تلقائيًا إلى 6 غيغابايت عند التشغيل باستخدام متوسّط مدة المشاهدة جديد في "متجر Play".

إصلاحات وتحسينات عامة على الجودة

  • أبلغ بعض المستخدمين أنّ المحاكي يعمل ببطء. حددنا سببًا واحدًا محتملاً حيث ينتهي الدليل المؤقت للمحاكي بعدد كبير جدًا من الملفات القديمة بداخله. وكحل بديل، لم يعد المحاكي يخزن ملفات التحقق من مدى الحياة في ADB في هذا الدليل. ومع ذلك، قد يكون من المفيد أيضًا حذف محتوى هذا المجلد. يقع المجلد في أحد المواقع التالية، بناءً على نظام التشغيل:
    • نظام التشغيل Windows: C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
    • macOS أو Linux: /tmp/android-<username>/*
  • إذا تعذر بدء المحاكي بسبب عدم كفاية ذاكرة الوصول العشوائي الخالية، فسيتم عرض رسالة خطأ. إذا كنت تستخدم نظام التشغيل Windows ولاحظت وجود ذاكرة وصول عشوائي (RAM) ولكن لا تزال غير قادر على بدء تشغيل المحاكي، فمن المحتمل أنه تم تجاوز رسوم الإتمام. للحصول على مساعدة بشأن هذه المشكلة، يمكنك الاطّلاع على صفحة تحديد المشاكل وحلّها في المحاكي.
  • يؤدّي خيار سطر الأوامر -sysdir الآن إلى إلغاء دليل صور النظام المستنتَج بشكل صحيح.
  • يتيح المودم الافتراضي الآن عرض طلب البحث +MAI عن معلومات نشاط النموذج.
  • تم إصلاح العديد من المشاكل المتعلقة بتسرّب الذاكرة وتلف الذاكرة واستخدام وحدة المعالجة المركزية (CPU). إذا واجهت أعطالاً أو تسرُّبًا للذاكرة أو استخدام موارد كثيرة أخرى، يُرجى إنشاء مشكلة في أداة تتبُّع المشاكل.
  • تم إصلاح مشكلة ظهرت مرة أخرى على نظام التشغيل macOS 10.14، والتي كانت تؤدي إلى خفض مستوى الصوت في جميع أنحاء العالم عند استخدام سمّاعات الرأس التي تعمل بالبلوتوث مع المحاكي. لمنع حدوث ذلك، يتجنّب المحاكي الآن استخدام صوت البلوتوث عند التشغيل على نظام التشغيل macOS. (المشكلة 37070892)
  • تم إصلاح مشكلة على نظام التشغيل Windows عدم ظهور ساعة المحاكي في المنطقة الزمنية الصحيحة.
  • تم إصلاح بطء المحاكي ويتم تعليقه على أنظمة Linux مع محركات الأقراص الثابتة الدوارة (محركات الأقراص الثابتة).
  • تم إصلاح بعض تحذيرات التجميع التي قد تؤدي إلى تلف تسلسل استدعاء الدوال البرمجية على نظام التشغيل macOS.
  • تم إصلاح المشاكل التي قد تؤدي إلى إبلاغات مضللة عن التعليق.
  • تم إصلاح مشكلة تتعلّق بإتلاف مجموعات سلاسل المحادثات التي قد تؤدي إلى تعطُّل إذا لم يتم إنشاء إحدى سلاسل المحادثات بنجاح.
  • تم إصلاح مشكلة على نظام التشغيل macOS أصبحت المؤقتات غير موثوقة، ما يؤدي إلى توقف الجهاز وظهور سلوكيات غريبة أخرى. إذا واجهتك مشكلة تعليق المحاكي على نظام التشغيل macOS، يُرجى إنشاء مشكلة في أداة تتبُّع المشاكل.
  • تم إصلاح مشكلة تسبب إغلاق المحاكي في إيقاف واجهة المستخدم، بدون إغلاق المحاكي.
  • تم إصلاح المشاكل التي تتضمن أعطالاً متقطعة، بما في ذلك إلغاء عملية إعادة التشغيل بسبب فتح مثيلات كثيرة جدًا من /dev/urandom.
  • تم إصلاح مشكلة تسببت في تعذُّر تشغيل المحاكي بعد المرة الأولى في حال إغلاق ADB بقوة.
  • تمت إزالة إصدار MIPS. إذا كنت لا تزال بحاجة إلى نظام MIPS، يُرجى إنشاء مشكلة في أداة تتبُّع المشاكل.
  • تم إصلاح مشكلة احتمالية تلف اتصالات 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" الذي يعمل على نظام التشغيل Windows. سنطرح خطة انتقالية قبل الإزالة ونهاية دورة حياة إصدار 32 بت من Android Emulator. ومع ذلك، نسعى جاهدين إلى الحصول على أي ملاحظات أو استفسارات بشأن هذا التغيير المستقبلي.

يُرجى إخبارنا في أداة تتبُّع المشاكل إذا كنت تعتمد في الوقت الحالي على إصدار 32 بت من محاكي Android الذي يعمل على نظام التشغيل Windows وأخبِرنا عن أفضل الطرق للتعاون معك من الآن فصاعدًا.

27.3.10 (آب (أغسطس) 2018)

يتضمّن هذا التحديث إصلاح الخطأ التالي:

إصلاح ضبط حجم ذاكرة الوصول العشوائي

أبلغ بعض المستخدمين أنّ المحاكي يعمل ببطء. نتواصل معك لإعلامك بأنّه تم تحديد حجم ذاكرة الوصول العشوائي لـ AVD في ملف config.ini الخاص بـ AVD بشكل غير صحيح.

وللتخفيف من حدة هذه المشكلة، يزيد المحاكي الحد الأدنى لمستوى ذاكرة الوصول العشوائي للصور التي تستخدم المستوى 26 من واجهة برمجة التطبيقات أو أعلى إلى المستوى التلقائي في "استوديو Android" وهو 1536 ميغابايت. إذا كان ملف config.ini الخاص بـ AVD لا يعرض hw.ramSize بالميغابايت، يُرجى الإبلاغ عن المشكلة في أداة تتبُّع المشاكل. يمكنك العثور على ملف config.ini في الموقع التالي:

~/.android/avd/<avdname>.avd/config.ini

27.3.9 (تموز (يوليو) 2018)

يتضمّن هذا التحديث التحسينات التالية وإصلاحات الأخطاء:

رسائل الخطأ المحسّنة لنظام Windows Hypervisor Platform

واجه بعض المستخدمين صعوبة في تشخيص سبب تعذّر إعداد Windows Hypervisor Platform (WHPX) عند تفعيل محاكي WHPX. لمساعدتك في تشخيص هذه المشكلات، أضفنا المزيد من رسائل الخطأ الإعلامية. ويمكنك تفعيل رسائل الخطأ هذه من خلال تشغيل المحاكي من سطر الأوامر باستخدام علامة -verbose.

إصلاحات عامة

  • تم إصلاح أخطاء OpenGL التي تحدث عند تحميل لقطة في تطبيق الكاميرا.

27.3.8 (تموز (يوليو) 2018)

يتضمّن هذا التحديث العديد من الميزات الجديدة وتحسينات على الميزات الحالية وإصلاحات للأخطاء.

اللقطات

يمكنك الآن حفظ لقطات متعددة لـ AVD لإعداد جهاز محدد واختيار اللقطات المحفوظة التي سيتم تحميلها عند بدء تشغيل المحاكي.

بدءًا من الإصدار 3.2 Canary من "استوديو YouTube" الإصدار 13، ستشمل كل عملية ضبط عنصر تحكّم في الإعدادات المتقدّمة ضمن مربّع حوار "إعداد الجهاز الافتراضي" الذي يمكنك من خلاله تحديد لقطة "متوسّط مدة المشاهدة" المطلوب تحميلها عند بدء "متوسّط مدة المشاهدة".

لاستيعاب هذا التوسيع الخاص بميزات اللقطات، أضفنا فئة اللقطات إلى مربّع الحوار عناصر التحكّم الموسّعة. تحتوي هذه اللوحة الجديدة على عناصر تحكّم لحفظ لقطات AVD وتحميلها، بما في ذلك عناصر التحكّم لحفظ وتحميل لقطة التشغيل السريع التي كانت متوفّرة سابقًا في لوحة الإعدادات.

يمكنك تعديل اسم كل لقطة محفوظة ووصفها.

لمعرفة التفاصيل، يُرجى الاطّلاع على اللقطات.

معيار HAXM 7.2.0

أصبحت HAXM 7.2.0 متاحة الآن على كل القنوات.

يتضمّن هذا التحديث إصلاحات للأخطاء ودعمًا محسَّنًا للكميات الكبيرة من ذاكرة الوصول العشوائي (RAM). ومن خلال تحديث HAXM هذا وإصدار المحاكي 27.3 والإصدارات الأحدث، تُحمِّل اللقطات المحتوى إلى ذاكرة وصول عشوائي (RAM) عند الطلب بدلاً من تحميل اللقطة بالكامل عند بدء تشغيل الجهاز الافتراضي. من المفترض أن يؤدي هذا التغيير إلى تقليل الوقت اللازم لتحميل لقطة بشكل كبير.

لمعرفة التفاصيل، يُرجى الاطّلاع على ضبط تسريع الأجهزة الافتراضية.

27.2.9 (أيار (مايو) 2018)

يتضمّن هذا التحديث العديد من الميزات الجديدة وتحسينات على الميزات الحالية وإصلاحات للأخطاء.

تسجيل الشاشة

يمكنك الآن تسجيل الفيديو والصوت من محاكي Android وحفظ التسجيل في ملف WebM أو ملف GIF متحرّك.

تتوفّر عناصر التحكّم في تسجيل الشاشة ضمن علامة التبويب تسجيل الشاشة في نافذة عناصر التحكّم الإضافية.

ملاحظة: يمكنك أيضًا فتح عناصر التحكّم في تسجيل الشاشة من خلال الضغط على Control + Shift + R (Command + Shift + R في نظام التشغيل Mac).

لبدء تسجيل الشاشة، انقر على الزر بدء التسجيل في علامة التبويب تسجيل الشاشة. لإيقاف التسجيل، انقر على إيقاف التسجيل.

تتوفّر عناصر التحكّم الخاصة بتشغيل الفيديو المسجّل وحفظه في أسفل علامة التبويب تسجيل الشاشة. لحفظ الفيديو، اختَر WebM أو GIF من القائمة في أسفل علامة التبويب، وانقر على حفظ.

يمكنك أيضًا تسجيل تسجيل شاشة وحفظه من خلال المحاكي باستخدام الأمر التالي في سطر الأوامر:

adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm

لقطات الشاشة

يمكنك أخذ لقطات شاشة من سطر الأوامر بأي من الأمرين التاليين:

  • screenrecord screenshot [destination-directory]
  • adb emu screenrecord screenshot [destination-directory]

تم حفظ لقطات الشاشة بتنسيق PNG.

كاميرا المشهد الافتراضية وARCore

أصبح الآن تطوير تطبيقات الواقع المعزّز واختبارها (AR) باستخدام ARCore أكثر سهولة الآن باستخدام كاميرا المنظر الافتراضية الجديدة، التي تسمح لك بتجربة الواقع المعزّز داخل بيئة افتراضية.

للحصول على معلومات عن استخدام كاميرا المشهد الافتراضية في المحاكي، يمكنك الاطّلاع على مقالة تشغيل تطبيقات الواقع المعزّز في "محاكي Android".

صور "متجر Google Play" على أجهزة Pixel

تم تفعيل "متجر Google Play" الآن لصور أجهزة Pixel وPixel 2. ويمكنك الاطّلاع على ذلك في مدير AVD في الإصدار 3.2 من "استوديو Android" والإصدارات الأحدث منه باستخدام شعار Google Play في العمود متجر Play. تتضمّن متوسّطات مدة المشاهدة (AVD) التي تم تفعيل "متجر Google Play" عليها علامة تبويب Google Play في مربّع الحوار عناصر التحكّم الموسَّعة التي توفّر زرًا مناسبًا لتحديث "خدمات Google Play" على الجهاز.

اللقطات

يمكنك الآن تحميل لقطة شاشة "التشغيل السريع" بدون إعادة تشغيل المحاكي. لتحميل لقطة، افتح نافذة عناصر التحكم الموسَّعة للانتقال إلى صفحة الإعدادات، ثم انقر على الزر التحميل الآن.

لقد أجرينا العديد من التحسينات على تحميل اللقطات وحفظها لتحسين كفاءة استخدام الموارد وتقليل الوقت الذي تستغرقه كل عملية. إذا كنت لا تزال تواجه عمليات حفظ طويلة غير معتادة، يُرجى الإبلاغ عن مشكلة وتقديم تفاصيل عن وحدة المعالجة المركزية (CPU) وذاكرة الوصول العشوائي (RAM) وإعدادات أي برنامج لمكافحة الفيروسات / جدار حماية / أمان قيد التشغيل.

العرض باستخدام Skia

عند استخدام صور لواجهة برمجة التطبيقات 27 أو الإصدارات الأحدث، يمكن للمحاكي عرض واجهة مستخدم Android باستخدام Skia، ما يؤدي إلى عرض واجهة المستخدم بسلاسة وكفاءة أكبر.

في الوقت الحالي، يتطلب استخدام Skia تفعيله صراحةً.

لتفعيل عرض Skia، استخدِم الأوامر التالية في adb Shell:

  su
  setprop debug.hwui.renderer skiagl
  stop
  start

الكاميرا

على نظام التشغيل Windows، يستخدم Android Emulator الآن Media Foundation كواجهة خلفية لكاميرا الويب، مما يحسن كثيرًا من الأداء وعدد اللقطات في الثانية لالتقاط الصور باستخدام كاميرا الويب، وذلك بمعدل يصل إلى 720p 30 لقطة في الثانية.

على نظام التشغيل Mac، يمكنك الآن استخدام كاميرا Web0 وكاميرا الويب1 معًا.

أسئلة متنوعة

تم تغيير خيار سطر الأوامر -phone-number-prefix إلى -phone-number [number]، ما يتيح ضبط رقم الهاتف الكامل.

يمكنك الآن استخدام عناوين الرسائل القصيرة SMS الأبجدية الرقمية.

الإصلاحات

  • تم الآن إنشاء إصدار Linux من "محاكي Android" باستخدام سلسلة أدوات حديثة Clang ++. يصلح هذا التغيير مشكلة إخفاق المحاكي في البدء بسبب أخطاء libGL وlibstdc++.
  • تم إصلاح العديد من أسباب الأعطال وحالات تعطُّل التطبيق.
  • لتجنب الأعطال وحالات التعليق الناجمة عن عدم وجود مساحة خالية كافية على القرص، يتحقق المحاكي الآن من وجود مساحة خالية كافية على القرص عند بدء التشغيل، ولن يبدأ إلا إذا توفرت مساحة خالية لا تقل عن 2 غيغابايت.
  • تم إصلاح مشكلة كانت تمنع عرض بعض ألعاب Unity.
  • تم إصلاح مشكلة نظام أسماء النطاقات التي تسبَّبت في تعذُّر الاتصال بالشبكة على المحاكي.
  • تم إصلاح مشكلة تسببت في تعذُّر عمل التغييرات في وحدة التخزين الداخلية المخصّصة لـ AVD من خلال مربع حوار "إعداد الجهاز الافتراضي".
  • تم إصلاح مشكلة متعلقة بالعديد من عمليات إنشاء Adb وتعذُّر إيقافها بشكلٍ سليم.
  • تم إصلاح مشكلة تسببت في عدم استجابة أزرار التدوير وأجزاء أخرى من واجهة المستخدم ما لم تكن نافذة "عناصر التحكم الموسَّعة" مفتوحة.
  • تم إصلاح مشكلة تسببت في تعذُّر عمل النسخ واللصق من المضيف ما لم يتم فتح مربّع حوار "عناصر التحكّم الموسَّعة" مرة واحدة على الأقل.
  • تم تحديث مستطيل تغيير الحجم في المحاكي بدون إطار لمتابعة المظهر المرئي للمحاكي بشكل أفضل.
  • يتم الآن إيقاف كل من الهاتف والرسائل القصيرة SMS بشكل صحيح عند تشغيل وضع الطيران.
  • تم إصلاح مشكلة تسببت في إيقاف وظيفة الرسائل القصيرة SMS وشبكة الجوّال بعد تحميل لقطة.
  • لن تتلقّى بعد الآن رسائل تحذير خاطئة مفادها: “Unable to open... \pstore.bin. Permission denied.”.
  • تم إصلاح مشكلة كانت تمنع إعادة تحديد موضع "متوسّط مدة المشاهدة" على بعض شاشات نظام التشغيل Mac.
  • تم إصلاح المشاكل المتعلّقة بالوميض والشاشات الفارغة على أجهزة الكمبيوتر الأحدث MacBook Pro عند تشغيل AVD مع مظاهر Pixel 2 XL.
  • تم إصلاح مشكلات الشاشات الفارغة عند التبديل إلى وضع التكبير عندما كان المحاكي بدون إطارات نشطًا.
  • تم إصلاح مشكلة تسببت في تمرير سطح الجهاز ومحتوى المحاكي للخروج من المزامنة عند تكبيره.

إذا كنت لا تزال تواجه مشاكل أو حالات عدم استقرار أخرى، يُرجى الإبلاغ عن المشكلة.

27.1.12 (آذار (مارس) 2018)

يتضمّن هذا التحديث إصلاحات للمشاكل التالية:

  • انخفضت جودة صوت البلوتوث بعد بدء المحاكي. (المشكلة 37095756)
  • وتم إرسال المواقع الجغرافية التي تم إرسالها إلى محاكي واحد إلى جميع هذه الأجهزة. (المشكلة 73450633)
  • تم إلغاء تحديد الموقع الجغرافي لنظام تحديد المواقع العالمي (GPS) باستخدام وحدة التحكّم من خلال قِيم تم ضبطها باستخدام عناصر التحكّم الموسَّعة > الموقع الجغرافي في واجهة المستخدم الرسومية. (المشكلة 73471760)

إذا كنت لا تزال تواجه مشاكل أو حالات عدم استقرار أخرى، يُرجى الإبلاغ عن المشكلة.

من خلال هذا التحديث الذي يحتوي على صورة نظام حالية وإصدار معاينة من "استوديو Android"، يمكنك استخدام Android Emulator لتشغيل تطبيقات الواقع المعزّز التي تم إنشاؤها باستخدام ARCore. لمعرفة المتطلبات والتعليمات التفصيلية، يُرجى الاطّلاع على تشغيل تطبيقات الواقع المعزّز في "محاكي Android".

27.1.10 (شباط (فبراير) 2018)

  • دقة التقاط الكاميرا

    يمكن الآن التقاط اللقطات بدقة 720p من كاميرا ويب متصلة.

    للعمل مع Android 8.1 (المستوى 27 من واجهة برمجة التطبيقات) والإصدارات الأحدث من نظام التشغيل، يجب أن تتوفّر على أي كاميرا ويب مرفقة إمكانية التقاط إطارات بدقة 720p.

  • الإصلاحات

    • تم إصلاح مشكلة تسببت في التقاط صورة عبر كاميرا الويب لتُخرج أحيانًا صورة مشوهة أو خضراء بالكامل.
    • تم إصلاح مشكلة جعلت من الممكن رؤية الرسالة التالية حتى في حالة عدم وجود تعليق فعلي: "المحاكي: خطأ: اكتشف سلسلة محادثات معلقة "حدث كيو تي حلقة". لا توجد استجابة لمدة 15,000 ملي ثانية".

إذا كنت لا تزال تواجه مشاكل أو حالات عدم استقرار أخرى، يُرجى الإبلاغ عن المشكلة.

27.1.7 (شباط (فبراير) 2018)

  • نافذة المحاكي بدون إطار:

    فبشكل افتراضي، يتم الآن عرض أدوات المحاكاة التي تتضمن ملفات هيكل الجهاز بدون إطار نافذة محيط. لإظهار إطار النافذة المحيط، فعِّل عرض إطار النافذة حول الجهاز في جزء "الإعدادات" من نافذة عناصر التحكّم الموسَّعة.

  • تحسينات "التشغيل السريع" لتحسين العمل باستخدام لقطات AVD

    • يمكنك حفظ لقطة AVD في أي وقت باستخدام الزر حفظ الآن في لوحة "الإعدادات" ضمن مربّع الحوار عناصر التحكّم الموسَّعة.
    • يقلل المحاكي الوقت الذي يستغرقه حفظ لقطة في العديد من الحالات من خلال حفظ الفرق بين الحالة الحالية واللقطة السابقة فقط.

    لمعرفة التفاصيل، يُرجى الاطّلاع على مستندات التشغيل السريع.

  • تم تحديث المحاكي لاستخدام QEMU 2.9.

    تتضمن بعض التحسينات الملحوظة ما يلي:

    • تم تحسين أجهزة الإدخال والإخراج وقفل سلاسل وحدات الإدخال والإخراج من أجل تحقيق أداء أفضل.
    • تم إصلاح أخطاء منذ الإصدار QEMU الإصدار 2.8 (26.1.4).
    • تنفيذ جديد للواجهة الخلفية HAXM

    اطّلِع على القائمة الكاملة للتغييرات في سجلّ تغييرات QEMU 2.9.

  • تنفيذ Swiftshader بما يتوافق مع OpenGL ES 3.0:

    يتوافق عارض Swiftshader في المحاكي تمامًا مع OpenGL ES 3.0. للحصول على تفاصيل حول عارض Swiftshader، يُرجى الاطّلاع على قسم الإعدادات > إعدادات متقدّمة ضمن عناصر التحكّم الموسَّعة.

  • الإصلاحات

    • تم إصلاح مشكلة تعذُّر مشاركة الحافظة ما لم يتم إيقاف الخيار تفعيل مشاركة الحافظة وتفعيله.
    • تم إصلاح التعليق عند استخدام الواجهة الخلفية بطريقة عرض Swiftshader مع متوسّطات مدة المشاهدة منخفضة الدقة.

27.0.5 (كانون الثاني (يناير) 2018)

  • تم الآن إيقاف محرِّك ANGLE للعرض على نظام التشغيل Windows تلقائيًا.

    إذا كانت محرِّك ANGLE يعمل بشكل أفضل بالنسبة إليك، يمكنك إعادة تفعيله باستخدام علامة سطر الأوامر -gpu angle_indirect. أو افتح نافذة "عناصر التحكم الموسَّعة" وانتقِل إلى الإعدادات > الإعدادات المتقدمة، ثم اختَر ANGLE D3D11 لإعداد عارض OpenGL ES.

  • تم حل مشكلة عدم كتابة Shift+B حرف B كبير.

27.0.2 (كانون الأول (ديسمبر) 2017)

  • توفّر ميزة "التشغيل السريع" الجديدة أوقات بدء أسرع للمحاكي استنادًا إلى لقطة لمثيل متوسّط مدة المشاهدة.

    تكون ميزة "التشغيل السريع" مفعَّلة تلقائيًا لكل "متوسّط مدة المشاهدة". على الرغم من أنّه عند بدء تشغيل AVD للمرة الأولى، يجب أن يتم تشغيله على البارد (تمامًا كما هو الحال في تشغيل جهاز)، وتتم عمليات بدء التشغيل اللاحقة بسرعة وتتم استعادة النظام إلى الحالة التي أغلقت فيها المحاكي (مثل تنشيط الجهاز).

    إذا أردت التحكّم في وقت حفظ المحاكي للقطة، افتح نافذة عناصر التحكّم الموسَّعة في المحاكي وانقر على الإعدادات. من هنا، يمكنك تحديد أحد الإعدادات التالية لحفظ حالة التشغيل السريع عند الخروج:

    • نعم: يمكنك دائمًا حفظ لقطة التشغيل السريع عند إغلاق المحاكي. هذا هو الخيار التلقائي.
    • لا: لا تحفظ مطلقًا لقطة "التشغيل السريع"، بل عليك دائمًا إجراء تشغيل على البارد.
    • اسأل: اطلب حفظ لقطة التشغيل السريع عند إغلاق المحاكي أو لا.

    ينطبق اختيارك على متوسّط مدة المشاهدة المفتوح حاليًا فقط.

    لمعرفة مزيد من المعلومات، يُرجى الاطّلاع على مستندات "التشغيل السريع".

  • تمت إضافة دعم Mac OpenGL ES 3 (لصور النظام التي تستخدم المستوى 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" الخيارَين "*_indirect" لضبط عارض OpenGL ES في الإعدادات > الإعدادات المتقدمة.

  • إصلاحات أخطاء أخرى متنوعة.

26.1.4 (آب (أغسطس) 2017)

هذا إصدار ثانوي يحتوي على إصلاحات للأخطاء والتحسينات التالية على تهيئة وحدة معالجة الرسومات:

  • تفعيل الرسوم المتحركة عند بدء التشغيل عند التشغيل على عارض ANGLE
  • إيقاف GLES3 عند تشغيله على عارض ANGLE

26.1.3 (آب (أغسطس) 2017)

هذا إصدار ثانوي يحتوي على إصلاحات للأخطاء وتحسينات في الأداء وتغييرات بسيطة في الميزات.

  • يجب توفّر هذا الإصدار الآن لاستخدام أحدث صور نظام Android 8.0. هذه الأجهزة متوافقة مع Treble، وتتميز بأقسام vendor.img منفصلة.
  • يتوفّر الإصدار HAXM 6.2.0 الجديد الآن (يمكنك مراجعة "مدير SDK") ويتضمّن التحديثات التالية:
    • استخدام محسّن للذاكرة لم تعُد ذروة عمل الذاكرة المثبَّتة بواسطة HAXM مساوية لحجم ذاكرة الوصول العشوائي (RAM) الخاصة بـ AVD، بل تم تقسيم الذاكرة عند الطلب. فمن المفترض أن يساعد ذلك في تشغيل المحاكي بشكل أكثر موثوقية على الأجهزة التي تحتوي على مساحات أقل من ذاكرة الوصول العشوائي.
    • يمكن الآن للمحاكي مع HAXM 6.2.0 التشغيل بشكل أسرع على نظام التشغيل macOS، مما يتجاوز مرحلة الإعداد الطويلة.
  • تحسينات على ضبط وحدة معالجة الرسومات
    • تم إصلاح مشكلات الشاشة السوداء عند بدء التشغيل عند تنفيذ عرض البرنامج من جانب الضيف من خلال الرجوع إلى عرض البرامج من جهة المضيف باستخدام Swiftshader. يجب أن تتضمن أحدث مراجعات صور النظام للمستويات 19 إلى 25 من واجهة برمجة التطبيقات باستخدام Google APIs عرضًا يعمل من جهة الضيف.
    • تم إصلاح مشكلة تحويل المحاكي إلى عارض برامج بسبب اكتشاف وجود وحدات معالجة رسومات قديمة من Intel، ولكن المحاكي كان يعمل فعليًا على وحدة معالجة رسومات منفصلة. وسيتم تحديد وحدات معالجة الرسومات التي سيتم تبديلها لاستخدام عرض ANGLE أو عرض Swiftshader كما يلي:
      • تعاني وحدات معالجة الرسومات القديمة من Intel من مشكلات في برامج التشغيل في كل من برامج تشغيل OpenGL وANGLE D3D. سيستخدم المستخدمون الذين لديهم رسومات Intel HD Graphics 3xxx والإصدارات الأقدم Swiftshader.
      • أبلغ بعض المستخدمين عن عدم القدرة على استخدام صور من المستوى 25 لواجهة برمجة التطبيقات بسبب خطأ يؤدي فيه "مشغّل تطبيقات Pixel إلى التوقف عن العمل". يبدو أن هذه مشكلة في برنامج التشغيل في بعض طُرز Intel HD 4xxx. لذلك سيتم التبديل إلى استخدام محرِّك ANGLE تلقائيًا
    • للحصول على أفضل النتائج عند محاكاة وحدة معالجة الرسومات، ننصحك باستخدام وحدة معالجة رسومات منفصلة من NVIDIA أو AMD أو وحدة معالجة رسومات من Intel أحدث (Iris أو HD 5xxx أو HD 5xx/6xx).
    • تم إصلاح مشكلة تعذُّر بدء المحاكي (تعذُّر تشغيل محاكاة OpenGL ) في حال ضبط AVD على hw.gpu.mode=host وتشغيل المحاكي في برنامج على سطح المكتب البعيد.
    • تم توضيح إعدادات "مستوى واجهة برمجة التطبيقات OpenGL ES (يتطلب إعادة التشغيل)": تمت إضافة خيار للرجوع من OpenGL ES 3 إلى OpenGL ES 2 في حال مواجهة مشاكل أو الحاجة إلى إجراء اختبار على مستويات واجهات برمجة تطبيقات OpenGL ES أقل.
    • تم إيقاف عارض Mesa نهائيًا، وبالتالي سيتم الآن تبديل hw.gpu.mode=mesa تلقائيًا لاستخدام Swiftshader على المضيف.
  • التحسينات على نظام التشغيل macOS:
    • المحاكي متوافق بالكامل الآن مع نظام التشغيل macOS 10.13 High Sierra من خلال ميزة Hypervisor.Framework أو HAXM 6.2.0.
    • تم تفعيل ميزة Hypervisor.framework الآن تلقائيًا على نظام التشغيل macOS للصور بحجم 32 بت × 86، وذلك لتحسين الأداء والتوافق مع نظام التشغيل macOS. إذا واجهت مشاكل محدّدة في التطبيق، يُرجى الإبلاغ عن خطأ وإلحاق HVF = off بالعنوان ~/.android/advancedFeatures.ini (إنشاء هذا الملف إذا لم يكن متوفّرًا).
    • تم إصلاح المشاكل المتعلقة بعدم توفّر اتصال بالإنترنت أو عدم إرفاق برنامج تصحيح الأخطاء أثناء استخدام Hypervisor.framework.
    • ولتعزيز التوافق وتحسين أداء الالتقاط باستخدام كاميرا الويب، تم استبدال الالتقاط باستخدام كاميرا QTKit بكاميرا مخزّنة مؤقتًا استنادًا إلى AVFoundation.
  • تمت إضافة دعم شبكة Wi-Fi في بعض صور النظام (حاليًا المستوى 25 من واجهة برمجة التطبيقات فقط). تتوفر نقطة وصول تسمى "AndroidWifi" ويتصل بها Android تلقائيًا. ويمكن إيقاف دعم Wi-Fi من خلال تشغيل المحاكي باستخدام معلمة سطر الأوامر -feature -Wifi.
  • عبّر بعض المستخدمين عن قلقهم من أنّ الصور الثابتة الحجم في نظام "متجر Play" لا تتضمّن مساحة تخزين كافية. وبناءً على ذلك، تمت زيادة الحجم إلى 2 غيغابايت تلقائيًا (إلى أقصى من 800 ميغابايت).
  • تمت إضافة اختصار لوحة مفاتيح (Ctrl+Shift+U) لفتح صفحة واجهة المستخدم الخاصة بإعداد تقارير الأخطاء مباشرةً من صفحة الإعدادات.
  • تم إصلاح مشكلة كانت تعيق تشغيل المحاكي إذا تم ضبط أكثر من نواة واحدة، وذلك إذا كانت وحدة المعالجة المركزية (CPU) قديمة مزودة بمعالج Intel x86 EPT ولكن بدون استخدام UG.
  • تم إصلاح مشكلة اكتشاف HyperV بشكل غير صحيح إذا كان المحاكي هو نفسه في جهاز Hypervisor (مراقب Xen).
  • تم إصلاح مشكلة تعطُّل المحاكي عند البدء في بعض تهيئات Linux.

26.1.2 (تموز (يوليو) 2017)

يتضمّن هذا الإصدار ميزات جديدة وتحسينات في الأداء.

  • تمت إضافة إمكانية تحديد إعداد مخصّص لخادم وكيل HTTP في عناصر التحكّم الموسّعة (انقر على رمز المزيد ثمّ على الإعدادات والخادم الوكيل). بشكل افتراضي، يستخدم المحاكي إعدادات الخادم الوكيل HTTP في "استوديو Android"، إلا أن هذه الشاشة تتيح لك تحديد تهيئة يدوية للخادم الوكيل.

  • تمت إضافة دعم VNC إلى وحدة معالجة الرسومات لوضع الضيف حتى يمكن عرض المحاكي والتحكّم فيه عن بُعد. على سبيل المثال، يمكنك تشغيل المحاكي والسماح لـ VNC بالاستماع إلى المنفذ 5901 على النحو التالي:

    1. التنفيذ: emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
    2. افتح عارض VNC، مثل عارض البنية الثابتة، للاتصال بالمنفذ 5901.

      • لاستخدام برنامج مشاركة الشاشة المدمج في نظام التشغيل Mac، يجب إدخال كلمة مرور VNC عند تشغيل المحاكي. لتعيين كلمة مرور، استخدم هذا الأمر:

        emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdio

        أدخِل بعد ذلك change vnc password في وحدة التحكّم وأدخِل كلمة مرور.

    لا يمكن حاليًا استخدام Android O في وضع VNC.

  • تمت إضافة زر الإبلاغ عن خطأ في شاشة مساعدة عناصر التحكم الموسّعة (انقر على المزيد ، ثم انقر على مساعدة ومساعدة المحاكي). يؤدي النقر على الإبلاغ عن خطأ إلى فتح مربّع حوار حيث يمكنك الاطّلاع على تفاصيل تقرير الخطأ، مثل لقطة الشاشة ومعلومات إعداد متوسّط مدة المشاهدة وسجلّ تقرير الأخطاء. يمكنك بعد ذلك حفظ التقرير بنفسك أو الإبلاغ عن مشاكل المحاكي.

  • تمت إضافة أداة استشعار الجيروسكوب إلى أداة المحاكاة ولوحة أدوات الاستشعار الافتراضية. ويتطلب ذلك صورة نظام مع دعم الجيروسكوب (حاليًا من المستوى 24 و25 لواجهة برمجة التطبيقات).

  • تمت إضافة نظام أسماء النطاقات المفضّل للمضيف إلى قائمة نظام أسماء النطاقات Qemu على نظام التشغيل Windows، وذلك عندما تتضمّن واجهات الشبكة الافتراضية المتعددة على المضيف عناوين نظام أسماء نطاقات متعددة لا تعمل في المحاكي.

  • تمت إضافة التوافق مع الإصدار التجريبي من نظام التشغيل macOS Hypervisor.Framework لعرض الصور بحجم 32 بت × 86 على نظام التشغيل macOS 10.10 والإصدارات الأحدث من خلال علامات الخادم التي من شأنها تحسين وقت التشغيل والأداء.

    • إذا واجهت مشاكل في تشغيله، أضِف السطر HVF = off في ~/.android/advancedFeatures.ini.
  • تم تفعيل OpenGL ES 3.x الآن تلقائيًا لصور النظام ووحدات معالجة الرسومات المضيفة التي تتوافق مع OpenGL ES 3. في الوقت الحالي، لا يدعم OpenGL ES 3 سوى Android O (مستوى واجهة برمجة التطبيقات 26) ومضيفي Windows/Linux.

    • إذا واجهت مشاكل في 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)

هذا الإصدار متوافق مع المستوى 26 من واجهة برمجة التطبيقات. وتتضمّن أيضًا عددًا من تحسينات الأداء وإصلاحات الأخطاء.

مراجعة ثانوية 26.0.3 (أيار (مايو) 2017)

  • تتم إضافة علامات ميزات قابلة للتحديث على الإنترنت من أجل المعالجة السريعة للمشاكل الناتجة عن إعدادات الأجهزة المسببة للمشاكل. ويتيح ذلك لمحرّك بحث Google طرح إصلاحات وميزات تعتمد على إعدادات المستخدم من خلال تعديل العلامات من جهة الخادم. إذا لاحظت مشاكل في أجهزة معيّنة، يُرجى الإبلاغ عن خطأ لنتمكّن من التحقيق في المشكلة.
  • تمت إتاحة ميزة إدخال عبر وحدة تحكم دورانية لصور النظام من المستوى 25 لواجهة برمجة تطبيقات Android Wear API. لمحاكاة مفتاح الإدخال الدوّار على جهاز Wear OS، انقر على علامة التبويب الإدخال عبر وحدة تحكُّم دورانية في النافذة الموسّعة.
  • يمكن الآن تغيير حجم مربّع حوار "إعداد تقارير الأعطال" ولم يعُد من الممكن إعادة ضبط وقت إرسال تقارير الأعطال إلى السؤال بدون إدخال.
  • يتطلّب الآن محاكي 32 بت أن يكون الحد الأقصى لذاكرة الوصول العشوائي لـ AVD أقل من أو يساوي 512 ميغابايت، وذلك لمنع نفاد مساحة المحاكي في مساحة العنوان الافتراضي التي تبلغ 2 غيغابايت.
  • يتيح هذا الخيار استخدام المسارات المطلقة في صور المحاكي.
  • تتم إضافة علامة تبويب جديدة في النافذة الموسّعة لصور "متجر Google Play" تعرض إصدار "خدمات Play" وزرًا للبحث عن تحديثات "خدمات Play".
  • يضيف قائمة منسدلة لتحديد عارض OpenGL في صفحة "إعدادات المحاكي". إذا كنت تواجه مشاكل في برنامج تشغيل OpenGL على جهاز يعمل بنظام التشغيل Windows، جرِّب استخدام الخيارَين ANGLE (D3D11) أو ANGLE (D3D9) (يتطلب ذلك إعادة التشغيل). إذا كنت تواجه مشاكل في برنامج تشغيل OpenGL على جهاز لا يعمل بنظام التشغيل Windows، جرِّب استخدام عارض برنامج Swiftshader (يتطلب ذلك إعادة التشغيل).
  • تم إصلاح عُطل نادر عند الخروج عندما يتلقّى المحاكي الأمرين exit وminimize.
  • إصلاح مشكلة تحجيم عند تغيير الشاشات على جهاز Mac. (المشكلة 268296)
  • تم إصلاح المشكلة المتمثلة في شغل المحاكي وحدة المعالجة المركزية (CPU) بنسبة 300% ويحتفظ بها بعد استئناف الكمبيوتر المضيف من وضع السكون أو عند تشغيل المحاكي لفترة طويلة.
  • لإصلاح الأعطال عند إيقاف المحاكي

تعديلات على الإصدار 6.1.1 من HAXM (آذار (مارس) 2017)

ملاحظة: يتوفّر الإصدار 6.1.1 من HAXM لمستخدمي Mac من خلال مدير حزمة تطوير البرامج (SDK) اعتبارًا من 30 آذار (مارس)، وسيصبح متاحًا لمستخدمي Windows قريبًا.

يتوافق الإصدار 26.0.0 من محاكي Android مع الإصدار 6.1.1 من HAXM الذي يتضمّن التحديثات التالية:

  • تفعِّل هذه السياسة محاكاة وحدات مراقبة الأداء (PMU). (المشكلة 223377)
  • إصلاح التواجد مع VirtualBox و Docker على أجهزة Mac. (المشكلة 197915)
  • تتم مراجعة رسالة خطأ التثبيت التي تظهر عند إخفاق أداة التثبيت في رصد Intel VT-x على Windows، وعادةً ما يكون هذا بسبب تفعيل Hyper-V.
  • يتيح هذا التحديث إمكانية تسريع محاكي Android في جهاز افتراضي يعمل بنظام التشغيل Windows مستند إلى Hyper-V. يتطلّب هذا التحديث أن يستخدم المضيف Hyper-V (المثيل الذي يدير الجهاز الافتراضي أو الضيف على Windows) أحدث إصدار من Hyper-V مع تفعيل المحاكاة الافتراضية المدمجة. يجب إيقاف Hyper-V في مثيل Hyper-V للضيوف (الجهاز الافتراضي على Windows).

التبعيات

  • الإصدار 25.0.4 من أدوات النظام الأساسي لحزمة تطوير البرامج (SDK) لنظام التشغيل Android أو إصدار أحدث
  • الإصدار 26.0.0 أو إصدار أحدث من أدوات حزمة تطوير البرامج (SDK) لنظام التشغيل Android

ميزات جديدة وإصلاحات للأخطاء

  • متوافقة مع المستوى 26 من واجهة برمجة التطبيقات
  • متوافق تمامًا مع GLES 2.0 بما أنّ وحدة معالجة الرسومات المضيفة تحتوي على برامج تشغيل OpenGL متوافقة مع أجهزة الكمبيوتر المكتبي، يتجاوز المحاكي الآن 100% من قائمة CTS dEQP-GLES2 في نظام التشغيل Android mustpass. وقد تم طرح هذه الميزة للصور بحجم 24 × 86 من واجهة برمجة التطبيقات (الإصدار 11 والإصدارات الأحدث)، وسيتم تضمينها قريبًا في جميع صور النظام.
  • تم تحسين أداء تشغيل الفيديو. يخزِّن المحاكي الآن جميع مخازن ألوان الفيديو في الذاكرة المشتركة للمضيف أو الضيف ويُجري عملية تحويل YUV إلى نموذج أحمر أخضر أزرق في وحدة معالجة الرسومات النهائية الضرورية. من المفترض أن تكون دقة 1080p30 قريبة جدًا من معظم الأنظمة حاليًا. وقد تم طرح هذا الإصدار للصور بحجم 24 × 86 من واجهة برمجة التطبيقات (الإصدار 11 والإصدارات الأحدث)، وسيتم تضمينها قريبًا في جميع صور النظام.
  • يلغي المحاكي الآن تسجيل نفسه بشكل صحيح من القائمة adb devices عند الخروج ويغلق منافذ TCP المفتوحة على الأجهزة التي تعمل بنظام التشغيل Linux.
  • أصبحت اتصالات Adb الآن أكثر موثوقية. يتم رصد المحاكي قيد التشغيل بشكل أسرع ولا ينتقل إلى حالة "بلا اتصال بالإنترنت" أو "غير مصرح به" بعد ذلك.

25.3.0 (آذار (مارس) 2017)

وبدءًا من هذا الإصدار، سيتم إطلاق "محاكي Android" بشكل منفصل عن أدوات حزمة تطوير البرامج (SDK). يحتوي هذا الإصدار على مجموعة متنوعة من تحسينات الأداء والميزات الجديدة وإصلاحات الأخطاء.

مراجعة ثانوية 25.3.1 (آذار (مارس) 2017)

  • تم إصلاح تعطُّل يحدث في بعض إعدادات وحدة معالجة الرسومات عن طريق إيقاف GLAsyncSwap تلقائيًا. تمت إضافة هذه الميزة في الإصدار 25.3.0 لتحسين وقت عرض اللقطة واللقطات في الثانية للألعاب والفيديوهات، ولكنها تتسبب في تعذُّر عمل المحاكي على بعض إعدادات الأجهزة غير المعروفة. يمكنك تفعيل هذه الميزة يدويًا عن طريق فتح ملف android_sdk/emulator/lib/advancedFeatures.ini وضبط GLAsyncSwap = on.

التبعيات

  • الإصدار 24 من أدوات النظام الأساسي لحزمة تطوير البرامج (SDK) لنظام التشغيل Android أو إصدار أحدث
  • الإصدار 25.3.0 من أدوات حزمة تطوير البرامج (SDK) لنظام التشغيل Android.

ميزات جديدة وإصلاحات للأخطاء

  • تم تحديث محرك المحاكاة إلى الإصدار 2.7 من QEMU، بما في ذلك أحدث إصلاحات الأخطاء والأداء المحسَّن والميزات الجديدة.
  • دعم جديد لبروتوكول IPv6.
  • يستخدم المحاكي الآن SwiftShader كعارض برامج على المضيف.
  • تحسينات على أداء Android Pipe: أصبح تطبيق Android Pipe ، وهو قناة الاتصال الرئيسية بين المحاكي ونظام التشغيل Android، ترتيبًا سريعًا للسرعة، ويتميز بزمن انتقال أقل، كما يقدّم أداءً أفضل لسلاسل متعدّدة. سيؤدي ذلك إلى إجراء بعض التحسينات على أداء المحاكي، بما في ذلك:
    • تحسين سرعة الدفع/السحب عبر ADB.
    • دعم أفضل للتسريع الثلاثي الأبعاد.
    • زادت الاستجابة بشكل عام للمحاكي.
    • تم تحسين أداء الرسومات.
  • يستخدم المحاكي الآن مخازن مؤقتة من جانب وحدة معالجة الرسومات (glBindBuffer / glBufferData) عندما يطلب الضيف هذه المخزن المؤقت، ما يقلل من أعباء وحدة المعالجة المركزية في بعض التطبيقات.
  • دعم صوتي محسَّن.
  • إدخال/إخراج أسرع للقرص: يستخدم المحاكي الآن سلاسل منفصلة لنقل بيانات قرص الإدخال والإخراج، ما يؤدي إلى تقليل وقت الاستجابة وزيادة سرعة معالجة البيانات (سرعة إدخال/إخراج متسلسلة تبلغ حوالي 1.5 ضعف وسرعة إدخال/إخراج عشوائية تبلغ حوالي 5 أضعاف). ويقلِّل هذا أيضًا عدد عمليات النقل على القرص، ما يؤدي إلى انخفاض الحِمل على الجهاز.
  • يستخدم المحاكي الآن ملفات متفرقة لعمليات تشغيل القرص على الأجهزة التي تعمل بنظام التشغيل Windows، ما يزيد من تسريع عمليات بدء التشغيل وعمليات "مسح البيانات" الأولى. عند إنشاء متوسّط مدة المشاهدة أو إعادة ضبطه، يكتب المحاكي الآن بيانات تتراوح بين 100 و200 ميغابايت على القرص، بدلاً من 2 غيغابايت أو أكثر.
  • تحسينات متنوعة على واجهة المستخدم الرسومية:
    • يستخدم المحاكي الآن الإصدار Qt 5.7.0 الذي يتضمّن إصلاحات للأخطاء وتحسينات في الأداء.
    • لم تعُد عملية إعداد واجهة المستخدم تحاول تحميل جميع الملفات التنفيذية للمحاكي كمكونات إضافية Qt، لذلك أصبح الشحن أقصر بكثير، خاصةً على محركات الأقراص الثابتة.
    • أصبحت التفاعلات مع واجهة المستخدم الآن أسرع وأكثر سلاسة، بما في ذلك التدوير وتغيير حجم النوافذ وإمكانية تحميل نافذة عناصر التحكم الموسّعة وإغلاقها.