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

يتم تضمين محاكي Android في "استوديو Android".

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

للتأكد من حصولك على أحدث إصدار، يمكنك مراجعة مدير SDK للاطّلاع على التحديثات.

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

للاطّلاع على ملاحظات إصدار المحاكي للإصدار 25.3.0، يُرجى مراجعة ملاحظات إصدار "أدوات Android SDK".

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

34 أبريل 2020 (1 نيسان/أبريل 2024)

تم الاختبار باستخدام Android Studio Iguana Stable.

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

34 مارس 2024 (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 وEguana الإصدار التجريبي 1.

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

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

تم اختبار التطبيق من خلال تطبيق Android Studio Giraffe Patch 4 وقناة Hedgehog Stable.

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

29 أغسطس 2023 (32.1.15)

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

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

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

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

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

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

تم اختبار التطبيق باستخدام Android Studio Hedgehog Canary 2 وGiraffe Test 1 وFlamingo Stable.

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

21 آذار (مارس) 2023 (32 آذار/مارس 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 مارس 2022 (13 كانون الأول/ديسمبر 2022)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

31 أبريل 2022 (20 نيسان/أبريل 2022)

تم الاختبار باستخدام Android Studio Dolphin Canary 8 وChipmunk RC 1.

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

  • إضافة أداة مساعدة لتحميل دوال Vulkan بالعناصر الاحتياطية
  • [إصلاح خطأ] إصلاح خطأ إصدار gcc8

31 مارس 2022 (23 آذار/مارس 2022)

تم الاختبار باستخدام Android Studio Dolphin Canary 7.

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

  • [إصلاح الخطأ] تجاهل ضغط الذاكرة عند حفظ لقطة على M1

31 فبراير 2028 (7 شباط/فبراير 2022)

تم إجراء الاختبار باستخدام Bumblebee Patch 1 من Android Studio وتطبيق Chipmunk Canary 6.

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

  • [إصلاح خطأ] تعذُّر تسجيل الدخول إلى التطبيقات
  • [إصلاح الخطأ] المشكلة رقم 215368358: تؤدي "إعادة تشغيل adb" على نظام Intel الأساسي إلى تعطُّل avd عند حدوث "طلب إيقاف تشغيل vcpu".

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

تم إجراء الاختبار باستخدام Bumblebee Patch 1 من Android Studio وتطبيق Chipmunk Canary 6.

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

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

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

تم الاختبار باستخدام Android Studio Arctic Fox وBumblebee التجريبية 4 وSchipmunk 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: تم إصلاح العطل عندما يكون vmnet قيد الاستخدام.

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

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

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

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

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

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

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

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

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

  • أتحنا استخدام أدوات استشعار المفصّلات على الأجهزة القابلة للطي. ويتطلب ذلك ضبط صورة لنظام Android 11 وإعدادات AVD في المستقبل. تم دمج مَعلمات العرض الثلاثي الأبعاد القابل للطي والمفصّلة مع الإعدادات المسبقة الحالية القابلة للطي. يمكن استخدام ما يلي، على سبيل المثال، مع ملف config.ini 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
    
  • تحمل الأجهزة القابلة للطي الآن أيضًا مَعلمة من النوع الفرعي. السمة 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)، ولكن قد يتم أيضًا استخدام مجموعة متوافقة من مكتبات 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

  • تمت إضافة الدعم من جانب المضيف لموارد blob المترابطة القادمة لمضيف virtio-gpu.
  • نظرًا للطريقة التي يعمل بها المحاكي، نعالج الآن virtio-gpu virtqueue في سلسلة محادثات 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.
  • تتوفّر الآن إصدارات SSE 4.1 و4.2 على نظام التشغيل macOS من داخل تطبيق ضيف على 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، أتحنا علامة ميزة NoDeviceFrame، والتي يمكن تفعيلها من خلال تشغيل المحاكي من سطر الأوامر بإطار -feature NoDevice، أو لتثبيته من خلال إضافة NoDeviceFrame = on إلى ~/.android/advancedFeatures.ini (يمكنك إنشاء هذا الملف إذا لم يكن متوفرًا).

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

    • تمت أيضًا إضافة الأمر Console للغرض نفسه: 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 الآن إرسال الرسائل القصيرة إلى الجهاز.

الإصلاحات العامة

  • لقد لاحظنا مشاكل عدم توافق أثناء تشغيل محاكي Windows أثناء تشغيل محاكي Rot 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 عند بدء المحاكي.
  • يتم إصلاح مشكلة "تعليق الانتظار" عندما يصدر المحاكي أوامر واجهة أوامر واجهة المستخدم ذات المهلات الطويلة أو غير محدَّدة المدة.
  • تم تحديث السير الذاتية للكمبيوتر الشخصي مع إصلاحات لإتاحة الصور الكبيرة الحجم التي تم تمريرها إلى -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 والتي كانت تؤدي إلى محو حقل pNext في بنية VkMemoryRequirements2 في حال تشغيله باستخدام مثيل Vulkan 1.0 على المضيف.vkGetImageMemoryRequirements2KHR
  • تم إصلاح تسرُّب الذاكرة في عارض 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". استخدِم هذه الميزة للحفاظ على حالة الشاشة، وللتنقل بسرعة بين المحاكي ونافذة المحرّر باستخدام مفاتيح التشغيل السريع، ولتنظيم سير عمل بيئة التطوير المتكاملة (IDE) والمحاكي ضِمن نافذة تطبيق واحدة.

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

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

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

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

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

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

صور نظام Android 11

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

  • x86: يتضمّن كلاً من واجهات ABI وx86 وARMv7.
  • x86_64: يتضمّن x86 وx86_64 وARMv7 وARM64 ABI.

إتاحة برامج ثنائية 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 عند استهداف الإصدار 11 من نظام التشغيل Android.

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

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

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

29.0.9 (7 أيار (مايو) 2019)

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

  • Windows: تم إصلاح مشكلة عدم عمل كاميرا المشهد الافتراضي وكاميرا الويب مع المحاكي.

29.0.8 (6 أيار/مايو 2019)

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

  • تمت إضافة الدعم للعديد من شاشات الأجهزة الافتراضية في حال توفُّر خدمة للضيوف لتعداد كل شاشة وضبطها. سيتم تضمين شاشات عرض متعددة للأجهزة في التحديث المستقبلي لصورة نظام المحاكي.
  • تمت إضافة خيار سطر أوامر جديد: -delay-adb. يمنع هذا الخيار معالجة حزم ADB إلى أن ينتهي الضيف من التشغيل (من التشغيل البارد). يساعد هذا الخيار في حل المشاكل التي قد تحدث في حال استخدام المحاكي في بيئة CI لإعادة تشغيل المحاكي واستخدام DDMS في الوقت نفسه.
  • تم إصلاح الخطأ الذي كان يحدث عند تحميل اللقطات حيث يعرض glIsRenderbuffer القيمة غير الصحيحة.
  • تم إصلاح بعض المشاكل المرتبطة بالحالة "القديمة" عند إعادة تشغيل ضيف Android.
  • Windows: تم إصلاح المشاكل التي كانت تمنع بدء المحاكي عندما كان اسم مستخدم Windows يحتوي على أحرف أو مسافات بخلاف ASCII.

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

  • تم إيقاف واجهة مستخدم "اللقطات" لصور نظام السيارات لأنّ اللقطات غير متوافقة حاليًا مع صور النظام هذه.

29.0.6 (1 أيار (مايو) 2019)

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

إزالة دعم QEMU1 ونظام التشغيل Windows 32 بت

للحفاظ على المحاكي بشكل أفضل، لم نعد نشحن برامج ثنائية من نظام التشغيل QEMU1 و32 بت من نظام التشغيل Windows. إذا كنت تستخدم Windows 32 بت، فلا يمكنك الترقية إلى الإصدار 29.0.6.

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

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

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

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

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

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

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

بدءًا من الإصدار 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) بعد التشغيل على البارد

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

adb shell settings put screen_off_timeout 214783647
يؤدي هذا الأمر إلى زيادة مهلة إيقاف الشاشة حتى يمكن استخدام المحاكي في وضع البطارية بدون شحن. في وضع البطارية، يتم تقليل استخدام وحدة المعالجة المركزية في الخلفية بشكل كبير.
في وضع الشحن بالتيار المتردد، يمكن للعمليات التي يتم إجراؤها في الخلفية مثل تحديثات التطبيقات أن تستحوذ على جميع نوى وحدة المعالجة المركزية (CPU) للجهاز، وبالتالي على جهاز المستخدم، بدون تحذير.
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.

تحسينات عامة في "مشروع الرخام"

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

  • ويمكنك الآن إيقاف جميع وحدات المعالجة المركزية الافتراضية على المحاكي مؤقتًا على الفور من خلال أوامر وحدة التحكّم التالية:
    • adb emu avd pause
    • adb emu avd resume
  • تم تقليل عبء رسم OpenGL بشكل كبير. يقلل هذا التحسين من استخدام وحدة المعالجة المركزية أثناء تشغيل المحاكي للصور المتحركة.
  • تمت استعادة الدعم لجهاز الشبكة الافتراضية e1000 التابع لمعيار QEMU. ويمكنك استخدام هذا الجهاز لإعداد المحاكي في بيئة شبكة جسرية. في بيئة الشبكة المختصرة، يتم عرض المحاكي على الشبكة المضيفة وعرض شبكة المضيف على المحاكي.
  • يتم الآن استخدام برامج BIOS الثنائية المناسبة من QEMU 2.12 لبدء تشغيل المحاكي.
  • تمت ترقية الإصدار ffmpeg إلى 3.4.5 لترميز الفيديو وفك ترميزه.
  • تم خفض النفقات العامة بشكل كبير في وحدات الإدخال والإخراج في حلقة QEMU الرئيسية على نظام التشغيل 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 في حال كان المضيف متوافقًا مع هذه الإضافات.
  • تمت إضافة المزيد من معلومات التشخيص إلى واجهة مستخدم تقرير الأخطاء. بالإضافة إلى ذلك، يمكنك الوصول إلى تقارير الأخطاء من وحدة التحكّم باستخدام الأوامر التالية:
    • telnet localhost 5554
    • avd bugreport
  • في صور نظام Android Q، يزيد المحاكي الحد الأدنى لحجم ذاكرة الوصول العشوائي (RAM) إلى 2 غيغابايت.
  • تمت إضافة المزيد من عمليات التسجيل والطباعة عند إخفاق تهيئة OpenGL أو برنامج Hypervisor (مراقب الأجهزة الظاهرية).
  • إذا لم يتمكن المحاكي من بدء مثيل -read-only متزامن من AVD، يحاول المحاكي الآن إعادة تشغيل -read-only AVD 3 مرات إضافية خلال 3 ثوانٍ. ويزيد هذا التغيير من احتمال أن يتمكّن المحاكي من تشغيل مثيلات -read-only متزامنة من AVD إذا لم تنتهِ المثيلات الأخرى القابلة للكتابة من AVD إلى إزالة الملفات القديمة.
  • بالنسبة إلى صور النظام القادمة، يدعم المحاكي الآن Device Composer 2.0. من المفترض أن يؤدي هذا التغيير إلى تقليل أعباء السائق عند تشغيل معظم الرسوم المتحركة.
  • يعتمد إصدار المحاكي الآن على CMake/Ninja.
  • في واجهة مستخدم عناصر التحكم الموسّعة في المحاكي، تمت استعادة خطوط التقسيم في جدول اختصارات لوحة المفاتيح.
  • يمكن للمستخدمين الآن الموافقة لتزويد فريقنا بمقاييس استخدام وحدة المعالجة المركزية (CPU) وذاكرة الوصول العشوائي (RAM) خلال فترة 10 ثوانٍ. ونستخدم هذه المقاييس لإثراء بياناتنا حول استخدام موارد المحاكي بحالات استخدام مختلفة من مستخدمينا، ما يتيح لنا جعل المحاكي أكثر كفاءة واستجابة.

إصلاحات عامة في Project Marble

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

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

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

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

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

  • 7.3 بوصة قابل للطي: الشاشة غير مطوية بحجم 1536x2152، مقاس 4.6 بوصة 840x1960 مطوي
  • الجهاز القابل للطي مقاس 8 بوصة: الجهاز غير مطوي مقاس 2200x2480، مقاس مطوي 6.6 بوصة بدقة 1480x2480

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

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

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

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

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

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

يمكن لمستخدمي نظامَي التشغيل Windows وLinux الآن اختبار تطبيقات Vulkan باستخدام محاكي Android بما يصل إلى Vulkan 1.1 عند استخدام صورة نظام متوافقة (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 التعليمية.

إذا كنت تستخدم نظام التشغيل 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 باستخدام صورة نظام متوافقة (Android Q الإصدار التجريبي 3 أو الإصدارات الأحدث):

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 تستعلم عن إعدادات الجهاز الافتراضي (VM) في المحاكي، ثم ترسل سلسلة من الأوامر.

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 لبدء تشغيل المحاكي. يمكن أن يساعد هذا التغيير في الحد من أخطاء "طلب إيقاف وحدة المعالجة المركزية (vCPU)" التي تحدث أحيانًا عند تشغيل المحاكي على نظام التشغيل Windows.
  • تمت إتاحة إصلاح للمشكلة "الشاشة غير الصحيحة عند استئناف صور نظام Android Q من لقطة".
  • كان المستخدمون يواجهون مشاكل في المحاكيات"غير مسموح بها" بسبب تغيير غير متوافق في ADB في الإصدار 28.0.2 من Platform-tools في أدوات النظام الأساسي. يمكنك الآن استخدام 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 للتأكد من إيقاف اكتشاف الكلمة المفتاح في صورة النظام أيضًا.

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

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

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

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

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

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

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

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

عندما يكون الجهاز نشطًا، وفي وضع عدم النشاط أحيانًا: الصور المتحركة

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

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

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

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

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

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

  • تم إصلاح مشكلة على نظام التشغيل Windows تسببت في تجميد المحاكي عند تحميل اللقطة مع طُرز معينة من وحدات معالجة الرسومات من Intel.
  • تم إصلاح مشكلة تسبّبت في حدوث حالة لجهاز ADB unauthorized عند استخدام موقع ANDROID_SDK_HOME غير عادي.
  • تم إصلاح مشكلة على نظام التشغيل Windows تسببت في تعطل المحاكي عند تشغيل صور النظام مع إيقاف ميزة "تسريع وحدة المعالجة المركزية" (CPU).
  • تم إصلاح مشكلة عرض المحاكي المتقطّع. من المفترض أن تكون آلية تصغير العيّنات مفعّلة الآن.
  • تم إصلاح مشكلة على الإصدار 10.14 من نظام التشغيل macOS والإصدارات الأحدث، والتي كانت تتسبَّب في جعل عنصر التحكّم في ماوس الكاميرا للمشهد الافتراضي حساسًا للغاية بسبب التفاعل مع إعدادات الأمان الجديدة المتعلّقة بتسهيل الاستخدام.
  • تم إصلاح خطأ في حساب المنطقة الزمنية قد يتسبب في تغيير ساعة المحاكي بشكل متقطع.
  • تم إصلاح أخطاء العرض في العديد من تطبيقات cocos2d وUnreal Engine.
  • تمت إضافة الدعم في المحاكي لشبكة Wi-Fi من شبكة الند للند. أصبح بإمكان اثنين من المحاكيات التحدث إلى بعضهما البعض مباشرةً عبر شبكة Wi-Fi في حال استخدام أحدث نسخة من "متجر Play" للبيانات. لاستخدام خدمة نظير إلى نظير في شبكة Wi-Fi، يجب بدء تشغيلَي AVD بوسيطتَي -wifi-server-port و-wifi-client-port نفسهما:
    • emulator @<server-avd-name> -wifi-server-port 9999
    • emulator @<client-avd-name>-wifi-client-port 9999
  • تمت إضافة الدعم لمزيد من كاميرات الويب على نظام التشغيل Windows من خلال استخدام أحجام إطارات غير متوافقة وتغيير حجمها ديناميكيًا لتلائم إعداد الكاميرا في نافذة ضيف Android.

28.0.16 (تشرين الثاني/نوفمبر 2018)

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

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

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

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

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

تشغيل نُسخ متعددة من مقياس AVD واحد بشكل متزامن

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

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

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

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

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

لقطات ذاكرة الوصول العشوائي للضيوف والمستندة إلى ملف

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

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

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

اللقطات التي يتم التقاطها وتحميلها من خلال وظيفة واجهة المستخدم اللقطات كما فعلت من قبل، بدون تعيين ملف.

نظرًا لأن هذا يُعدّ تغييرًا كبيرًا في طريقة عمل 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 أو قفل الموضع، ما لم يتم تحديد خيارات بخلاف ذلك.
  • تتيح ميزة qemu-img: qemu-img resize التخصيص المُسبَق للأجزاء الجديدة من الصورة.
  • يتوفر الآن تقليص QCOW2 في qemu وqemu-img.

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

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

الرسومات

  • تم إصلاح مشكلة الوصول إلى الذاكرة خارج الحدود والتي قد تحدث لمؤشرات مصفوفة الرأس OpenGL ES.
  • لم تكن بعض وحدات معالجة الرسومات القديمة تتوافق مع OpenGL 2.1 أو الإصدارات الأحدث (وهو مطلوب)، أو كانت تواجه مشاكل أخرى بالموثوقية. قد تتسبب هذه المشاكل في تعطُّل المحاكي عند بدء تشغيله أو تجميده أو عدم إمكانية استخدامه على الإعداد التلقائي لوحدة معالجة الرسومات. يتحوّل المحاكي الآن تلقائيًا إلى عارض Swiftshader إذا اكتشف أنّ وحدات معالجة الرسومات هذه قيد الاستخدام.
  • تم إصلاح مشكلة تسبّبت في عدم نشر المحاكي للمخزن المؤقت الصحيح للإطارات في حال كان FBO != 0 ملزَمًا في وقت eglSwapBuffers.
  • تم إصلاح المشكلة التي كانت تكمن في ظهور شاشة Android الافتراضية في الزاوية العلوية اليمنى فقط. نعتقد أنّ ذلك يرجع إلى متغيّرات بيئة Qt التي تم ضبطها بشكل غير صحيح. يلغي المحاكي الآن جميع متغيرات البيئة المتعلقة بتوسيع نطاق Qt.
  • تم إصلاح المشكلة المتمثلة في تعطل المحاكي في بعض المواقف عند تحميل تطبيقات GLES1 من لقطة.
  • تم إصلاح مشاكل التزامن في OpenGL وتشغيل سلاسل العرض التي قد تؤدي إلى تفريغ مزدوج أو تلف البيانات.
  • يتوافق Android Emulator الآن مع دعم الهيئة المضغوطة من خلال 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" (AVD).

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

  • أبلغ بعض المستخدمين أن المحاكي يعمل ببطء. حددنا سببًا واحدًا محتملاً ينتهي به الأمر إلى وجود عدد كبير جدًا من الملفات القديمة داخل الدليل المؤقت للمحاكي. وكحل بديل، لم يعد المحاكي يخزن ملفات فحص 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 التي تحتوي على محركات أقراص ثابتة دوّارة (HDD).
  • تم إصلاح بعض تحذيرات التجميع التي قد تؤدي إلى تلف التكدس على نظام التشغيل macOS.
  • تم إصلاح بعض المشكلات التي يمكن أن تؤدي إلى تقارير مضللة بشأن التعليق.
  • تم إصلاح مشكلة إتلاف مجموعات سلاسل المحادثات التي قد تتسبب في حدوث عطل إذا لم يتم إنشاء إحدى سلاسل المحادثات بنجاح.
  • تمت معالجة مشكلة على نظام التشغيل macOS التي أصبحت الموقتات غير موثوقة، ما يؤدي إلى تعليق الجهاز وحدوث سلوكيات غريبة أخرى. في حال توقف المحاكي على نظام التشغيل macOS، يُرجى إنشاء مشكلة في أداة تتبُّع المشاكل.
  • تم إصلاح المشكلة المتمثلة في إغلاق المحاكي قد يؤدي إلى إيقاف واجهة المستخدم، وليس إلى إغلاق المحاكي في الواقع.
  • تم إصلاح المشاكل المتعلقة بالأعطال المتقطعة، بما في ذلك الإلغاء بسبب فتح عدد كبير جدًا من مثيلات /dev/urandom.
  • تم إصلاح مشكلة تسببت في تعذُّر بدء المحاكي بعد المرة الأولى في حال إنهاء ADB بشدة.
  • تمت إزالة إصدار MIPS. إذا كنت لا تزال بحاجة إلى MIPS، يُرجى إنشاء مشكلة في أداة تتبع المشاكل.
  • تم إصلاح المشكلة المتمثلة في تلف اتصالات ADB عند تحميل اللقطة.
  • تم إصلاح مشكلة ظهور صورة لاحقة أو انتقال فوري خارج الشاشة في نافذة المحاكي عند استئناف لقطة حيث كان اتجاه الجهاز مختلفًا عن الاتجاه التلقائي لمتوسط مدة المشاهدة.
  • تم إصلاح المشاكل المتعلقة بالأعطال عند حفظ اللقطات.
  • في نظام التشغيل 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 لإعداد جهاز محدّد واختيار اللقطات المحفوظة التي تريد تحميلها عند بدء تشغيل المحاكي.

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

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

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

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

ميزة HAXM 7.2.0

تتوفّر ميزة HAXM 7.2.0 الآن في كل القنوات.

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

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

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.

صور جهاز Pixel من "متجر Google Play"

تم تفعيل "متجر Google Play" الآن لصور أجهزة Pixel وPixel 2. ويُشار إلى ذلك في مدير AVD في "استوديو Android" الإصدار 3.2 والإصدارات الأحدث مع شعار Google Play في العمود متجر Play. تتضمن "متوسّطات مدة المشاهدة" التي تم تفعيل "متجر 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، يمكنك الآن استخدام كاميرا الويبcam0 وكاميرا الويب1 معًا.

أسئلة متنوعة

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

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

الإصلاحات

  • تم إنشاء إصدار Linux من محاكي Android الآن باستخدام سلسلة أدوات Clang C++ الحديثة. يُصلح هذا التغيير مشكلة تعذُّر بدء المحاكي بسبب أخطاء libGL وlibstdc++.
  • تم إصلاح العديد من أسباب الأعطال وحالات الأعطال.
  • لتجنُّب حدوث أعطال وتوقفات ناتجة عن عدم توفّر مساحة كافية على القرص، يتحقق المحاكي الآن من توفّر مساحة كافية على القرص عند بدء التشغيل، ولن يبدأ إلا إذا توفّرت مساحة خالية على الأقل تبلغ 2 غيغابايت.
  • تم إصلاح المشكلة التي كانت تمنع عرض بعض ألعاب Unity.
  • تم إصلاح مشكلة نظام أسماء النطاقات التي تسببت في عدم قدرة المحاكي على الاتصال بالشبكة.
  • تم إصلاح مشكلة تسببت في توقّف عمل وحدة التخزين الداخلية المخصّصة لمتوسط مدة المشاهدة من خلال مربّع حوار "إعداد الجهاز الافتراضي".
  • تم إصلاح مشكلة تتعلق بالعديد من عمليات 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 لتشغيل تطبيقات الواقع المعزّز المصمّمة باستخدام ARCore. لمعرفة المتطلبات المفصّلة والتعليمات، يُرجى الاطّلاع على تشغيل تطبيقات الواقع المعزّز في محاكي Android.

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

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

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

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

  • الإصلاحات

    • تم إصلاح المشكلة التي تسببت في التقاط صورة كاميرا الويب في بعض الأحيان، للحصول على صورة مشوّهة أو ذات لون أخضر.
    • تم إصلاح المشكلة التي كانت تجعل من الممكن مشاهدة الرسالة التالية حتى في حال عدم وجود تعليق فعلي: "المحاكي: ERROR: تم رصد سلسلة محادثات معلّقة 'Qt event Loop". ما مِن استجابة لمدة 15,000 ملي ثانية".

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

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

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

    تُعرَض تلقائيًا أدوات المحاكاة التي تتضمّن ملفات مظهر الجهاز بدون إطار نافذة محيطة. لإظهار إطار النافذة المحيطة، فعِّل إظهار إطار النافذة حول الجهاز في جزء "الإعدادات" (Settings) ضمن نافذة عناصر التحكّم الموسّعة.

  • تحسينات على ميزة "التشغيل السريع" لتعزيز فعالية لقطات AVD:

    • يمكنك حفظ لقطة AVD في أي وقت باستخدام الزر Save Now (حفظ الآن) في لوحة "Settings" (الإعدادات) ضمن مربّع الحوار Extended Controls (عناصر التحكّم الموسّعة).
    • يقلل المحاكي الوقت الذي تستغرقه لحفظ لقطة في العديد من الحالات من خلال حفظ الفرق فقط بين الحالة الحالية واللقطة المحفوظة سابقًا.

    لمعرفة التفاصيل، يُرجى الاطّلاع على وثائق التشغيل السريع.

  • تم تحديث المحاكي لاستخدام الإصدار 2.9 من QEMU.

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

    • تم تحسين عمليات الإدخال والإخراج وقفل سلاسل الإدخال والإخراج بدقة أكبر لتحقيق أداء أفضل.
    • تم إصلاح الأخطاء منذ 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.

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

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

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

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

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

  • تمت إضافة الدعم لنظام التشغيل Mac OpenGL ES 3 (لصور النظام التي تستخدم المستوى 24 والأعلى من واجهة برمجة التطبيقات، وGoogle APIs وواجهة ABI x86).

  • لمزيد من الثبات في تطبيقات OpenGL ES 2 أو الإصدارات الأحدث، يستخدم المحاكي الآن الملف الشخصي الأساسي على OpenGL إذا توفّر.

  • خيارات جديدة للعرض باستخدام Swiftshader أو محرِّك ANGLE:

    • -gpu swiftshader_indirect: نسخة أسرع وأكثر ثباتًا من Swiftshader المتوافقة مع ميزة "التشغيل السريع".
    • -gpu angle_indirect (نظام التشغيل Windows فقط): نسخة أكثر ثباتًا من ANGLE D3D تتوافق أيضًا مع ميزة "التشغيل السريع".

    تم الآن إيقاف الخيارَين -gpu swiftshader و-gpu angle الأقدم نهائيًا. في نافذة "عناصر التحكّم الموسّعة"، أصبح الخياران "SwiftShader" و"ANGLE" لإعداد عارض OpenGL ES في الإعدادات > الإعدادات المتقدّمة يستخدمان الآن الصيغتَين *_indirect.

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

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

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

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

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

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

  • هذا الإصدار مطلوب الآن لاستخدام أحدث صور نظام Android 8.0. فهي متوافقة مع ثلاثية الأبعاد، وتتميّز بأقسام منفصلة عن 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 Launcher" فيه باستمرار. يبدو أن هذه مشكلة في برنامج التشغيل في بعض طُرز 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 Siera من خلال 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) لفتح صفحة واجهة المستخدم الخاصة بالإبلاغ عن الأخطاء مباشرةً من صفحة الإعدادات.
  • تم إصلاح المشكلة التي كانت تتمثل في أنه في حال استخدام وحدة معالجة مركزية قديمة مع Intel x86 EPT ولكن بدون UG، يتعذَّر تشغيل المحاكي في حال ضبط أكثر من نواة واحدة.
  • تم إصلاح مشكلة اكتشاف HyperV بشكل غير صحيح إذا كان المحاكي قيد التشغيل في برنامج Xen Hypervisor.
  • تم إصلاح مشكلة تعطل المحاكي عند البدء في بعض تهيئات نظام التشغيل 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.

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

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

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

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

    • إذا واجهت مشاكل فيه، أضِف السطر 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 FBO خارج الشاشة لجميع عمليات العرض باستثناء نشر الصورة المعروضة النهائية، والتي من المفترض أن تساعد في حلّ مشاكل اتساق الألوان على مختلف الأنظمة الأساسية.

  • بعد جمع البيانات حول مشاكل بطء المحاكي المفاجئ، قررنا أن المشكلة قد تتعلق ببعض التفاعل بين برامج تشغيل Intel OpenGL القديمة وتحديثات Windows. وبالتالي، تم ضبط العرض تلقائيًا للمستخدمين الذين لديهم أجهزة Intel HD 4000 و3000 و2000 (ووحدات معالجة الرسومات ذات الصلة) على عارض D3D (ANGLE) أو Swiftshader (عارض برامج).

26.0.0 (آذار/مارس 2017)

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

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

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

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

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

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

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

التبعيات

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

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

  • متوافق مع المستوى 26 من واجهة برمجة التطبيقات
  • متوافق تمامًا مع GLES 2.0 بما أنّ وحدة معالجة الرسومات المضيفة التي تتضمّن برامج تشغيل OpenGL المتوافقة مع أجهزة الكمبيوتر المكتبي، يجتاز المحاكي الآن% 100 من توافق قائمة mustpass على Android CTS dEQP-GLES2. تم إطلاق هذه الميزة لصور مستوى واجهة برمجة التطبيقات بحجم 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 من أدوات Android SDK Platform أو إصدار أحدث
  • الإصدار 25.3.0 من أدوات حزمة تطوير البرامج (SDK) لنظام التشغيل Android

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

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