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

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

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

للتأكّد من أنّ لديك أحدث إصدار، تحقَّق من التحديثات في أداة SDK Manager.

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

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

للاطّلاع على المشاكل التي تم إصلاحها في أحدث إصدارات Android Emulator، راجِع المشاكل التي تم حلّها.

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

‫37.2.11 (29 سبتمبر 2026)

  • [إصلاح خطأ]المشكلة رقم 537802959 نظام التشغيل macOS (معالج Apple Silicon): تعطُّل gRPC streamScreenshot مع ImageTransport MMAP محرك المحاكي أو عدم كتابة اللقطات بدون إظهار أي رسالة خطأ

  • [إصلاح خطأ]المشكلة رقم 507078580: يمنع المحاكي نظام التشغيل macOS من الانتقال إلى وضع السكون

  • [إصلاح خطأ]المشكلة رقم 506475581 تم حل مشكلة تشوّه الصوت المتبقية وتشويش بدء التشغيل على أجهزة macOS عند استخدام واجهة صوتية تتضمّن أكثر من قناتَين (التكرار، الإخراج المتعدد)

‫37.1.11 (إصدار ثابت) (30 يوليو 2026)

  • سيتم إيقاف برنامج تشغيل Hypervisor في Android Emulator نهائيًا في 31 ديسمبر 2026. للمساعدة في عملية الانتقال، يتيح استوديو Android الآن لمستخدمي Windows إمكانية التحويل من AEHD إلى Windows Hypervisor Platform (WHPX). اطّلِع على مقالة ضبط تسريع الجهاز الافتراضي باستخدام WHPX للحصول على معلومات حول ضبط تسريع الجهاز الافتراضي باستخدام WHPX.

    نافذة منبثقة للتحديث إلى WHPX

  • تمت إضافة جهاز Pixel 10a الافتراضي

  • تمت إضافة إمكانية استخدام إضافات Vulkan الجديدة المطلوبة لتشغيل صور نظام الإصدار 37 من واجهة برمجة التطبيقات

  • [إصلاح خطأ]المشكلة رقم ‎324465986 عدم ظهور خطأ بشأن نفاد مساحة التخزين عند التقاط لقطة شاشة على محاكي لا تتوفّر فيه مساحة

  • [إصلاح خطأ]المشكلة رقم 526671872 إتاحة استخدام لاحقات الوحدات (مثل "6 غيغابايت" و"32 ميغابايت") في إعدادات ذاكرة الوصول العشوائي (RAM) لجهاز Android الافتراضي وحجم مساحة الذاكرة المخصّصة للجهاز الافتراضي في ملف config.ini

  • [إصلاح خطأ]المشكلة رقم 325814592 مشكلة تم رصدها في نظام التشغيل macOS 14، وهي أنّ المحاكي يبدأ في التوقف عن الاستجابة والعمل ببطء شديد بعد تشغيل الكاميرا

‫36.6.11 (الإصدار الثابت) (2 يونيو 2026)

  • بدءًا من المستوى 37 لواجهة برمجة التطبيقات، تم رفع الحد الأدنى للذاكرة (RAM) التي تستخدمها الآلة الافتراضية لجهاز AVD إلى 4 غيغابايت.

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

  • تمت إضافة وضع الكاميرا "البيئة" إلى المحاكي لتوفير خلفيات افتراضية قابلة للضبط. يتم تحديد هذه المشاهد في ملف environment.ini الخاص بجهاز Android الافتراضي، ويمكن إعادة تحميلها بشكل ديناميكي في وقت التشغيل.

  • تم إصلاح الخطأ الذي لم يتم فيه محو معاينة اللقطة في المحاكي المستقل بعد حذف اللقطة.

  • [إصلاح خطأ]المشكلة رقم ‎506475581 تشوّه صوت المحاكي بشكل كبير على أجهزة macOS عند استخدام واجهة صوتية تحتوي على أكثر من قناتَين (إعادة توجيه الصوت، إخراج الصوت من عدة منافذ)

  • [إصلاح خطأ]المشكلة رقم ‎516455370 تم إصلاح مشكلة تسريب كبير للذاكرة في نظام التشغيل macOS 26.3 عند إغلاق المحاكي، وهي مشكلة مرتبطة بتنظيف الموارد التي تستخدمها واجهات برمجة التطبيقات Hypervisor.framework.

تحديث الإصدار 36.5.11 (‫23 أبريل 2026)

  • [إصلاح خطأ]المشكلة رقم ‎492228020 يعرض "محاكي Android" شاشة سوداء عند استخدام ميزة "عرض الرسومات تلقائيًا" أو "عرض الرسومات باستخدام الأجهزة" على وحدة معالجة الرسومات من Intel

‫36.5.10 (2 أبريل 2026)

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

اختبار التفاعلات بين الأجهزة المتعددة باستخدام "محاكي Android"

يتضمّن "محاكي Android" الآن حزمة جديدة للشبكات بهدف تحسين اختبار الأجهزة المتعدّدة، ما يغنيك عن الحاجة إلى إعادة توجيه المنفذ يدويًا لربط عدّة مثيلات من "جهاز Android الافتراضي" على المضيف نفسه. يمكن لأجهزة AVD الآن اكتشاف بعضها البعض والتواصل مع بعضها البعض تلقائيًا كما لو كانت على الشبكة الافتراضية نفسها. يتيح ذلك إجراء اختبارات سلسة للتفاعلات بين الأجهزة باستخدام بروتوكولات مثل اتصال Wi-Fi مباشر وNetwork Service Discovery.

يوفّر حزمة الشبكات الجديدة هذه العديد من المزايا الرئيسية للمطوّرين:

  • بدون إعداد: لا حاجة بعد الآن إلى إعادة توجيه المنفذ يدويًا أو كتابة نصوص برمجية لأوامر adb.
  • اتصال سلس بين الأجهزة: تعمل البروتوكولات المهمة، مثل اتصال Wi-Fi مباشر وNetwork Service Discovery، تلقائيًا بين المحاكيات.
  • تحسين الثبات: يحلّ هذا الإصدار مشاكل الثبات القديمة، مثل فقدان البيانات (المشكلة رقم 150758736) وانقطاع الاتصال (المشكلة رقم 449817856) التي تم رصدها في الإصدار القديم.

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

ميزات إضافية وإصلاحات للأخطاء

  • تمت إضافة أجهزة AVD جديدة من Pixel، بما في ذلك Pixel 10 وPixel 10 Pro وPixel 10 Pro XL وPixel 10 Pro Fold

  • إدراج كاميرات الويب بأسماء سهلة الاستخدام وإصلاح مشكلة في نظام التشغيل Linux حيث تعذّر على المحاكي رصد جميع كاميرات الويب المتصلة وإدراجها

  • [إصلاح خطأ]المشكلة رقم 333628462: تستهلك عملية crashpad_handler قدرًا كبيرًا من وحدة المعالجة المركزية على أجهزة macOS

تحديث 36.4.10 (‫9 مارس 2026)

  • [إصلاح خطأ]المشكلة رقم 489369080 إصلاح عُطل في "محاكي التلفزيون" عند التمرير بعد التحديث إلى Panda 2

‫36.4.9 (الإصدار الثابت) (10 فبراير 2026)

  • لتبسيط عملية اختيار وحدة معالجة الرسومات ضمن واجهة المستخدم، تتضمّن عناصر التحكّم الموسّعة في "محاكي Android" الآن خيارات محدّدة للأجهزة والبرامج. بالنسبة إلى مستخدمي سطر الأوامر، يمكن الآن استخدام الخيار "‎-gpu software" لاختيار أفضل برامج العرض الخلفية المتوافقة مع GLES وVulkan والمتاحة لنظامك.

  • تم تفعيل Lavapipe كبرنامج عرض الرسومات التلقائي لتحسين توافق Vulkan على جميع المنصات

  • تحسينات Vulkan:

    • تعديل أداة تحميل Vulkan المضمّنة في المحاكي
    • تم إصلاح العديد من حالات الاستخدام غير الصالحة في الخلفية المستندة إلى Vulkan
    • تمت إضافة إمكانية استخدام SkiaVk على systemui مع محاكاة قائمة انتظار الرسومات على صور النظام الجديدة
    • تمت إضافة إمكانية استخدام Vulkan لتعطيل استخدامات GL على المضيف. يتم تفعيل هذه الميزة تلقائيًا لصور الواقع الممتد، ويمكن تفعيلها باستخدام خيار سطر الأوامر ‎-feature VulkanNativeSwapchain.
  • [إصلاح خطأ]المشكلة رقم ‎471008659 تسريب الذاكرة على جانب المضيف في المحاكي عند فتح الأنشطة وإغلاقها

‫36.4.3 Canary (‫8 ديسمبر 2025)

محاكي جديد لنظارات الذكاء الاصطناعي

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

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

محاكي جديد لنظارات الواقع الممتد

أتحنا استخدام محاكي Android XR الذي أطلقناه سابقًا مع نظارات الواقع الممتد التي تتيح رؤية العالم الحقيقي مباشرة عبر العدسات (OST). يمكنك استخدام محاكي نظارات بنظام الواقع الممتد لمعاينة تطبيقك بمجال الرؤية ودرجة الدقة التقريبيَين لجهاز نظارات بنظام الواقع الممتد. راجِع مقالة إنشاء أجهزة نظارات الواقع الممتد الافتراضية للحصول على معلومات حول تثبيت محاكي نظارات الواقع الممتد وإعداد بيئة التطوير.

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

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

ستساعدنا ملاحظاتك في تحسين الميزات وتحديد أولوياتها في المستقبل. راجِع مقالة الإبلاغ عن خطأ للحصول على معلومات حول الإبلاغ عن الأخطاء المتعلقة بـ "استوديو Android" أو Android Emulator.

‫36.3.10 (الإصدار الثابت) (4 ديسمبر 2025)

  • [إصلاح خطأ]المشكلة رقم ‎452843321 انخفاض الأداء عند نقل ملفات كبيرة إلى المحاكي على الإصدار 34 من Android API والإصدارات الأحدث

  • إصلاح الأعطال في Vulkan composition عند تشغيل برامج ترميز الفيديو في وضع نسيج وحدة معالجة الرسومات

  • إصلاح أعطال المحاكي عند وقوع حدث على الشاشة التي تعمل باللمس أثناء التشغيل باستخدام الخيار ‎-debug-events

تحديث الإصدار 36.2.12 (‫13 أكتوبر 2025)

  • إصلاح مشكلة التعطُّل على أجهزة Windows التي حدثت عند تشغيل تطبيق Vulkan في وضع العرض البرمجي

‫36.2.11 (9 أكتوبر 2025)

  • تمت إزالة دعم ميزة HAXM من المحاكي. إذا حاولت إنشاء جهاز محاكاة Android (AVD) باستخدام HAXM، سيظهر بانر يشير إلى عدم توفّر برنامج Hypervisor ورابط لاتّخاذ إجراء لتثبيت AEHD.

    بانر يظهر عندما يحاول المستخدم إنشاء جهاز محاكاة Android جديد باستخدام HAXM

    للحصول على معلومات حول إلغاء تثبيت HAXM، يُرجى الاطّلاع على إلغاء تثبيت HAXM.

  • إصلاح لضمان استخدام وحدة معالجة الرسومات من Intel لإصدار OpenGL ES 3.0 لتجنُّب تعطُّل برنامج التشغيل

  • [إصلاح خطأ]المشكلة رقم ‎340322888 يتعذّر بدء تشغيل محاكي Android الافتراضي (AVD) عندما لا تتوفّر مساحة فارغة على الجهاز

  • [إصلاح خطأ]المشكلة رقم ‎150758736 فقدان متقطّع لبيانات بايت واحد في عمليات ربط TCP في المحاكي

  • [إصلاح خطأ]المشكلة رقم ‎434774381 تعطُّل نواة الجهاز الافتراضي بعد التشغيل السريع للإصدار 36 و35 من واجهة برمجة التطبيقات (وربما إصدارات أخرى) على نظام التشغيل Windows 11 باستخدام WHPX على معالج i7-11850H

‫36.1.9 (31 يوليو 2025)

  • [إصلاح خطأ]المشكلة رقم ‎419157428: قد يؤدي استخدام أحرف UTF-8 في اسم المستخدم أو في مسار المحاكي الافتراضي لنظام التشغيل Android إلى منع بدء تشغيل المحاكي

  • [إصلاح خطأ]المشكلة رقم ‎423670833 تعذُّر تشغيل Android Emulator على نظام الملفات btrfs

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

‫35.6.11 (الإصدار الثابت) (24 يونيو 2025)

  • تم تحسين التوافق مع وحدات معالجة الرسومات من AMD وNvidia على نظامَي التشغيل Windows وLinux في "محاكي الواقع الممتد"

  • يمكن تشغيل محاكي Android XR كعنصر مضمّن في نوافذ تشغيل "استوديو Android".

  • تحسين تفاصيل تقرير الأعطال على Windows لتفعيل تفريغ كامل لبيانات المحاكي

  • [إصلاح خطأ]المشكلة رقم 410485043 تعذُّر تشغيل جهاز Android Emulator XR بسبب خطأ في Vulkan

  • [إصلاح خطأ]المشكلة رقم ‎388718417: يتم إيقاف libndk_translation.so بشكل غير متوقّع، ما يؤدي إلى تعطُّل Arm64AesEncode

‫35.5.10 (6 مايو 2025)

  • تمت إضافة عمليات تحقّق إضافية من توافق وحدة المعالجة المركزية مع رسائل الخطأ (مثل: عدم توفّر مساحة كافية على القرص)

  • إصلاح الأخطاء المتعلّقة بإدارة ذاكرة Vulkan وحالات الاستخدام غير الصالحة

  • يتم التحقّق من إمكانية استخدام لقطات Vulkan وتخطّيها بشكل صحيح عند التشغيل من خلال نافذة طرفية

  • تمّت إضافة إمكانية استخدام إضافة VK_KHR_multiview وتنسيق النسيج A1R5G5B5

  • تمت إضافة جهاز Pixel 9a الافتراضي

‫35.4.9 (الإصدار الثابت) (25 فبراير 2025)

  • تمت إضافة قائمة منسدلة في عناصر التحكّم الموسّعة لإعدادات برنامج تشغيل Guest GLES

  • [إصلاح خطأ]المشكلة رقم ‎389330750 يؤدي إرسال رسالة SMS إلى المحاكي تتضمّن الحرف Ñ إلى تقسيم الرسالة

  • [إصلاح خطأ]المشكلة رقم 382180488 تعذُّر تنفيذ الدالة "emuglConfig_get_vulkan_hardware_gpu_support_info" بسبب عدم رصد أي أجهزة Vulkan

  • ملاحظة: لا يتوفّر Android XR Emulator إلا في إصدارات Canary من "استوديو Android".

‫35.3.11 (الإصدار الثابت) (9 يناير 2025)

  • [إصلاح خطأ]المشكلة رقم 368059211 عدم عمل الوصول الآلي إلى VHAL في نظام التشغيل Android Auto باستخدام Car Service API

  • [إصلاح خطأ]المشكلة رقم 348598513 يحتوي المحاكي على طريقة عامة غير آمنة وغير ضرورية في قفل متعدد الخيوط

  • [إصلاح خطأ]المشكلة رقم ‎356896486 إيقاف طلبات البيانات من واجهة برمجة التطبيقات Vulkan نهائيًا عند التشغيل باستخدام ‎-feature -Vulkan

‫35.4.4 Canary (‫12 ديسمبر 2024)

محاكي Android XR الجديد

أضفنا محاكيًا تجريبيًا جديدًا لنظام Android XR بهدف تطوير التطبيقات واختبارها التي تم إنشاؤها باستخدام حزمة تطوير البرامج (SDK) لمنصة Jetpack XR الخاصة بسمّاعات الرأس. راجِع مقالة إعداد حزمة تطوير البرامج (SDK) لمنصة Jetpack XR للحصول على معلومات حول تثبيت محاكي Android XR وإعداد بيئة التطوير.

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

حتى الآن، تم اختبار محاكي Android XR على إعدادات الأجهزة التالية:

  • Mac (ARM)
  • ‫Windows 11
    • وحدة معالجة الرسومات nVidia، وذاكرة وصول عشوائي للفيديو (vRAM) بسعة 4 غيغابايت، وإصدار برنامج التشغيل 553.35 أو إصدار أحدث
  • ذاكرة وصول عشوائي (RAM) بسعة 16 غيغابايت أو أكثر
  • ‫8 أنوية أو أكثر

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

المحاكي - الثبات والأداء:

  • قد تحدث عمليات قفل أو تعطُّل خطيرة للنظام أثناء عملية التشغيل أو أثناء تشغيل التطبيقات على بعض إعدادات Windows. يُرجى التأكّد من تفعيل ميزة Windows Hypervisor Platform (WHPX) باتّباع دليل المطوّرين في "استوديو Android" لتفعيل WHPX.
  • مشاكل مثل عدم استجابة محاكي Android للأجهزة الافتراضية أو عناصر واجهة المستخدم على أجهزة الكمبيوتر المحمول بعد دورة تعليق واستئناف (مثل إغلاق الكمبيوتر المحمول وفتحه)
  • تعطُّل التطبيق أحيانًا عند التبديل من "وضع الشاشة الرئيسية" إلى "وضع ملء الشاشة"
  • لا تتوفّر واجهات Gemini API بعد، وسيحدث عطل في تطبيق نموذج Gemini API الأوّلي.

المحاكي - محاكاة الإدخال والإخراج:

  • قد لا يظهر لوحة المفاتيح الافتراضية لحقول البحث والتعديل إلا بشكل جزئي في مجال الرؤية
  • لا يمكن نقل العناصر في الاتجاه z (داخل الشاشة وخارجها) باستخدام الماوس ولوحة المفاتيح

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

  • يصدر صوت مشوّش أو غير واضح أحيانًا.

  • عندما يتم نقل الكاميرا خارج غرفة المعيشة الافتراضية، تظهر أخطاء في العرض.

  • تعرض إعدادات Windows ألوانًا أغمق من المعتاد.

  • يتوقف الصوت عن العمل بعد ترك المحاكي في وضع عدم النشاط وقفل الشاشة على نظام التشغيل macOS. (ستؤدي إعادة تشغيل المحاكي إلى استعادة هذه الحالة).

  • ينقطع الاتصال بالشبكة عندما يغيّر الجهاز المضيف شبكة Wi-Fi.

  • عند تفعيل Caps Lock، سيتم كتابة الأحرف الصغيرة.

  • التمرير باستخدام لوحة التتبّع على جهاز Mac ليس سلسًا.

  • قد لا يعمل التمرير السريع بالنقر مع السحب على بعض عناصر واجهة المستخدم بسبب التصميم. إذا لم يكن الأمر كذلك، استخدِم عجلة الماوس للتمرير بدلاً من ذلك.

  • نص غير واضح وواجهة مستخدم غير واضحة وأخطاء أخرى في Chrome على بعض إعدادات نظام التشغيل Windows الحل المحتمل: تفعيل WHP

المحاكي - محاكاة الطائرات والمراسي:

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

المحاكي - أخرى:

  • لا يبدأ المحاكي إلا في وضع "مستقل". لم يتوفّر بعد الوضع "مضمّن" (واجهة مستخدم مضمّنة).
  • قد يؤدي تسجيل الدخول باستخدام حسابات على المحاكي على Windows إلى توقّف المحاكي عن الاستجابة
  • قد يختفي محتوى واجهة المستخدم للنوافذ بعد تغيير حجمها (الحلّ البديل: الضغط على زر "الصفحة الرئيسية")
  • في تطبيق JXRCore ActivityPanelTest، لا يتم عرض اللوحة الثانوية في البداية
  • قد تختفي عناصر "الإعدادات السريعة" من إعدادات النظام بعد فترة طويلة.
  • قد تظهر واجهة مستخدم المحاكي خارج منطقة الشاشة في البداية. إذا كان الأمر كذلك، اضبط حجم نافذة المحاكي قليلاً وسيتم إرجاعها إلى مكانها.
  • قد لا يتم تشغيل المحاكي عند استخدام الاتصال بجهازك عن بعد من Chrome على Windows
  • لا يتوافق OpenXR حتى الآن مع المحاكي، وقد تؤدي تطبيقات OpenXR إلى تعطيل المحاكي.
  • حدوث أعطال نادرة عند محاولة إرسال تقارير الأخطاء باستخدام إعدادات "استوديو Android" الموسّعة على نظام التشغيل Windows
  • لا يظهر رمز "الرجوع" بشكل صحيح في تطبيق "الإعدادات" إلى أن يتم تمرير مؤشر الماوس بالقرب منه على جهاز Mac
  • في بعض الحالات، قد يحدث خطأ في عملية الإنشاء عند استخدام وحدة "الملف الشخصي للمرجع" كجزء من مشروع نموذج الواقع الممتد.
  • تم حتى الآن دمج ميزة تسهيل الاستخدام "الوصول إلى الشاشة عبر الواقع الممتد" بشكل جزئي فقط في المحاكي

تطبيق Scene Viewer:

  • قد يؤدي تحريك العناصر داخل Scene Viewer إلى تعطُّله. لحلّ هذه المشكلة، حرِّك موضع الرأس قليلاً بعيدًا عن موضعه الأولي (باستخدام التحريك الأفقي أو التحريك العمودي أو مفاتيح WASD أو غير ذلك) قبل محاولة تحريك العنصر.
  • لن تعمل ميزة "الحجم الحقيقي" 1:1 بشكل صحيح إذا كان الحجم الحقيقي للتصميم الثلاثي الأبعاد أقل من الحد الأدنى أو أكبر من الحد الأقصى للمقياس (المحدّد حاليًا بـ 20 سم و70 مترًا على التوالي).
  • قد يقفز التصميم الثلاثي الأبعاد في الإطار الأول بعد التحميل

‫35.2.10 (1 أكتوبر 2024)

  • تمت إضافة أجهزة AVD جديدة من Pixel، بما في ذلك Pixel 9 وPixel 9 Pro وPixel 9 Pro XL وPixel 9 Pro Fold
  • تمت إضافة صورة نظام جديدة للأجهزة اللوحية لإصدار Vanilla Ice Cream (المستوى 35 من واجهة برمجة التطبيقات)

‫35.1.20 (29 أغسطس 2024)

  • تمت إضافة محاكي جهاز Android الافتراضي (AVD) لهاتف Pixel 8a
  • إصلاحات أخطاء متنوّعة للأجهزة القابلة للطي
  • تحديث Qt وإصلاح الأعطال والتعليقات المرتبطة به
  • [إصلاح خطأ] إصلاح الأعطال والتجميد على أجهزة Windows التي تستخدم تطبيقات Vulkan

‫34.2.16 (9 يوليو 2024)

  • [إصلاح خطأ] توقّف واجهة المستخدم على هاتف Pixel Fold أثناء الطي أو الفتح
  • [إصلاح خطأ] عرض إصدار Android بشكلٍ غير صحيح على أنّه Android Vanilla Ice Cream Preview بدلاً من الإصدار 35 من واجهة برمجة التطبيقات على جهاز Mac M1
  • [إصلاح خطأ] المشكلة رقم ‎296162661: تعرض HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE القيمة "صحيح" على محاكي جهاز Pixel C اللوحي

‫34.2.15 (31 مايو 2024)

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

‫34.2.14 (‫20 مايو 2024)

تم اختباره باستخدام الإصدار 1 من حزمة التصحيح الثابتة من استوديو Android Jellyfish.

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

‫34.2.13 (30 أبريل 2024)

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

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

‫34.1.20 (1 أبريل 2024)

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

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

‫34.1.19 (‫7 مارس 2024)

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

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

‫34.1.18 (29 فبراير 2024)

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

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

‫33.1.24 (28 ديسمبر 2023)

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

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

‫33.1.23 (30 نوفمبر 2023)

تم اختباره باستخدام الإصدار 4 من حزمة تصحيح Giraffe والإصدار الثابت من Hedgehog في "استوديو Android".

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

‫32.1.15 (29 أغسطس 2023)

تم اختبارها باستخدام الإصدار 1 من حزمة تصحيح Giraffe والإصدار 16 من Hedgehog Canary في "استوديو Android".

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

‫32.1.14 (27 يونيو 2023)

تم اختبارها باستخدام الإصدار 8 من Canary في استوديو Android Hedgehog والإصدار 5 من الإصدار التجريبي Giraffe والإصدار الثابت من Flamingo.

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

‫32.1.13 (22 مايو 2023)

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

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

‫32.1.12 (‫21 مارس 2023)

تم الاختبار باستخدام الإصدار 10 من قناة Canary في استوديو Android Giraffe والإصدار المحتمل من Flamingo والإصدار 2 من حزمة تصحيح Electric Eel.

‫32.1.11 (8 فبراير 2023)

تم الاختبار باستخدام الإصدار 2 من قناة Canary للإصدار Giraffe من "استوديو Android" والإصدار التجريبي 1 من الإصدار Flamingo والإصدار 1 من حزمة تصحيح الإصدار Electric Eel.

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

‫31.3.14 (13 ديسمبر 2022)

تم الاختبار باستخدام الإصدارات Dolphin وElectric Eel RC1 وFlamingo Canary 9 من "استوديو Android".

  • [إصلاح خطأ] تم إصلاح الأعطال التي تحدث في "جهاز Android الافتراضي" عند تسجيل الدخول إلى "متجر Google Play".

‫31.3.13 (27 أكتوبر 2022)

تم اختبارها باستخدام الإصدارات Android Studio Dolphin وElectric Eel Beta 2 وFlamingo Canary 5.

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

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

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

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

‫31.3.11 (23 سبتمبر 2022)

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

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

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

‫31.3.10 (18 أغسطس 2022)

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

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

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

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

‫31.2.10 (20 أبريل 2022)

تم الاختبار باستخدام الإصدار 8 من استوديو Android Dolphin Canary والإصدار 1 من Chipmunk RC.

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

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

‫31.2.9 (23 مارس 2022)

تم الاختبار باستخدام الإصدار 7 من استوديو Android Dolphin Canary.

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

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

‫31.2.8 (7 شباط/فبراير 2022)

تم الاختبار باستخدام الإصدار 1 من حزمة تصحيح استوديو Android Bumblebee والإصدار 6 من Chipmunk Canary.

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

  • [إصلاح خطأ] يتعذّر تسجيل الدخول إلى التطبيقات
  • [إصلاح خطأ] المشكلة رقم ‎215368358: سيؤدي تنفيذ الأمر "adb reboot" على منصة Intel إلى تعطُّل AVD بسبب "vcpu shutdown request"

‫31.2.7 (1 فبراير 2022)

تم الاختبار باستخدام الإصدار 1 من حزمة تصحيح استوديو Android Bumblebee والإصدار 6 من Chipmunk Canary.

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

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

‫31.2.6 (20 يناير 2022)

تم الاختبار باستخدام الإصدارات Arctic Fox وBumblebee Beta 4 وChipmunk Canary 6 من "استوديو Android".

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

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

‫31.1.3 (18 يناير 2022)

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

  • تم تفعيل منافذ وحدة التحكّم في Fuchsia.
  • عند تغيير حجم نافذة على شاشات متعددة، يتم تجاهل اتجاه الشاشة.
  • ‫Wi-Fi: تمت إضافة إمكانية فلترة حِزم البث الأحادي استنادًا إلى عنوان MAC الخاص بجدول عناوين MAC.
  • ‫Wi-Fi: تم إصلاح عُطل عند استخدام vmnet.

‫30.9.5 (15 ديسمبر 2021)

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

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

‫30.4.5 (23 فبراير 2021)

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

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

‫30.0.26 (16 أغسطس 2020)

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

دعم الأجهزة القابلة للطي من خلال مستشعر المفصلة الافتراضية والعرض الثلاثي الأبعاد

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

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

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

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

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

  • يتيح رمز المصدر لمحاكي Linux الآن إمكانية الترجمة المتبادلة من x86_64 إلى مضيفي arm64، ما يتيح تشغيل صور نظام arm64 باستخدام المحاكاة الافتراضية KVM. في الوقت الحالي، لا يتوفّر سوى -gpu swiftshader_indirect (العرض على مضيف arm64 باستخدام Swiftshader)، ولكن يمكن أيضًا استخدام مجموعة متوافقة من مكتبات 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 إلى الإصدار 83 من Chrome.
  • يتيح المحاكي الآن بث الصوت في الحاويات عبر WebRTC.
  • تمت إزالة نقطة نهاية قناة darwinn.
  • تتوفّر الآن إمكانية فك ترميز VPx باستخدام CUDA للفيديوهات، وذلك إذا كانت هذه الإمكانية متوفّرة في الأجهزة، من خلال متغيّر البيئة 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 الحالي في عناصر التحكّم الموسّعة > الإعدادات. لإخفاء إطارات الأجهزة على مستوى العالم لجميع أجهزة Android الافتراضية، أتحنا علامة الميزة NoDeviceFrame التي يمكن تفعيلها من خلال تشغيل المحاكي من سطر الأوامر باستخدام -feature NoDevice frame، أو لإغلاقها، يمكنك إضافة NoDeviceFrame = on إلى ~/.android/advancedFeatures.ini (أنشئ هذا الملف إذا لم يكن موجودًا من قبل).

  • تمت إضافة عنصر قائمة منسدلة في صفحة بيانات الجوّال لتفعيل ميزة &quot;الاستخدام المحدود&quot; وإيقافها، وهي لا تعمل مع صور النظام القديمة التي لا تتوافق مع خيار تفعيل/إيقاف ميزة &quot;الاستخدام المحدود&quot; لشبكة الجيل الخامس.

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

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

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

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

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

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

إصلاحات عامة

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

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

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

يتضمّن هذا التحديث إمكانية تشغيل المحاكي مباشرةً في &quot;استوديو Android&quot;، والأجهزة الافتراضية التي يكون فيها &quot;وضع النافذة الحرة&quot; مفعّلاً تلقائيًا.

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

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

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

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

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

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

‫30.0.0 (19 فبراير 2020)

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

صور نظام Android 11

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

  • ‫x86: تتضمّن واجهات التطبيق الثنائية x86 وARMv7.
  • ‫x86_64: تتضمّن واجهات التطبيق الثنائية x86 وx86_64 وARMv7 وARM64.

إتاحة استخدام ملفات ARM الثنائية على صور نظام Android 9 و11

إذا لم يكن بإمكانك استخدام &quot;محاكي Android&quot; في السابق لأنّ تطبيقك كان يعتمد على ملفات 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 DLL الذي نرسله بدلاً من تجميعه بشكل ثابت باستخدام libgcc.
  • ‫Linux: تمت إضافة إمكانية استخدام logcat إلى واجهة برمجة التطبيقات gRPC. لمزيد من المعلومات عن gRPC، يمكنك الاطّلاع على محاكي بث gRPC (Linux).
  • يتضمّن المحاكي الآن إصدارًا بدون واجهة مستخدم للأجهزة الافتراضية التي تعمل بنظام التشغيل x86‏ 32 بت (qemu-system-i386). تتيح هذه الميزة تشغيل صور x86‏ 32 بت لمستويات واجهة برمجة التطبيقات 26 والإصدارات الأقدم باستخدام الإصدار بدون واجهة مستخدم. يُرجى العِلم أنّه بالنسبة إلى الأجهزة الافتراضية 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 إلى أن يكمل الجهاز الظاهري عملية التشغيل (إيقاف التشغيل ثم إعادة التشغيل). يساعد هذا الخيار في حلّ المشاكل التي قد تحدث إذا كنت تستخدم المحاكي في بيئة دمج متواصل تعيد تشغيل المحاكي وتستخدم أداة DDMS في الوقت نفسه.
  • تم إصلاح الخطأ الذي كان يحدث عند تحميل اللقطات حيث كانت الدالة glIsRenderbuffer تعرض قيمة غير صحيحة.
  • تم إصلاح بعض المشاكل المتعلّقة بالحالة القديمة عند إعادة تشغيل جهاز Android الضيف.
  • ‫Windows: تم إصلاح المشاكل التي كانت تمنع بدء المحاكي عندما كان اسم مستخدم Windows يحتوي على أحرف خارج نطاق ASCII أو مسافات.

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

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

‫29.0.6 (1 مايو 2019)

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

إزالة QEMU1 والتوافق مع نظام التشغيل Windows بسرعة 32 بت

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

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

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

تحسينات Project Marble

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

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

توضّح الأقسام التالية التحسينات التي تم إجراؤها في إطار مبادرة Project 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 التي كانت تعرض نتائج غير موثوقة.

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

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

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

متغيّرات بيئة جديدة لتتبُّع الأداء

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

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

تحسينات عامة في Project Marble

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

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

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

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

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

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

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

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

  • شاشة قابلة للطي مقاس 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 باستخدام &quot;محاكي Android&quot; حتى الإصدار 1.1 من Vulkan عند استخدام صورة نظام متوافقة (الإصدار التجريبي 3 من Android Q أو إصدار أحدث للإصدار 1.1 من Vulkan، والإصدار التجريبي 2 من Android Q للإصدار 1.0 من Vulkan) ووحدة معالجة الرسومات (GPU) متوافقة على الجهاز المضيف (يشمل ذلك معظم وحدات معالجة الرسومات من 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.

إذا كنت تستخدم نظام التشغيل 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 API.

إذا كان لديك وحدة معالجة رسومات من 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
  • libportability: ANDROID_EMU_VK_ICD=portability

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

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

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

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

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

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

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

-grpc <port>

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

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

للحصول على قائمة كاملة بالأوامر المتاحة، يُرجى الاطّلاع على ملف protobuf هذا.

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

يتضمّن ذلك حاليًا العيّنات التالية:

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

‫28.0.25 (‫29 مارس 2019)

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

إنشاء محاكي بدون واجهة مستخدم رسومية

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

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

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

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

‫28.0.23 (29 يناير 2019)

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

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

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

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

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

آخر الأخبار حول التحقيقات في استخدام وحدة المعالجة المركزية

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

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

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

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

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

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

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

‫28.0.22 (21 ديسمبر 2018)

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

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

‫28.0.20 (11 ديسمبر 2018)

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

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

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

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

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

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

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

تشغيل عدة مثيلات لجهاز محاكاة Android واحد في الوقت نفسه

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

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

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

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

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

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

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

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

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

تعمل اللقطات التي يتم أخذها وتحميلها من خلال وظيفة واجهة مستخدم &quot;اللقطات&quot; كما كانت من قبل، بدون ربط الملفات.

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

QuickbootFileBacked = off

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

‫QEMU 2.12

أعدنا ضبط إصدار QEMU الذي نستخدمه من الإصدار 2.9 إلى الإصدار 2.12. يتضمّن هذا التحديث تغييرات QEMU التالية:

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

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

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

  • تم إصلاح المشاكل المتعلقة بقارئات الشاشة، كما تم تحسين توافق هذه الأدوات مع واجهة المستخدم الخاصة بميزتَي "تسجيل الشاشة" و"لقطة الشاشة".
  • أصبح من الأسهل على المستخدمين المصابين بعمى الألوان الوصول إلى رموز الإشعارات في ميزة "Quick Boot".

الرسومات

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

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

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

الكاميرا

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

متجر Play

لحلّ المشاكل المتعلّقة بنفاد مساحة القرص في صور &quot;متجر Play&quot;، يعيد المحاكي الآن تلقائيًا تغيير حجم قسم بيانات المستخدم إلى 6 غيغابايت عند التشغيل باستخدام جهاز Android الافتراضي (AVD) جديد في &quot;متجر Play&quot;.

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

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

HAXM 7.3.2

نودّ الإشارة مجددًا إلى الإصدار 7.3.2 من HAXM لأنّه يجب تثبيته لكي تعمل صور النظام الحديثة بشكل صحيح على المحاكي. من المفترض أن يتوفّر الإصدار 7.3.2 من HAXM في القناة الثابتة، ويمكن أيضًا تثبيته يدويًا من https://github.com/intel/haxm/releases.

في ما يلي بعض المشاكل التي تم حلّها في هذا الإصدار من HAXM:

  • تم إصلاح الأعطال العشوائية لأنظمة التشغيل الضيف التي تستخدم نواة Linux حديثة (الإصدار 4.6 أو أحدث). على سبيل المثال، Ubuntu 18.04 (#39، #74).
  • تم إصلاح خطأ في محاكي تعليمات x86 كان يمكن أن يؤدي إلى تعطُّل المضيف (#93).

إيقاف إصدارات Windows بسرعة 32 بت نهائيًا

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

يُرجى إعلامنا في Issue Tracker إذا كنت تعتمد حاليًا على الإصدار 32 بت من &quot;محاكي Android&quot; الذي يعمل على Windows، وإخبارنا بكيفية العمل معك على أفضل نحو في المستقبل.

‫27.3.10 (أغسطس 2018)

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

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

أبلغ بعض المستخدمين عن بطء أداء المحاكي. لقد حدّدنا أحد الأسباب المحتملة، وهو أنّه تم ضبط حجم ذاكرة الوصول العشوائي (RAM) لجهاز Android الافتراضي بشكل غير صحيح في ملف config.ini الخاص بالجهاز.

للتخفيف من حدّة هذه المشكلة، يزيد المحاكي الحد الأدنى لمستوى ذاكرة الوصول العشوائي للصور التي تستخدم مستوى واجهة برمجة التطبيقات 26 أو المستويات الأعلى إلى مستوى 1536 ميغابايت التلقائي في &quot;استوديو Android&quot;. إذا لم يعرض ملف config.ini لجهازك الافتراضي الذي يعمل بنظام التشغيل Android (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)

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

اللقطات

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

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

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

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

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

HAXM 7.2.0

يتوفّر الإصدار 7.2.0 من HAXM الآن في جميع القنوات.

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

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

‫27.2.9 (مايو 2018)

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

تسجيل الشاشة

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

اللقطات

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

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

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

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

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

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

  su
  setprop debug.hwui.renderer skiagl
  stop
  start

الكاميرا

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

على أجهزة Mac، يمكنك الآن استخدام webcam0 وwebcam1 معًا.

متنوعة

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

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

الإصلاحات

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

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

‫27.1.12 (مارس 2018)

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

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

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

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

‫27.1.10 (فبراير 2018)

  • درجة دقة التقاط الصور بالكاميرا

    يمكن الآن التقاط لقطات بدقة 720 بكسل من كاميرا ويب خارجية.

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

  • الإصلاحات

    • تم إصلاح مشكلة كانت تؤدي أحيانًا إلى عرض صورة مشوّهة أو خضراء بالكامل عند التقاط المحتوى من كاميرا الويب.
    • تم إصلاح المشكلة التي أتاحت إمكانية ظهور الرسالة التالية حتى عندما لم يكن هناك تعليق فعلي: "emulator: ERROR: detected a hanging thread 'Qt event loop'. لم يتم تلقّي أي ردّ خلال 15000 ملي ثانية".

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

‫27.1.7 (فبراير 2018)

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

    يتم الآن عرض المحاكيات التي تتضمّن ملفات مظهر الجهاز تلقائيًا بدون إطار نافذة محيط. لعرض إطار النافذة المحيطة، فعِّل خيار عرض إطار النافذة حول الجهاز في لوحة &quot;الإعدادات&quot; ضمن نافذة عناصر التحكّم الموسّعة.

  • تحسينات على ميزة Quick Boot لجعل العمل مع اللقطات في جهاز Android الافتراضي أكثر فعالية:

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

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

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

    تشمل بعض التحسينات البارزة ما يلي:

    • تم تحسين عمليات الإدخال والإخراج وإتاحة قفل أكثر دقة لمؤشر ترابط الإدخال والإخراج من أجل تحسين الأداء.
    • تم إصلاح الأخطاء منذ الإصدار 2.8 من QEMU (الإصدار 26.1.4).
    • تنفيذ جديد للواجهة الخلفية HAXM

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

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

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

  • الإصلاحات

    • تم حلّ مشكلة عدم عمل ميزة مشاركة الحافظة إلا بعد إيقاف خيار تفعيل مشاركة الحافظة ثم إعادة تفعيله.
    • تم إصلاح مشكلة تعليق عند استخدام الخلفية النهائية للعرض Swiftshader مع أجهزة AVD منخفضة الدقة.

‫27.0.5 (يناير 2018)

  • تم الآن إيقاف ANGLE تلقائيًا لعرض المحتوى على أجهزة Windows.

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

  • تم إصلاح المشكلة التي لا تؤدي فيها الضغط على Shift+B إلى كتابة الحرف B الكبير.

‫27.0.2 (ديسمبر 2017)

  • توفر ميزة Quick Boot الجديدة أوقات بدء أسرع للمحاكي، وذلك استنادًا إلى لقطة من مثيل جهاز Android الافتراضي.

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

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

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

    لا ينطبق اختيارك إلا على محاكي Android المفتوح حاليًا.

    لمزيد من المعلومات، يُرجى الاطّلاع على مستندات Quick Boot.

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

  • لتحقيق ثبات إضافي في تطبيقات OpenGL ES 2+، يستخدم المحاكي الآن ملف OpenGL الأساسي إذا كان متاحًا.

  • خيارات جديدة للعرض باستخدام Swiftshader / ANGLE:

    • ‫-gpu swiftshader_indirect: إصدار أسرع وأكثر استقرارًا من Swiftshader يعمل مع ميزة "التشغيل السريع".
    • ‫-gpu angle_indirect (على أجهزة Windows فقط): إصدار أكثر استقرارًا من ANGLE D3D يعمل أيضًا مع ميزة "Quick Boot".

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

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

‫26.1.4 (أغسطس 2017)

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

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

‫26.1.3 (أغسطس 2017)

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

  • يجب استخدام هذا الإصدار الآن لاستخدام أحدث صور نظام Android 8.0. وهي متوافقة مع Treble، وتتضمّن أقسام vendor.img منفصلة.
  • يتوفّر الآن الإصدار 6.2.0 الجديد من HAXM (يمكنك التحقّق من أداة SDK Manager) ويتضمّن التحديثات التالية:
    • تحسين استخدام الذاكرة لم يعُد الحد الأقصى لمجموعة العمل من الذاكرة المثبّتة بواسطة HAXM يساوي حجم ذاكرة الوصول العشوائي (RAM) لجهاز Android الافتراضي، بل يتم الآن تقسيم الذاكرة إلى صفحات عند الطلب. من المفترض أن يساعد ذلك في تشغيل المحاكي بشكل أكثر موثوقية على الأجهزة التي تتضمّن مقدارًا أقل من ذاكرة الوصول العشوائي.
    • يمكن الآن تشغيل المحاكي الذي يتضمّن HAXM 6.2.0 بشكل أسرع على نظام التشغيل macOS، وذلك من خلال تخطّي مرحلة تهيئة طويلة.
  • تحسينات على إعدادات وحدة معالجة الرسومات
    • تم إصلاح المشاكل المتعلّقة بالشاشة السوداء عند بدء التشغيل عند إجراء عرض البرنامج على جانب الضيف من خلال الرجوع إلى عرض البرنامج على جانب المضيف باستخدام Swiftshader. يجب أن تتضمّن أحدث مراجعات صور النظام للمستويات 19 إلى 25 من واجهة برمجة التطبيقات مع واجهات Google APIs عملية عرض صحيحة على جانب الضيف.
    • تم إصلاح المشكلة التي كانت تؤدي إلى تبديل المحاكي إلى برنامج عرض بسبب رصد وحدات معالجة رسومات Intel قديمة، مع أنّ المحاكي كان يعمل في الواقع على وحدة معالجة رسومات منفصلة. يتم تحديد وحدات معالجة الرسومات التي سيتم التبديل إلى استخدام ANGLE أو Swiftshader في عرض المحتوى على النحو التالي:
      • تواجه وحدات معالجة الرسومات المدمجة (iGPU) القديمة من 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) إذا تم ضبط الجهاز الافتراضي الذي يعمل بنظام التشغيل Android على hw.gpu.mode=host وتم تشغيل المحاكي في برنامج سطح مكتب بعيد.
    • تم توضيح إعدادات "مستوى واجهة برمجة تطبيقات OpenGL ES (يتطلّب إعادة التشغيل)"، وتمت إضافة خيار للرجوع من OpenGL ES 3 إلى OpenGL ES 2 في حال مواجهة مشاكل أو الحاجة إلى الاختبار على مستويات أقل من واجهة برمجة تطبيقات OpenGL ES.
    • تم إيقاف عارض Mesa نهائيًا، وسيتم الآن التبديل تلقائيًا إلى استخدام Swiftshader على المضيف في hw.gpu.mode=mesa.
  • تحسينات على نظام التشغيل macOS:
    • يتوافق المحاكي الآن تمامًا مع نظام التشغيل macOS 10.13 High Sierra من خلال Hypervisor.Framework أو HAXM 6.2.0.
    • يتم الآن تفعيل Hypervisor.framework تلقائيًا على أجهزة macOS لصور x86 ذات 32 بت، وذلك لتحسين الأداء والتوافق مع macOS. إذا واجهت مشاكل في هذا الملف تحديدًا، يُرجى تسجيل تقرير خطأ وإضافة HVF = off إلى ~/.android/advancedFeatures.ini (أنشئ هذا الملف إذا لم يكن متوفّرًا).
    • تم إصلاح المشاكل المتعلقة بعدم توفّر اتصال بالإنترنت / تعذُّر ربط أداة تصحيح الأخطاء أثناء استخدام Hypervisor.framework.
    • لتحسين التوافق والأداء عند التقاط الصور من كاميرا الويب، تم استبدال عملية التقاط الصور المستندة إلى QTKit بعملية أخرى مستندة إلى AVFoundation.
  • تمت إضافة إمكانية استخدام شبكة Wi-Fi في بعض صور النظام (المستوى 25 من واجهة برمجة التطبيقات فقط في الوقت الحالي). تتوفّر نقطة وصول باسم "AndroidWifi" ويتصل بها جهاز Android تلقائيًا. يمكن إيقاف دعم شبكة Wi-Fi من خلال تشغيل المحاكي باستخدام معلَمة سطر الأوامر -feature -Wifi.
  • أشار بعض المستخدمين إلى أنّ صور نظام &quot;متجر Google Play&quot; ذات الحجم الثابت لا تتضمّن مساحة تخزين كافية. لذلك، زدنا حجمها إلى 2 غيغابايت تلقائيًا (بعد أن كان 800 ميغابايت).
  • تمت إضافة اختصار لوحة مفاتيح (Ctrl+Shift+U) لفتح صفحة واجهة مستخدم الإبلاغ عن الأخطاء مباشرةً من صفحة الإعدادات.
  • تم إصلاح مشكلة كانت تؤدي إلى تعذُّر تشغيل المحاكي إذا تم ضبط أكثر من نواة واحدة عند استخدام وحدة معالجة مركزية قديمة مزوّدة بتقنية Intel x86 EPT ولكن بدون UG.
  • تم إصلاح مشكلة عدم رصد HyperV بشكل صحيح إذا كان المحاكي يعمل في Xen hypervisor.
  • تم إصلاح المشكلة التي كان يتوقّف فيها المحاكي عن العمل عند بدء التشغيل في بعض إعدادات Linux.

‫26.1.2 (يوليو 2017)

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

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

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

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

      • لاستخدام برنامج مشاركة الشاشة المضمّن في جهاز Mac، يجب توفير كلمة مرور VNC عند تشغيل المحاكي. لضبط كلمة مرور، استخدِم الأمر التالي:

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

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

    لا يتوافق نظام التشغيل Android O حاليًا مع وضع VNC.

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

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

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

  • تمت إضافة دعم تجريبي لـ Hypervisor.Framework على نظام التشغيل macOS للصور x86 ذات 32 بت على نظام التشغيل 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 غير المعروضة على الشاشة لجميع عمليات العرض باستثناء نشر صورة العرض النهائية، ما سيساعد في حل مشاكل اتساق الألوان على جميع الأنظمة الأساسية.

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

‫26.0.0 (مارس 2017)

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

الإصدار الثانوي 26.0.3 (مايو 2017)

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

التحديثات التي تتضمّن الإصدار 6.1.1 من HAXM (مارس 2017)

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

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

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

الطلبات التابعة

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

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

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

‫25.3.0 (مارس 2017)

اعتبارًا من هذا الإصدار، سيتم طرح Android Emulator بشكل منفصل عن أدوات حزمة تطوير البرامج (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

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

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

‫OpenXR™‎ وشعار OpenXR هما علامتان تجاريتان مملوكتان لشركة The Khronos Group Inc. ‎ ومسجّلتان كعلامة تجارية في الصين والاتحاد الأوروبي واليابان والمملكة المتحدة.