يتوفّر محاكي Android مع "استوديو Android".
تم توزيع إصدارات المحاكي قبل الإصدار 25.3.0 كجزء من أدوات حزمة تطوير البرامج (SDK) لنظام التشغيل Android.
للتأكّد من توفّر أحدث إصدار، يُرجى التحقّق من التحديثات في مدير حِزم تطوير البرامج (SDK).
لتنزيل الإصدارات السابقة من "محاكي Android"، يُرجى الاطّلاع على أرشيف تنزيل "محاكي Android".
للاطّلاع على ملاحظات الإصدار لإصدارات المحاكي الأقدم من 25.3.0، يُرجى الاطّلاع على ملاحظات إصدار "أدوات حزمة تطوير البرامج (SDK) لنظام التشغيل Android".
للاطّلاع على المشاكل المعروفة وتحديدها وحلّها، يُرجى الاطّلاع على تحديد المشاكل وحلّها في المحاكي.
35.2.10 (1 تشرين الأول/أكتوبر 2024)
- تمت إضافة أجهزة افتراضية جديدة لهواتف Pixel، بما في ذلك Pixel 9 وPixel 9 Pro وPixel 9 Pro XL وPixel 9 Pro Fold
- تمت إضافة صورة جديدة لنظام الجهاز اللوحي لآيس كريم Vanilla Ice (واجهة برمجة التطبيقات 35)
35.1.20 (29 آب/أغسطس 2024)
- تمت إضافة جهاز Pixel 8a AVD
- إصلاحات أخطاء متنوّعة للأجهزة القابلة للطي
- تحديث Qt وإصلاحات للأعطال والتعليقات المرتبطة بـ qt
- [إصلاح أخطاء] إصلاح الأعطال والتوقّف عن العمل على نظام التشغيل Windows مع التطبيقات التي تستخدم Vulkan
16 يوليو 2024 (9 يوليو 2024)
- [إصلاح أخطاء] تجميد واجهة المستخدم على هاتف Pixel Fold أثناء الطي أو الفتح
- [إصلاح الأخطاء] عرض إصدار Android بشكل غير صحيح على هيئة Android Vanilla Icecream معاينة بدلاً من واجهة برمجة التطبيقات 35 على Mac M1.
- [إصلاح خطأ] المشكلة رقم 296162661: يعرض HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE القيمة true على محاكي جهاز Pixel C اللوحي
34.2.15 (31 أيار (مايو) 2024)
- إصلاحات متنوّعة للأعطال المتعلّقة بوضع swangle وتنظيف المعلِنين
34 مايو 2024 (20 مايو 2024)
تم اختباره باستخدام الإصدار 1 من تصحيح الإصدار الثابت Jellyfish من "استوديو Android".
- [إصلاح الخلل] تعليق لقطة سريعة لحالة الجهاز أحيانًا في المحاكي المضمّن
- [إصلاح خطأ] لا يعمل زرّا "لا" و"إلغاء" بشكل صحيح في اللقطة
- [إصلاح الخطأ] لا تعمل أزرار لوحة الاتجاهات
- [إصلاح خطأ] تم إصلاح المشكلة التي كانت تمنع تشغيل المحاكي في بعض الحالات على نظام التشغيل Windows عند استخدام أوضاع وحدة معالجة الرسومات مع ANGLE، وعرض رسالة الخطأ "تعذّر بدء محاكاة GL" في السجلّ. يُرجى العِلم أنّ تشغيل المحاكي من خلال سطر الأوامر باستخدام الخيار
-gpu swangle_indirect
قد يؤدي إلى ظهور هذا الخطأ في هذا الإصدار. إذا كنت لا تزال تريد تشغيل المحاكي باستخدام سطر أوامر على نظام التشغيل Windows مع ميزة "عرض الرسومات باستخدام البرامج" في هذا الإصدار، يُرجى استخدام-gpu swiftshader_indirect
. - [إصلاح خطأ] يؤدي اختصار الموقع على لوحة المفاتيح إلى تحميل خريطة غير قابلة للاستخدام
- [إصلاح خطأ] عدم ظهور مربّع الحوار "حفظ المسار" أثناء ضبط الموقع الجغرافي
34.2.13 (30 نيسان (أبريل) 2024)
تم اختباره باستخدام الإصدار الثابت من Android Studio Jellyfish.
- التحديث إلى Qt 6.5.3
- التوافق مع تحديثات واجهة برمجة التطبيقات لخرائط Google المستخدَمة في ميزات الموقع الجغرافي ضمن عناصر التحكّم الموسّعة في المحاكي، وذلك في نهاية شهر أيار (مايو)
- إصلاحات الأعطال ذات التأثير الكبير
- إصلاحات متنوّعة على أجهزة Pixel AVD
- تعديل مكتبة الرسومات المستخدَمة في المعالجة البرمجية
- [إصلاح الخطأ]المشكلة 225541819 يؤدي بدء Chrome إلى تعطُّل المحاكي على x86_64
- [إصلاح خطأ]المشكلة 314614435 تحليل مفتاح التبديل
-http-proxy
بشكل غير صحيح
34 ديسمبر 2024 (1 أبريل 2024)
تم اختباره باستخدام الإصدار الثابت من Iguana في "استوديو Android".
- [إصلاح خلل] المشكلة رقم 314614435: إصلاح مشكلة تحليل مفتاح التبديل
-http-proxy
بشكل غير صحيح
34 مارس 2024 (7 مارس 2024)
تم اختباره باستخدام الإصدار الثابت من Iguana في "استوديو Android".
- [إصلاح أخطاء] المشكلة رقم 312677259: تم إصلاح تجميد الشاشة في المحاكي المضمّن بعد تغيير حجم النافذة.
34.1.18 (29 شباط/فبراير 2024)
تم اختباره باستخدام الإصدار الثابت من Iguana في "استوديو Android".
- تمت إضافة الأجهزة إلى المحاكي، بما في ذلك:
- Pixel Fold
- Pixel Tablet
- Pixel 8
- Pixel 8 Pro
- Pixel 7a
- اختبار دمج gRPC: تتوفّر نقاط نهاية gRPC الآن للاختبارات المُعدّة التي تعمل داخل المحاكي، ما يتيح اختبار سيناريوهات واقعية. تتيح هذه الميزة للمطوّرين التفاعل بأمان مع نقطة نهاية gRPC التي يستضيفها "محاكي Android" من داخل اختبارات أدوات قياس الأداء في Android.
- إصلاح أخطاء متنوعة
- إصلاح أخطاء: تحسينات على سهولة استخدام الأجهزة القابلة للطي
- إصلاح أخطاء: تعديل موضع المحاكي بعد التدوير
- إصلاحات الأعطال
33.1.24 (28 كانون الأول/ديسمبر 2023)
تم اختباره باستخدام الإصدارات الثابتة من Android Studio Hedgehog والإصدار التجريبي 1 من Iguana.
- إصلاح مشكلة كاميرا الويب في المحاكي التي لا تسمح بتسجيل الشاشة بتنسيق mp4
- إصلاح تعطُّل المحاكي على Pixel Fold AVD عند فتحه أثناء تسجيل الشاشة
- إصلاح مشكلة ظهور خلفية هاتف مختلفة في Pixel Fold مع لوحة مفاتيح غير متصلة وغير قابلة للاستخدام (تم إصلاحها على نظام التشغيل Windows وMac Intel وLinux)
- إصلاح مشكلة في مظهر أدوات الاستشعار الافتراضية في الوضع "مستقل" (تم إصلاحها على نظام التشغيل Windows وMac Intel وLinux)
- إصلاح بعض الأعطال، وخاصةً عند إغلاق المحاكي،
33.1.23 (30 تشرين الثاني/نوفمبر 2023)
تم اختباره باستخدام الإصدار 4 من تصحيح Giraffe في "استوديو Android" والإصدار الثابت من Hedgehog.
- عملية جديدة قابلة للطي لمحاكاة جهاز Pixel Fold بشكل أفضل، وتعمل مع أحدث واجهة برمجة التطبيقات 34
- ترقية الخلفية الرسومية: لقد نفّذنا بروتوكول gfxstream للخلفية الرسومية، ما يعزّز الأداء العام للرسومات واستقرار النظام. بالإضافة إلى ذلك، تقديم دعم Vulkan 1.3 بدءًا بصورة النظام مع واجهة برمجة التطبيقات 34
- طلب ميزة: خيار لإيقاف إيماءة التصغير/التكبير أو إعادة تعيين مفتاح التشغيل السريع لها
- [إصلاح الخطأ] المشكلة رقم 302562962 إصلاح تعطُّل كاميرا المحاكي عند استخدام نظام التشغيل MacOS sonoma
- [إصلاح خلل] المشكلة رقم 293503871 إصلاح مشكلة عدم حفظ إعدادات "الميكروفون" عند إعادة تشغيل المحاكي
- [إصلاح الخطأ] المشكلة رقم 270386314 إصلاح خطأ في الرسوم المتحركة حيث يظل الشريط الجانبي مفتوحًا بعد تصغير شاشة AVD
- [إصلاح الخطأ] المشكلة رقم 154896775 إصلاح أداة إرسال الأخطاء
32 أغسطس 2023 (29 آب/أغسطس 2023)
تم الاختبار باستخدام الإصدار 1 من تصحيح Giraffe في "استوديو Android" والإصدار 16 من Hedgehog Canary.
- الامتثال لمتطلبات الأجهزة في GAS لأجهزة الاستشعار في محاكي AAE
- [إصلاح خطأ] المشكلة رقم 266201208 عدم إرسال الرسائل القصيرة باللغة العبرية على واجهة برمجة التطبيقات 33
- [إصلاح الأخطاء] المشكلة رقم 257097404 لا يعرض المحاكي الوقت الصحيح بعد تنشيط المضيف على واجهة برمجة التطبيقات 29 وواجهة برمجة التطبيقات 30
- [إصلاح الخطأ] المشكلة رقم 228201899 لا يمكن عرض "خرائط Google" داخل عناصر التحكّم الموسّعة في "محاكي Android"
32.1.14 (27 حزيران/يونيو 2023)
تم اختباره باستخدام الإصدار 8 من Hedgehog Canary وGiraffe Beta 5 وFlamingo الإصدار الثابت من "استوديو Android".
- إصلاح تشوه الكاميرا في المحاكي واتجاهاتها
- [إصلاح خلل] المشكلة رقم 257097404 "لا يعرض المحاكي الوقت الصحيح بعد تنشيط المضيف". لا يزال بإمكانك إعادة إنتاج هذا الخطأ في المستوى 29 و30 لواجهة برمجة التطبيقات.
- [إصلاح خلل] المشكلة رقم 243456582 "قد لا تبدأ إصدارات Android بعد الإصدار 30 من واجهة برمجة التطبيقات بشكل صحيح في المحاكي على أجهزة Mac M1"
32.1.13 (22 أيار/مايو 2023)
تم اختبارها باستخدام الإصدار 2 من Hedgehog Canary و1 من الإصدار التجريبي من Giraffe والإصدار الثابت من Flamingo في "استوديو Android".
- يمكنك إضافة دعم لـ AVD في هاتفَي Pixel Fold وPixel Tablet.
- تحسين مشكلة تعطُّل gLinux
- [إصلاح الأخطاء] المشكلة رقم 215231636 "لا يعمل المحاكي الذي يحتوي على واجهة برمجة تطبيقات أعلى من واجهة برمجة التطبيقات 30 في معالج Intel من الجيل الثاني عشر".
- [إصلاح الأخطاء] المشكلة رقم 275397905 تحدث أعطال كبيرة في محاكي Android M1 عند تحريك تركيز المؤشر داخل المحاكي وخارجه بشكل متكرر.
- مشكلة معروفة في تشغيل AVD المشكلة رقم 281725854 يُرجى الاطّلاع على تحديد المشاكل وحلّها في المحاكي للحصول على مزيد من المعلومات.
32.1.12 (21 آذار/مارس 2023)
تم اختباره باستخدام الإصدار 10 من Giraffe Canary وإصدار Flamingo RC وElectric Eel Patch 2 من "استوديو Android".
- [إصلاح أخطاء] المشكلة رقم 267647323 لا تعمل الشبكة على المحاكي الذي تم تشغيله من Android Studio
- [إصلاح خطأ] المشكلة رقم 268498686 وميض شاشة المحاكي
- [إصلاح أخطاء] المشكلة رقم 270034824 هبوط أداء المحاكي بعد التحديث إلى الإصدار 33.1.1
- [إصلاح الخلل] المشكلة رقم 225541819 يؤدي بدء Chrome إلى تعطُّل المحاكي على x86_64
- [إصلاح الأخطاء] المشكلة رقم 257097404 لا يعرض المحاكي الوقت الصحيح بعد تنشيط المضيف
- إضافة ميزة إعداد تقارير الأعطال لأجهزة Apple M1
32.1.11 (8 شباط/فبراير 2023)
تم الاختبار باستخدام Android Studio Giraffe Canary 2 وFlamingo التجريبي 1 وElectric Eel Patch 1.
- تحسينات سرعة الشبكة
- إتاحة الماوس في "المحاكي المضمّن"
- تحسينات على Virtio-snd
- إيقاف استخدام الروابط الرمزية أثناء فك ضغط "محاكي Android" أثناء التثبيت
- إصلاح العُطل في التحقّق من المحاكي
31.3.14 (13 كانون الأول/ديسمبر 2022)
تم الاختبار باستخدام الإصدارات Dolphin وElectric Eel RC1 وFlamingo Canary 9 من "استوديو Android".
- [إصلاح الخلل] إصلاح أعطال AVD التي تحدث عند تسجيل الدخول إلى "متجر Play"
31 مارس 2022 (27 تشرين الأول/أكتوبر 2022)
تم الاختبار باستخدام الإصدارات Dolphin وElectric Eel Beta 2 وFlamingo Canary 5 من "استوديو Android".
- [إصلاح خطأ] المشكلة رقم 249948338: عدم عمل مَعلمة المنطقة الزمنية
- [إصلاح خطأ] المشكلة رقم 249366543: لا يعمل خيار -dns-server في المحاكي بعد الإصدار 31 من واجهة برمجة التطبيقات
31.3.12 (10 تشرين الأول/أكتوبر 2022)
تم اختباره باستخدام الإصدار التجريبي 1 من Dolphin وElectric Eel في "استوديو Android".
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
- [إصلاح خطأ] المشكلة رقم 247843000: خطأ في معالجة المسار النسبي لتطبيق AVD
- زيادة حجم القرص لواجهة برمجة التطبيقات 24 والإصدارات الأحدث
31.3.11 (23 أيلول/سبتمبر 2022)
تم اختباره باستخدام Android Studio Dolphin وElectric Eel Canary 10.
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
- [إصلاح أخطاء] تعطُّل AVD المحاكي المضمّن في نافذة عناصر التحكّم الموسّعة
- [إصلاح الأخطاء] المشكلة رقم 183139207: مشاكل الصوت المرتبطة بتفعيل المحاكي للميكروفون
- [إصلاح أخطاء] المشكلة رقم 229764024: خطأ في لمسة AVD اللزجة يؤدي إلى مشاكل في سلوك واجهة المستخدم
- [إصلاح خطأ] خطأ في تشغيل AVD لمستوى واجهة برمجة التطبيقات 33 على جهاز Mac M1
- [إصلاح الخطأ] المشكلة رقم 243053479: سرعة شبكة بطيئة بعد تحديث المحاكي
- [إصلاح خطأ] المشكلة رقم 244617627: عدم عمل الموقع الجغرافي في "خرائط Google" على نظامَي التشغيل Windows وLinux
- [إصلاح أخطاء] المشكلة رقم 232971796: عدم عمل الزر "الاتصال بالجهاز" في صفحة "عناصر التحكّم الموسّعة" > "الهاتف"
- تحديث "محاكي Android" إلى minigbm
- نقل نصوص البناء إلى Python3
31.3.10 (18 آب/أغسطس 2022)
تم الاختبار باستخدام الإصدار التجريبي 5 من Dolphin وElectric Eel Canary 9 من Android Studio.
تتوفّر الآن عمليات تنزيل مستقلة للمحاكي. إذا واجهت أي مشاكل أو أعطال في هذا الإصدار الأحدث والمستقر، يُرجى الإبلاغ عن خطأ والتفكير في تنزيل إصدار سابق يعمل بشكل جيد من أرشيف تنزيل المحاكي.
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
- تحسين دعم مسار Unicode على نظام التشغيل Windows
- معالجة أفضل لإيقاف المحاكي حتى يمكن بدء تشغيل جديد لجهاز AVD نفسه بنجاح
- تم تعديل تصميم متوسّط مدة المشاهدة القابل للطي والإعدادات التلقائية.
- تم تعديل أزرار محاكي Wear
- تحسينات على بث الصوت باستخدام gRPC
- تمت إضافة أمر وحدة تحكّم المحاكي القابل للتغيير حجمه
- إصلاح Chrome لواجهة برمجة التطبيقات 31
- [إصلاح الخطأ] تعذّر مصادقة حساب Google باستخدام الإصدار 21.42.18 من GmsCore
31.2.10 (20 نيسان/أبريل 2022)
تم اختباره باستخدام الإصدار 8 من Dolphin Canary وChipmunk RC 1 من "استوديو Android".
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
- إضافة أداة لتحميل دوال Vulkan باستخدام العناصر الاحتياطية
- [إصلاح الخطأ] إصلاح خطأ الإنشاء في gcc8
31.2.9 (23 آذار/مارس 2022)
تم الاختبار باستخدام الإصدار 7 من Dolphin Canary في "استوديو Android".
يتضمّن هذا التحديث الإصلاح التالي:
- [إصلاح الخطأ] تجاهل الضغط على الذاكرة عند حفظ لقطة شاشة على M1
31.2.8 (7 شباط/فبراير 2022)
تم الاختبار باستخدام الإصدار 1 من تصحيح Bumblebee في "استوديو Android" والإصدار 6 من Chipmunk Canary.
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
- [إصلاح الخطأ] تعذّر تسجيل الدخول إلى التطبيقات
- [إصلاح خطأ] المشكلة رقم 215368358: سيؤدي "إعادة تشغيل adb" على منصة Intel إلى تعطُّل avd مع ظهور "طلب إيقاف وحدة المعالجة المركزية الافتراضية"
31.2.7 (1 شباط/فبراير 2022)
تم الاختبار باستخدام الإصدار 1 من تصحيح Bumblebee في "استوديو Android" والإصدار 6 من Chipmunk Canary.
يتضمّن هذا التحديث الإصلاح التالي:
- [إصلاح خطأ] خطأ في تعليق المحاكي على أجهزة M1
31.2.6 (20 كانون الثاني/يناير 2022)
تم الاختبار باستخدام الإصدار Arctic Fox من "استوديو Android" والإصدار Bumblebee Beta 4 والإصدار Chipmunk Canary 6.
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
- تمت إضافة أزرار Wear إلى محاكي Wear OS.
- تمت إتاحة تعديل جميع خصائص المركبة في علامة التبويب VHAL.
- [إصلاح الخطأ] تعذّر مصادقة حساب Google باستخدام الإصدار 21.42.18 من GmsCore
- [إصلاح خطأ] لم يعمل Netshaper بشكل جيد مع VirtioWifi.
- [إصلاح خطأ] تعذّر تنفيذ الأمر في وحدة تحكّم الماوس الخاص بالحدث.
- تمت إضافة فحص KVM لإنشاء جهاز افتراضي Android على الجهاز
31.1.3 (18 كانون الثاني/يناير 2022)
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
- تم تفعيل منافذ وحدة التحكّم في Fuchsia.
- عند تغيير حجم نافذة متعددة الشاشات، يتم تجاهل الاتجاه.
- Wi-Fi: تمت إضافة إمكانية فلترة حزم البث المباشر استنادًا إلى عنوان MAC لبروتوكول MAT.
- Wi-Fi: عطل تم إصلاحه عندما تكون شبكة VPN قيد الاستخدام.
30.9.5 (15 كانون الأول/ديسمبر 2021)
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
- تمّت إضافة إمكانية تغيير حجم النافذة بسهولة لتصبح بحجم كمبيوتر مكتبي أو جهاز لوحي.
- تمت إضافة إمكانية استخدام ميزة الإدخال باللمس المتعدّد من الأجهزة المضيفّة المتوافقة.
- VirtioWifi: تمت إضافة إمكانية استخدام شبكة النقر.
- تم تفعيل الإدخال الدوراني لصور نظام التشغيل Wear.
- تم إصلاح مشكلة إعدادات صوت gRPC.
- تم تعديل ميزة "تشغيل المحاكي SensorReplay" لتتوافق مع أدوات استشعار Android العادية.
- تم توصيل المحاكي بالأجهزة الملحقة والأجهزة باستخدام USB عبر منفذ USB.
30.4.5 (23 شباط/فبراير 2021)
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
- نظام التشغيل macOS: تم حلّ المشاكل المتعلّقة بتشويش إدخال الصوت.
- تمت إضافة دعم لبرنامج virtio-vsock في مساحة المستخدم.
- ستستخدم صور النظام المستقبلية virtio-console لرسائل logcat والنواة.
- تسريع عرض Vulkan
- تمت إضافة إمكانية تصحيح أخطاء اللقطات عند تعذُّر إجراء الاختبار.
- virtio-gpu: تم تعديل التعريفات لتتوافق مع أحدث قوائم الموارد المصغّرة.
- تمت إضافة ميزة "لقطة شاشة" لنقل الرسومات من النوع "asg".
- macOS: تمت إضافة إمكانية إنشاء التطبيقات باستخدام حزمة تطوير البرامج (SDK) 11.1 من macOS والإصدارات الأحدث.
- يتم تفعيل KVMclock تلقائيًا على صور النظام الأحدث.
- تمت إضافة إمكانية استخدام جهاز استشعار معدل ضربات القلب إلى محاكيات Wear.
- تمت إزالة واجهة Vulkan القابلة للنقل.
- تمت إضافة دعم لمزيد من الميزات في محاكي المودم.
30.0.26 (16 آب/أغسطس 2020)
يتضمّن هذا التحديث العديد من الميزات الجديدة وتحسينات على الميزات الحالية وإصلاحات للأخطاء.
التوافق مع الأجهزة القابلة للطي باستخدام أداة استشعار المفصل الافتراضي والعرض الثلاثي الأبعاد
تمت إضافة دعم أدوات استشعار المفصّلة للأجهزة القابلة للطي. يتطلب ذلك استخدام ملف غداً صورة نظام Android 11 وإعداد AVD. تم الآن دمج معلَمات العرض الثلاثي الأبعاد والعرض المفصّل مع الإعدادات المسبقة الحالية القابلة للطي. يمكن استخدام الخطوات التالية مع ملف
config.ini
لجهاز AVD القابل للطي بإصدار 7.3، على سبيل المثال:hw.sensor.hinge = yes hw.sensor.hinge.count = 1 hw.sensor.hinge.type = 1 hw.sensor.hinge.ranges = 180-360 hw.sensor.hinge.defaults = 180 hw.sensor.hinge.areas = 54.7-0 hw.sensor.posture_list=4, 3 hw.sensor.hinge_angles_posture_definitions=210-360, 180-210 hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture=4
تتضمّن الأجهزة القابلة للطي الآن أيضًا مَعلمة نوع فرعي. أصبح الموقع الإلكتروني
config.ini
hw.sensor.hinge.sub_type = hinge/fold
متاحًا الآن. يمكنك الاطّلاع على مشاركة المدونة تطوير تطبيقات Android 11 باستخدام محاكي Android لقراءة المزيد.تم تفعيل أداة استشعار المفصل الآن تلقائيًا.
في حال ضبط جهاز قابل للطي، يرسل المحاكي الآن إشعارات بشأن تعديلات أجهزة استشعار زاوية المفصل ومقدار تغير الوضع إلى الضيف. ستُعدِّل الآن الأجهزة القابلة للطي الحالية زاوية استشعار المفصل ووضعه عند الضغط على زرَّي الطي أو الفتح في شريط الأدوات.
محاكي لمضيفي ARM64
يتيح الآن رمز المصدر الخاص بمحاكي Linux إجراء عملية الترجمة المتعدّدة من مضيف x86_64 إلى مضيف arm64 ، ما يتيح تشغيل صور نظام arm64 باستخدام تقنية KVM للتشغيل الآلي. في الوقت الحالي، لا تتوفّر سوى
-gpu swiftshader_indirect
(عرض مضيف Swiftshader arm64)، ولكن يمكن أيضًا استخدام مجموعة متوافقة من مكتبات وحدة معالجة الرسومات المضيفة libEGL/libGLESv2 من خلال استبدال lib64/gles_swiftshader بها، ثم إعادة التشغيل باستخدام-gpu swiftshader_indirect
. قد لا تعمل اللقطات أيضًا (يجب إضافة-no-snapshot
إلى سطر الأوامر). التعليمات:mkdir emu cd emu repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1 repo sync -qcj 12 cd external/qemu pip install absl-py pip install urlfetch sudo apt-get install crossbuild-essential-arm64 python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64
لا يزال العمل جاريًا على توفير الدعم لأجهزة Apple Silicon.
دعم virtio-gpu
- تمت إضافة دعم على جانب المضيف لموارد ملف الوسائط المتّسقة لوحدة معالجة الرسومات virtio-gpu القادمة.
- بسبب طريقة عمل المحاكي، نعالج الآن virtqueue لوحدة virtio-gpu في سلسلت المعالجة vcpu (لأنّ عملية المعالجة يتم نقلها إلى سلاسل المعالجة الأخرى على أي حال). سيتم تفعيل معالجة وحدة virtio-gpu في إصدار مستقبلي من محاكي الأداء وصورة النظام.
- في صورة نظام مستقبلية، سيتمكّن المحاكي من تشغيل جميع الرسومات باستخدام حِزمة برمجية مستندة إلى virtio-gpu.
ميزات وتحسينات جديدة أخرى
- تتوفّر الآن ميزة "النقل المباشر عبر USB" على نظام التشغيل Windows باستخدام
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>
. (كان من المفترض أن يكون هذا العمل فعالاً على نظامي التشغيل Linux وmacOS) - تم تحديث مكتبات WebRTC إلى الإصدار M83.
- يتيح المحاكي الآن بث الصوت في الحاويات عبر WebRTC.
- تمت إزالة نقطة نهاية darwinn pipe.
- يتوفّر الآن فك ترميز CUDA VPx للفيديو، إذا كان متاحًا في
الأجهزة، من خلال متغيّر البيئة
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
. - على نظام التشغيل macOS، أصبح أسلوب SSE 4.1 و4.2 متاحًا الآن من داخل نظام التشغيل الضيف Android.
- على نظام التشغيل macOS، تم تفعيل INVTSC تلقائيًا. يمكن أن يحسن ذلك دقة قياسات الوقت من الضيف.
- نتتبّع الآن لوحة التحكّم الموسّعة التي اختارها المستخدم في المقاييس.
- يستخدم محاكي Linux الآن ساعة KVM الافتراضية عندما يكون الإصدار لنواة الضيف أكبر من أو يساوي 5.4 (صور نظام R أو الإصدارات الأحدث).
- يستخدم المحاكي الآن LZ4 لفك ضغط نواة الضيف، ما يجعله متوافقًا مع مسار النواة الحديث.
تمت إضافة أوامر وحدة تحكّم للحصول على دليل AVD المحاكي وملف الاكتشاف المسار في حالة الاستخدام المضمّنة في Studio ومسار اللقطات:
adb emu avd path # Obtains path to AVD directory adb emu avd discoverypath # Obtains path to discovery file adb emu avd snapshotspath # Obtains path to snapshots folder adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
لتسهيل توفير مساحة على الشاشة العمودية، أضفنا خيارًا لإخفاء إطار الجهاز لعرض AVD الحالي في عناصر التحكّم الموسّعة > الإعدادات. لإخفاء إطارات الأجهزة بشكلٍ عام لجميع أجهزة AVD، وفّرنا علامة ميزة
NoDeviceFrame
التي يمكن تفعيلها من خلال تشغيل المحاكي من سطر الأوامر باستخدام الإطار-feature NoDevice
، أو قفله من خلال إضافةNoDeviceFrame = on
إلى~/.android/advancedFeatures.ini
(أنشئ هذا الملف إذا لم يكن متوفّرًا).تمّت إضافة عنصر منسدل في صفحة شبكة الجوّال لتفعيل ميزة قياس حصة السرعة وإيقافها. هذا الإجراء لا يمكن استخدامه مع صور النظام القديمة التي لا تتيح خيار تبديل مقياس شبكة الجيل الخامس.
- تمت أيضًا إضافة أمر وحدة تحكّم للغرض نفسه:
gsm meter on|off
- تمت أيضًا إضافة أمر وحدة تحكّم للغرض نفسه:
تم ترقية مجموعة الأدوات أو عملية الإنشاء إلى C++17.
الإصلاحات: المحاكي المضمّن
- من المفترض أن تعمل الحافظة الآن.
- تم إصلاح مشكلة إرسال الأحرف الكبيرة كأحرف صغيرة في المحاكي.
- تم إصلاح مشكلة تحميل الرمز المميّز لوحدة التحكّم من مسار يونيكود في النوافذ.
- تم إصلاح رسالة الخطأ
SO_REUSEPORT
على نظام التشغيل Linux. - تم إصلاح مشكلة تلف اللقطة عند إرسال أوامر اللقطة من خلال gRPC، بالإضافة إلى عند الضغط على زر حفظ اللقطة في الemulater المضمّن في "استوديو Android".
عند استخدام محاكي Linux المضمّن في "استوديو YouTube"، تبيّن لنا أنّه إذا تمّ ذلك من خلال تطبيق "الوصول إلى الكمبيوتر المكتبي عن بُعد من Chrome"، سيحدث خطأ في عدم ضبط
XDG_RUNTIME_DIR
، وقد يؤدي ذلك إلى عدم ظهور المحاكي المضمّن بسبب وضع ملفات اكتشاف المحاكي فيXDG_RUNTIME_DIR
. يمكنك التحقق من حالة المشكلة المناظرة في أداة تتبع مشكلات Chrome.كحل بديل، يعود المحاكي الآن إلى استخدام ملفات الاكتشاف في دليل مختلف ربما يستند إلى رقم تعريف المستخدم:
/run/user/<uid>
.المحاكي المضمّن: يمكن الآن للأجهزة التي تتضمّن زوايا/فتحات مستديرة تغيير تنسيقها بشكلٍ سليم لإفساح المجال للزوايا والفتحة. يتطلب ذلك إعادة تشغيل تلك المحاكيات بدون تحميل أي بيانات سابقة.
تتيح نقطة نهاية gRPC الآن إرسال رسائل قصيرة إلى الجهاز.
إصلاحات عامة
- لقد واجهنا مشاكل في التوافق عند تشغيل محاكي Windows مع Riot Vanguard مفعّل. يرصد محاكي Windows الآن برامج مكافحة الغش في Vanguard وتظهر رسالة تحذيرية في حال رصد لعبة Vanguard.
- تم إصلاح خطأ
FD_SETSIZE
على نظام التشغيل Windows. نستخدم الآنWSAEventSelect()
بدلاً منselect()
لإنشاء اتصالات غير مانعة مع خوادم loopback. - تمت إضافة ميزة F16C CPUID إلى محاكي Linux مع إصلاح المشاكل المتعلّقة بتشغيل بعض تطبيقات ARM64 من خلال ترجمة NDK، وجارٍ العمل على إتاحة هذه الميزة لنظامَي التشغيل macOS وWindows.
- تم إصلاح تشغيل مسار gpx/kml لاتّباع الطوابع الزمنية.
- تم إصلاح رمز الارتداد عند التشغيل على نظام التشغيل MacOs.
- إذا كان
hw.audioInput=no
وhw.audioOutput=no
فيconfig.ini
، تم الآن إيقاف صوت المحاكي بشكل صحيح. - تم إصلاح مشكلة كانت تؤدي إلى استمرار ظهور نافذة عناصر التحكّم الموسّعة عند تغيير حجم نافذة المحاكي إذا تم تصغير نافذة المحاكي بينما كانت نافذة عناصر التحكّم الموسّعة مفتوحة ولكن غير نشطة. سنزيل السلوك بالكامل (الحالة التي تكون فيها نافذة عناصر التحكّم الموسّعة نشطة) في تحديث مستقبلي.
- تم إصلاح خطأ متكرر في عدم اتصال شبكة Wi-Fi عند بدء تشغيل المحاكي.
- تم إصلاح مشكلة تعليق المحاكي عند الخروج عندما يُصدر أوامر shell مع مهلة طويلة أو غير محدّدة.
- تم تعديل نظام BIOS في الكمبيوتر الشخصي مع إصلاحات لتحسين توافق الصور الكبيرة التي يتم تمريرها إلى
-initrd
، فقد كان نظام BIOS السابق يستخدم طريقة غير فعّالة للغاية. - تم إصلاح مشكلة الأعطال أثناء الإنهاء عند استخدام الخيار
-wifi-server-port
. - يعرض المحاكي الآن تحذيرًا في حال تم تمرير خيارات غير متوافقة إلى
-prop
(تتوفّر فقط سمات qemu.* ). - عند إنشاء المحاكي على نظام التشغيل Windows، من المفترض أن تقلّ احتمالية حدوث تعذُّرات متكررة في الكتابة إلى الملفات. لمزيد من المعلومات، يُرجى الاطّلاع على تعليمات إصدار Windows.
- تم إيقاف زر "التكبير/التصغير" في أجهزة AVD القابلة للطي، لأنّه كان يتسبب في مشاكل.
- يُبلغ المحاكي الآن بشكل صحيح عن وقت التشغيل الناتج عن إعادة تشغيل الجهاز.
- نظام التشغيل Linux: في حال عدم توفّر أذونات KVM كافية، يطبع المحاكي الآن تعليمات تصحيح الأخطاء بشكل أسرع.
- تم إصلاح مشكلة تعذُّر تشغيل المحاكي لصور النظام الحديثة بدون التسريع.
- تم إصلاح مشكلة تلف الذاكرة أو الأعطال عند بدء التشغيل من أداة رصد اكتملت عملية تشغيلها.
- تم إصلاح تسرب الذاكرة أثناء جلسات تسجيل الشاشة الطويلة.
- تم تعديل رموز المحاكي لتعكس العلامة التجارية للإصدار 4.1 من "استوديو YouTube".
- تمت إضافة دعم أفضل لرصد الجلسات البعيدة على نظام التشغيل Windows.
الحلول: فك ترميز الرسومات والفيديوهات
- تم إصلاح مشكلة ظهور شاشة سوداء في أحدث إصدار من لعبة Asphalt 9.
- تمت إزالة المحتوى غير المرغوب فيه بشأن مسح المخزن المؤقت الذي تم ربطه باستخدام
NULL
. - تم إصلاح مشكلة تعارض في العمليات عند إنهاء حالة Vulkan عند شغُّل تطبيق Vulkan ضيف.
- تم الآن دمج أدوات تظليل محاكاة Vulkan ASTC/ETC2 في مكتبة libOpenglRender. سيكون ذلك أكثر موثوقية مقارنةً بالقراءة من نظام الملفات.
- تم إصلاح مشكلة في Vulkan حيث كان
vkGetImageMemoryRequirements2KHR
يُمحو حقلpNext
في البنيةVkMemoryRequirements2
المعروضة بشكل غير صحيح في حال التشغيل باستخدام مثيل Vulkan 1.0 على ال host. - تم إصلاح تسرب للذاكرة في أداة عرض Vulkan.
- تم إصلاح مشكلة تراجع مؤخرًا تعذّر فيها تجميع برامج تشويش GLSL ES 1.00 التي تحتوي على أسماء متغيّرات مثل
isampler2D
. - تم تعديل مترجم Shader في ANGLE من خلال إصلاحات مختلفة تعالج احتمال عدم تجميع shaders على Linux.
- نُعطل الآن المحاكي إذا تعذّر compilingshader blit الأساسي لإطار التخزين المؤقت، وذلك لتتبُّع هذه الظاهرة.
- مترجم تظليل ANGLE المعدَّل لمواكبة الإصدارات الأحدث من ANGLE وقد أدّى ذلك إلى حلّ مشكلة تتعلّق بفساد الذاكرة عند ترجمة shaders في OpenGL ES
واستخدامها في عمليات الطي الثابتة التي تستخدم مصفوفات غير مربّعة. أصبح مترجم ملفات التظليل الآن مكتبة
مشترَكة منفصلة،
libshadertranslator.dll
. - تم إصلاح مشكلة في عملية إعداد Vulkan على بعض برامج تشغيل وحدات معالجة الرسومات، حيث لم يتم العثور على بعض وظائف 1.1 الجهاز.
- Vulkan: لقد عدنا إلى استخدام أداة التحميل المُنشأة مسبقًا لأنّ تفضيل أداة تحميل Vulkan للنظام قد تسبب في حدوث مشاكل في بعض عمليات الإعداد. سنجد حلًا أفضل.
- تم إصلاح المشكلة عند استخدام ذاكرة Vulkan الخارجية التي كان من الممكن استيرادها فهارس أنواع الذاكرة غير المتطابقة على المضيف.
- تم إصلاح مشكلة في محاكاة
GL_ALIASED_POINT_SIZE_RANGE
حيث كان التعداد غير متوافق مع المضيف. - تم إصلاح مشكلة تعذُّر تجميع Shaders في Skia على بعض وحدات معالجة الرسومات المضيفّة بسبب
أخطاء متعلّقة بـ
GL_EXT_shader_framebuffer_fetch
. - منذ إزالة نسختنا من أداة عرض D3D9 ANGLE قبل بضعة إصدارات، أصبحنا نبدِّل أيضًا تلقائيًا المستخدمين الذين كانوا يستخدمون أداة العرض هذه إلى d3d11 ANGLE إذا كان قد تم اختياره في الإعدادات المفضّلة لواجهة المستخدم.
- تمت إضافة المزيد من معلومات تصحيح الأخطاء إلى عملية إعداد WGL على نظام التشغيل Windows من أجل تتبُّع حالات التعطُّل.
- عند
hw.gltransport=virtio-gpu-pipe
، يتم تحسين الأداء عن طريق عدم الدوران على المضيف في عمليات النقل من المضيف إلى الضيف. - تمت إضافة المزيد من عمليات تسجيل تصحيح الأخطاء في حال تعذّر بدء محاكاة OpenGLES.
- تم حل مشكلة ظهور بعض الفيديوهات على YouTube التي تومض أو لا تظهر عند تحميل اللقطة.
- لقد عدنا إلى استخدام فك الترميز البرمجي لـ libvpx في الوقت الحالي لأنّنا واجهنا مشاكل في
فك ترميز libvpx باستخدام تكنولوجيا CUDA للأجهزة. إذا كان لديك تنفيذ متاح لميزة فك ترميز الأجهزة باستخدام CUDA
على جانب المضيف، يمكن إعادة تفعيل ميزة فك ترميز الأجهزة باستخدام libvpx من خلال
متغير البيئة
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
.
30.0.10 (30 نيسان/أبريل 2020)
ويشمل هذا التحديث دعمًا لتشغيل المحاكي مباشرةً في "استوديو Android" والأجهزة الافتراضية التي يتم فيها تفعيل "وضع النافذة الحرة" تلقائيًا.
تشغيل المحاكي في "استوديو Android"
يمكن الآن تشغيل محاكي Android مباشرةً في Android Studio. يمكنك استخدام هذه الميزة للحفاظ على مساحة الشاشة والتنقل بسرعة بين المحاكي ونافذة المحرّر باستخدام مفاتيح التشغيل السريع، ولتنظيم بيئة بيئة التطوير المتكاملة والمحاكي في نافذة تطبيق واحدة.
وضع النافذة الحرة
يمكنك الآن إنشاء متوسّط مدة المشاهدة (AVD) وتفعيل وضع النافذة الحرة من خلال اختيار ملف تعريف الجهاز اللوحي (مقاس 13.5 بوصة) باستخدام "وضع حرّ الشكل" عند إنشاء جهاز افتراضي في "استوديو Android". يتطلّب ملف الضبط الخاص بالأجهزة هذا صورة نظام تتضمّن الإصدار 3 من الإصدار المخصّص للمعاينة من Android 11 أو إصدارًا أحدث.
المشاكل المعروفة
لا يمكن حاليًا تغيير حجم النوافذ الحرة بسبب مشاكل في نقل التركيز إلى "مدير النوافذ". وسيتم حلّ هذه المشكلة في إصدار قادم من ملف تعريف نظام Android 11.
30.0.0 (19 شباط/فبراير 2020)
يتضمّن هذا التحديث صور نظام Android 11 (المستوى 30 من واجهة برمجة التطبيقات) وأداءً أفضل عند تشغيل ملفات ARM الثنائية.
صور نظام Android 11
يمكنك الآن إنشاء جهاز افتراضي يعمل بنظام Android 11 من خلال اختيار أيّ من صور نظام المستوى 30 من واجهة برمجة التطبيقات المتاحة:
- x86: يتضمّن واجهات ABI لكلّ من x86 وARMv7.
- x86_64: يتضمّن واجهات ABI لمعالجات x86 وx86_64 وARMv7 وARM64.
إتاحة ملفات ARM الثنائية على صور نظامَي التشغيل Android 9 و11
إذا لم تتمكّن من استخدام "محاكي Android" في السابق لأنّ تطبيقك يعتمد على برامج ثنائية ARM، يمكنك الآن استخدام نسخة نظام Android 9 x86 أو أي نسخة من نظام Android 11 لتشغيل تطبيقك، ولم يعُد من الضروري تنزيل صورة نظام محدّدة لتشغيل ثنائيات ARM. تتوافق صور نظامَي Android 9 و Android 11 مع بنية ARM تلقائيًا، وتوفّر أداءً محسّنًا بشكل كبير مقارنةً بالصور التي تتضمّن ميزة محاكاة ARM الكاملة.
المشاكل المعروفة
- لا يمكن تشغيل بعض الملفات الثنائية ARMv7 على صور نظام Android 11 x86 وx86_64. ننصحك بالتفكير في تطوير ARM64 عند استهداف نظام التشغيل Android 11.
29.0.11 (29 أيار (مايو) 2019)
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
- نظام التشغيل Windows: يعتمد المحاكي الآن على مكتبة
libgcc
DLL التي نرسلها بدلاً من تجميعها باستخدامlibgcc
بشكل ثابت. - Linux: تمت إضافة إمكانية استخدام logcat مع واجهة برمجة التطبيقات gRPC API. لمزيد من المعلومات عن gRPC، يُرجى الاطّلاع على محاكي البث gRPC (نظام التشغيل Linux).
- يتضمّن المحاكي الآن إصدارًا بدون واجهة مستخدم للضيوف الذين يستخدمون بنية x86 32 بت
(
qemu-system-i386
). تتيح هذه الميزة تشغيل صور x86 32 بت لمستويات واجهة برمجة التطبيقات 26 والإصدارات الأقدم باستخدام الإصدار بدون واجهة مستخدم. يُرجى العِلم أنّه بالنسبة إلى أنظمة التشغيل المستضافة x86 بإصدار 32 بت التي تعمل باستخدام IDE API 27 والإصدارات الأحدث، يستخدم المحاكي المحرّك بإصدار 64 بت (qemu-system-x86_64
) لأنّه في صور النظام هذه، على الرغم من أنّ مساحة المستخدم هي 32 بت، فإنّ الإصدار هو 64 بت. يستخدم "استوديو Android" النواة لاختيار محرّكات المحاكاة. - يمكنك الآن تحديد مسارات مكتبة Qt المخصّصة باستخدام متغيّر البيئة
ANDROID_QT_LIB_PATH
. - يمكنك الآن تشغيل المحاكي باستخدام الملفات الثنائية السابقة التي تستخدم QEMU1 إذا تم وضع ملفات exécutablesQEMU1 (
emulator[64]-[x86|arm|etc]
) في ملف directoryالمحاكي. - Windows: تم إصلاح مشكلة يمكن أن تؤدي في بعض الأحيان إلى تعذُّر بدء المحاكي من خلال ظهور رسالة "طلب إيقاف وحدة المعالجة المركزية الافتراضية".
- تم إصلاح مشكلة في حاجز مسار غير ضروري في مواد التصوير المضغوطة المحاكية في Vulkan.
- تم إصلاح خطأ حدث في طلبات خادم الوكيل http عند استخدام ترميز نقل ملف مجزأ. لمزيد من المعلومات، يُرجى الاطّلاع على تفاصيل الإضافة.
29.0.9 (7 أيار/مايو 2019)
يتضمّن هذا التحديث الإصلاح التالي:
- Windows: تم إصلاح مشكلة عدم عمل كاميرا المشهد الافتراضية وكاميرا الويب على المحاكي.
29.0.8 (6 أيار/مايو 2019)
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
- تمت إضافة إمكانية استخدام شاشات أجهزة افتراضية متعددة عندما تكون هناك خدمة ضيف لسرد كل شاشة وضبطها. سيتم تضمين شاشات أجهزة افتراضية متعددة في تحديث مستقبلي لصورة نظام المحاكي.
- تمت إضافة خيار جديد لسطر الأوامر:
-delay-adb
. يوقف هذا الخيارمعالجة حزم ADB إلى أن يكمل نظام التشغيل الضيف عملية التمهيد (من عملية التمهيد العميق). ويساعد هذا الخيار في حل المشاكل التي قد تحدث في حال استخدام المحاكي في بيئة CI التي تعيد تشغيل المحاكي واستخدام أداة DDMS في الوقت ذاته. - تم إصلاح خطأ كان يحدث عند تحميل اللقطات حيث كان
glIsRenderbuffer
يعرض القيمة غير الصحيحة. - تم إصلاح بعض المشاكل المتعلّقة بالحالة القديمة عند إعادة تشغيل الضيف على Android.
- Windows: تم إصلاح المشاكل التي كانت تمنع تشغيل المحاكي عندما يحتوي اسم مستخدم Windows على أحرف أو مسافات غير ASCII.
المشاكل المعروفة
- واجهة مستخدم اللقطات غير مفعّلة لصور نظام التشغيل Automotive، لأنّ اللقطات غير متاحة حاليًا لصور النظام هذه.
29.0.6 (1 أيار/مايو 2019)
يتضمّن هذا التحديث العديد من الميزات الجديدة وتحسينات على الميزات الحالية وإصلاحات للأخطاء.
إيقاف التوافق مع QEMU1 ونظام التشغيل Windows 32 بت
للحفاظ على المحاكي بشكل أفضل، لم نعد نرسل حِزم QEMU1 وملفَي ثنائيَين لنظام التشغيل 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: تحسينات Project Marble.
في هذا التحديث، تم تخصيص معظم جهود Project 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
- يزيد هذا الأمر مهلة إيقاف الشاشة حتى يمكن استخدام المحاكي في وضع البطارية بدون شحنه. في وضع "البطارية"، يتم تقليل استخدام وحدة المعالجة المركزية (CPU) في الخلفية بشكل كبير.
- في وضع شحن التيار المتردد، يمكن لعمليات GMSCore التي تتم في الخلفية، مثل تحديثات التطبيقات، السيطرة على جميع نوى وحدة المعالجة المركزية للجهاز، وبالتالي جهاز المستخدم، بدون أي تحذير.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
- يلغي هذا الأمر أذونات الميكروفون لتطبيق "بحث Google"، ما يؤدي إلى خفض استخدام وحدة المعالجة المركزية في الخلفية بشكل كبير على الشاشة الرئيسية وفي مشغّل التطبيقات عندما يكون تطبيق "بحث Google" نشطًا.
- يتم تنفيذ هذا الأمر بالإضافة إلى السلوك التلقائي للمحاكي وهو إيقاف صوت المضيف. بالإضافة إلى ذلك، يوفّر هذا الإجراء تلقائيًا الحدّ من استخدام وحدة المعالجة المركزية (CPU) الموضّح في رصد الكلمات المفتاحية من الإصدار 28.0.23.
متغيّرات بيئة جديدة لمراقبة الأداء
يمكنك الآن استخدام متغيّرَين جديدَين للبيئة لتفعيل مراقبة تفصيلية لأداء المحاكي واستخدام الموارد.
SHOW_PERF_STATS=1
- يتيح متغيّر البيئة هذا تتبُّع استخدام كلّ من وحدة المعالجة المركزية وذاكرة الوصول العشوائي. يؤدي تتبُّع استخدام ذاكرة الوصول العشوائي (RAM) إلى التمييز بين استخدام الرسومات وإجمالي سعة الذاكرة المتوفّرة.
ANDROID_EMU_TRACING=1
- تُفعِّل متغيّر البيئة هذا الطباعة في كل مرة تستغرق فيها عملية إدخال أو رسومات وقتًا طويلاً (أطول من ملي ثانية واحدة).
- نستخدم أيضًا متغيّر البيئة هذا للمساعدة في تشخيص المشاكل التي واجهها مستخدمو Windows مع حدوث المزيد من التقطُّع (توقُّف عرض اللقطات) مقارنةً بما يواجهه مستخدمو macOS أو Linux.
تحسينات عامة على Project Marble
يتضمّن هذا التعديل أيضًا التحسينات العامة التالية التي تشكّل جزءًا من مبادرة Project Marble:
- يمكنك الآن إيقاف جميع وحدات المعالجة الافتراضية مؤقتًا على الفور في المحاكي من خلال أوامر وحدة التحكّم التالية:
adb emu avd pause
adb emu avd resume
- تم تقليل النفقات العامة لرسم OpenGL بشكل كبير. يقلل هذا التحسين من استخدام وحدة المعالجة المركزية (CPU) أثناء تشغيل المحاكي للصور المتحركة.
- تم استعادة إمكانية استخدام جهاز الشبكة الافتراضية e1000 في الإصدار الرئيسي من QEMU. يمكنك استخدام هذا الجهاز لإعداد المحاكي في بيئة شبكة متداخلة. في بيئة الشبكة المتداخلة، يظهر المحاكي على الشبكة المضيف وشبكة المضيف على المحاكي.
- يتم الآن استخدام ملفّات BIOS الثنائية المناسبة لإصدار QEMU 2.12 لبدء تشغيل المحاكي.
- تمت ترقية الإصدار
ffmpeg
إلى 3.4.5 لترميز الفيديو وفك تشفيره. - تم تقليل النفقات العامة لعمليات الإدخال والإخراج في حلقة QEMU الرئيسية على نظام التشغيل macOS بشكل كبير من خلال استبدال السلسلة
الرئيسية التي كانت تستند إلى
select()
بسلسلة رئيسية تستند إلىkqueue
. - تمت زيادة حجم ذاكرة التخزين المؤقت لـ Logcat إلى 2 ميغابايت لمعالجة المشاكل المتعلقة بأخطاء EOF غير المتوقعة عند تشغيل أداة Logcat باستخدام المحاكي.
- يصدِّر المحاكي الآن متغيّر بيئة
LC_ALL=C
تلقائيًا. يعالج هذا التغيير الأعطال ومشاكل عدم التوافق المرتبطة بتشغيل الemuالناسخ بلغات مختلفة. - يمكنك الآن تتبُّع استخدام وحدة المعالجة المركزية (CPU) وذاكرة الوصول العشوائي (RAM) الخاصة بالمحاكي باستخدام إحصاءات الأداء التي يمكنك الوصول إليها من خلال عناصر التحكّم الموسَّعة > الإعدادات > الإعدادات المتقدّمة > إحصاءات الأداء. استخدِم هذه الإحصاءات لتشخيص المشاكل بسرعة إذا كان المحاكي يبدو أنّه يستخدم الكثير من وحدة المعالجة المركزية (CPU) أو ذاكرة الوصول العشوائي (RAM).
- يستخدم
glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE
الآن نتيجة وحدة معالجة الرسومات للمضيف بدلاً من نتيجة محاكاة. يساعد هذا التغيير في حلّ المشاكل التي تؤدي إلى عدم عرض الصور ومواد العرض بسبب تنسيق غير مناسب لإعادة القراءة. - تمت إتاحة إضافات OpenGL ES
GL_EXT_texture_format_BGRA8888
وGL_APPLE_texture_format_BGRA8888
إذا كان المضيف يتيح استخدام هاتَين الإضافتَين. - تمت إضافة المزيد من معلومات التشخيص إلى واجهة مستخدم Bugreport. بالإضافة إلى ذلك، يمكنك الوصول إلى
تقارير الأخطاء من وحدة التحكّم باستخدام الأوامر التالية:
telnet localhost 5554
avd bugreport
- في صور نظام Android Q، يزيد المحاكي الحد الأدنى لحجم ذاكرة الوصول العشوائي إلى 2 غيغابايت.
- تمت إضافة المزيد من التسجيل والطباعة كلما تعذّر تشغيل OpenGL أو برنامج Hypervisor (مراقب الأجهزة الظاهرية).
- إذا لم يتمكّن المحاكي من تشغيل مثيل
-read-only
متزامن لـ AVD، يحاول المحاكي الآن إعادة تشغيل AVD-read-only
3 مرات إضافية خلال 3 ثوانٍ. يزيد هذا التغيير من احتمالية تمكّن المحاكي من بدء مثيلات-read-only
متزامنة من جهاز افتراضي Android إذا لم تكتمل عملية تنظيف الملفات القديمة في المثيلات الأخرى القابلة للكتابة من جهاز افتراضي Android هذا. - بالنسبة إلى صور النظام القادمة، يتيح المحاكي الآن استخدام أداة Hardware Composer 2.0. من المفترض أن يؤدي هذا التغيير إلى تقليل الوقت المستغرَق في تنفيذ برنامج التشغيل عند تشغيل معظم الصور المتحركة.
- ويعتمد إصدار المحاكي الآن على CMake/Ninja.
- في واجهة مستخدم عناصر التحكم الموسعة للمحاكي، تمت استعادة خطوط الفواصل في جدول اختصارات لوحة المفاتيح.
- يمكن للمستخدمين الآن الموافقة على تزويد فريقنا بمقاييس استخدام وحدة المعالجة المركزية (CPU) وذاكرة الوصول العشوائي (RAM) خلال مهلة تبلغ 10 ثوانٍ. نستخدم هذه المقاييس لإثراء بياناتنا حول استخدام emu lator للموارد باستخدام حالات استخدام مختلفة من المستخدمين، ما يسمح لنا بجعل المحاكي أكثر فعالية واستجابة.
إصلاحات عامة في Project Marble
يتضمن هذا التحديث أيضًا الإصلاحات العامة التالية والتي تعد جزءًا من مبادرة مشروع Marble:
- تم إصلاح المشاكل المتعلّقة بالارتعاش والصور غير الصحيحة التي كانت تظهر على الأنظمة المزوّدة بوحدات معالجة الرسومات Intel عند استخدام صور نظام Android Q.
- تم إصلاح المشاكل التي كانت تؤدي إلى ظهور شاشة سوداء عند استخدام تصاميم نظام Android Q مع خلفيات Pixel 2 XL (أو أي خلفية تتضمّن نُقطة في أعلى الشاشة أو زوايا مستديرة).
- تم إصلاح مشكلة عدم ضبط خيار سطر الأوامر
-partition-size
لحجم قسم البيانات. - تم إصلاح مشكلة دفق النبضات الصوتية على محاكي Linx وشغلها في بعض المواقف وشغل نواة وحدة المعالجة المركزية بالكامل.
- تم إصلاح مشكلات الوصول إلى الذاكرة خارج الحدود عند معالجة الزخارف المضغوطة.
- تم إصلاح أخطاء GL التي حدثت على المضيف في
glTexSubImage2D
عند تعديل بعض مخازن gralloc (بتنسيق RGB 565 وRGB10A2 وRGB(A)16F). - تم إصلاح مشكلة في العرض في صور نظام Android Q مع لقطات حيث يتم عرض الشكل الهندسي لمركز الإشعارات باستخدام إعداد قاسم مثيل غير مناسب.
- تم إصلاح بعض مشاكل الأعطال والتوقّف عن العمل التي يصعب إعادة إنتاجها عند الإطلاق والتي كانت تحدث بسبب فقدان Qt للإشارات أو ظهور حالات متقلبة وغير متّسقة عند بدء التشغيل.
- تم إصلاح العديد من مشاكل المعالجة المتزامنة. أصبح بإمكاننا الآن إنشاء محاكي Linux باستخدام ThreadSanitizer (TSAN)، الذي يمكنه بسهولة رصد الأخطاء التي يصعب إعادة إنتاجها بطريقة أخرى.
- بالنسبة إلى مستخدمي Linux: وجدنا أنه في نواة مضيف معينة، يمكن لنواة Android الضيف أن يخطئ ويخرج منها في KVM إذا حدث خطأ عام في الجهاز. سيتوقف المحاكي
الآن عن العمل
abort()
عند حدوث ذلك لزيادة إمكانية تصحيح الأخطاء (في السابق، كان المحاكي يتوقّف عن العمل). - لمستخدمي نظام التشغيل Linux: للاستفادة من سهولة إعدادات التكامل المستمر، يمكنك استخدام خيار سطر الأوامر الجديد
-stdouterr-file <file-name>
لإعادة توجيه كل منstdout
وstderr
إلى ملف. - تم إصلاح مشكلة استخدام
SO_REUSEADDR
بشكل غير صحيح. لمزيد من المعلومات، اطّلِع على تفاصيل الإضافة. - تم إصلاح مشكلة قديمة في محاكي Windows حيث يتعذّر بدء العمليات الفرعية، مثل أوامر ADB، إذا كان اسم المستخدم يتضمّن مسافات.
- تم إصلاح مشكلة عدم بدء تشغيل وحدة التحكّم في الموارد (RCU) في مؤشرات تسلسل عمليات وحدة المعالجة المركزية الافتراضية لبرنامج HAXM. من المحتمل أن يعالج هذا الإصلاح بعض الأعطال وحالات تداخل العمليات.
- تم إصلاح عطل كان يحدث مع أنماط معيّنة لحفظ اللقطات وتحميلها من واجهة مستخدم اللقطات باستخدام صور نظام Android Q الحديثة.
- تم إصلاح مشكلة ظهور شاشة فارغة في كاميرا المشهد الافتراضي عند بدء تشغيل المحاكي من لقطة شاشة إذا كان يتم تشغيل ماكرو الواقع المعزّز عند حفظ تلك اللقطة.
- تم إصلاح مشكلة ظهور شاشة سوداء
لبعض المستخدمين الذين لديهم إعدادات كمبيوتر مكتبي عن بُعد عند تشغيل المحاكي على نظام التشغيل Linux. لتجنُّب ذلك، يضبط المحاكي الآن
MESA_RGB_VISUAL
بشكل صريح. لمزيد من المعلومات، يُرجى الاطّلاع على تفاصيل المراجعة. - تم إصلاح مشكلة تتعلق بظهور أزرار التدوير على AVD على التلفزيون.
- تم إصلاح مشكلة كانت تحدث في حال ضبط المحاكي على أن يظهر دائمًا في أعلى الشاشة، حيث كانت تظهر نافذة عناصر التحكّم الموسّعة في كل مرة يتم فيها تدوير المحاكي.
الملفات الشخصية للأجهزة القابلة للطي
يتضمّن المحاكي الآن الملفات الشخصية للأجهزة القابلة للطي. لاستخدام هذه الملفات الشخصية الجديدة للأجهزة، يجب استخدام الإصدار 3.5 Canary 10 من Android Studio أو إصدار أحدث.
هناك ملفّان شخصيان للأجهزة القابلة للطي يمكنك استخدامهما لإنشاء جهاز افتراضي Android:
- شاشة قابلة للطي مقاس 7.3 بوصة: 1536×2152 عند فتحها، 4.6 بوصة 840×1960 عند طيها
- شاشة قابلة للطي مقاس 8 بوصة: 2200 × 2480 عند فتحها، 6.6 بوصة 1480 × 2480 عند طيها
وعند تشغيل المحاكي باستخدام أحد الملفات الشخصية للأجهزة، يمكنك طي الجهاز وفتحه باستخدام إجراءات الطي والفتح في شريط أدوات المحاكي أو أوامر وحدة التحكم أو اختصارات لوحة المفاتيح التالية:
- الطي:
Ctrl + F
(Command + F
على نظام التشغيل macOS) - رمز التوسيع:
Ctrl + U
(Command + U
على نظام التشغيل macOS)
وحدات ماكرو للواقع المعزّز
يتضمّن المحاكي الآن وحدات ماكرو للواقع المعزّز يمكنها مساعدتك في اختبار إجراءات الواقع المعزّز الشائعة. على سبيل المثال، يمكنك استخدام وحدة ماكرو لإعادة ضبط جميع أجهزة استشعار الجهاز إلى حالتها التلقائية.
لمزيدٍ من المعلومات، يُرجى الاطّلاع على اختبار إجراءات الواقع المعزّز الشائعة باستخدام وحدات الماكرو.
توافق مع Vulkan (نظاما التشغيل Windows وLinux)
يمكن لمستخدمي Windows وLinux الآن اختبار تطبيقات Vulkan باستخدام محاكي Android حتى الإصدار 1.1 من Vulkan عند استخدام نسخة نظام متوافقة (الإصدار التجريبي من Android Q الإصدار 3 أو الإصدارات الأحدث مع Vulkan 1.1 وAndroid Q التجريبية 2 لنظام Vulkan 1.0) ووحدة معالجة رسومات متوافقة للمضيف (يشمل ذلك معظم وحدات معالجة الرسومات من Intel وNVIDIA وAMD من العام 2014 والإصدارات الأحدث).
لإتاحة دعم Vulkan، يجب إضافة علامات الميزات التالية إلى ملف
~/.android/advancedFeatures.ini
(إنشاء الملف إذا لم يكن متوفّرًا):
Vulkan = on
GLDirectMem = on
الدعم الأولي لمطوّري البرامج القابلة للقراءة والكتابة
يمكن الآن لمطوّري برامج ROM الذين ينشئون أهداف sdk_phone_x86
أو sdk_phone_x86_64
(userdebug
أو eng
متغيرًا) في فرع AOSP master
تشغيل محاكي متوافق مع Vulkan.
لا يزال هذا الإصدار التجريبي مخصّصًا بشكل أساسي للمطوّرين الذين يعملون على تطوير
صور النظام وبرامج التشغيل ومحرّكات الألعاب. لا تزال العديد من الإضافات غير متوفّرة.
مع ذلك، إنّ ذاكرة HOST_COHERENT
متوافقة، ومن المفترض أن يكون بإمكانك الآن تشغيل Vulkan API Tutorial Samples.
إذا كنت تستخدم نظام التشغيل Linux، يمكنك تجربة ذلك باستخدام الأوامر التالية:
mkdir aosp-master
cd aosp-master
repo init -u https://android.googlesource.com/platform/manifest -b master --depth=1
repo sync -c -j12
. build/envsetup.sh
lunch sdk_phone_x86_64-userdebug
make -j12
emulator -no-snapshot -feature Vulkan,GLDirectMem
معالجة Skia باستخدام Vulkan
إنّ وحدات معالجة الرسومات NVIDIA وAMD التي تتوافق مع Vulkan تتيح أيضًا إمكانية التشغيل التفاعلي بدون نسخ
مع OpenGL من خلال الإضافة GL_EXT_memory_objects
. ويستفيد المحاكي من هذه الميزة لتوفير طريقة كاملة لعرض واجهة مستخدم Android باستخدام واجهات برمجة تطبيقات Skia
Vulkan.
إذا كانت لديك وحدة معالجة رسومات NVIDIA أو AMD تتوافق مع Vulkan، استخدِم الأوامر التالية لاختبار عرض Skia باستخدام صورة نظام متوافقة (الإصدار التجريبي 3 والإصدارات الأحدث من Android Q):
adb shell
su
setprop debug.hwui.renderer skiavk
stop
start
توافق نظام التشغيل macOS مع Vulkan
لا يزال استخدام المحاكي على نظام التشغيل macOS تجريبيًا، ولكنّه يتضمّن واجهات برمجة التطبيقات Swiftshader و MoltenVK و libportability (gfx-rs). يمكنك تجربة واجهات برمجة التطبيقات هذه من خلال ضبط متغيّرات البيئة التالية:
- Swiftshader:
ANDROID_EMU_VK_ICD=swiftshader
- MoltenVK:
ANDROID_EMU_VK_ICD=moltenvk
- قابلية النقل:
ANDROID_EMU_VK_ICD=portability
المشاكل المعروفة
قد يتعذّر على HAXM أحيانًا ربط ذاكرة Vulkan المتّسقة بالضيف، ما يؤدي إلى إغلاق المحاكي. سيتم حلّ هذه المشكلة في تحديث HAXM القادم.
محاكي بث gRPC (لنظام التشغيل Linux)
نحاول دائمًا جعل المحاكي متعدد الاستخدامات قدر الإمكان من خلال السماح لمضيف عرض وحدة معالجة الرسومات والتفاعل معها في أوسع نطاق من سياقات التشغيل. يواجه مستخدمو "التكامل المستمر" و"سطح المكتب البعيد" المشاكل التالية منذ فترة طويلة:
- يتضمن إرسال أوامر الإدخال إلى المحاكي آليًا إما تنفيذ أوامر adb shell التي يمكن أن تواجهها تكاليف عالية، أو استخدام وحدة تحكّم telnet التي تكون أسرع، ولكن قد لا تعمل مع بعض إعدادات الشبكة.
- غالبًا ما يشغِّل مستخدمو اختبار التكامل الوظيفي المحاكيات بدون شاشة، ما قد يجعل من الصعب ملاحظة المشاكل التي تتطلّب ظهور الشاشة أو تفاعلها.
- لا يمكن لمستخدمي أجهزة الكمبيوتر المكتبي عن بُعد غالبًا التفاعل مع المحاكي عند استخدام ميزة "عرض GPU" للمضيف، لأنّ ميزة "عرض GPU" غالبًا ما تكون مرتبطة بشاشات المضيف غير الافتراضية.
لحلّ هذه المشكلة، يقدّم المحاكي الآن خدمة gRPC عند تشغيله على جهاز Linux. gRPC هو إطار عمل عام لبروتوكول RPC يعمل من خلال HTTP.
تكون خدمة gRPC للمحاكي غير مفعّلة تلقائيًا، ولكن يمكنك تفعيل
الخدمة باستخدام خيار سطر الأوامر التالي، حيث يكون <port>
هو المنفذ الذي من المفترض أن يقدّم فيه المحاكي طلبات gRPC (عادةً 5556
):
-grpc <port>
بمجرد بدء الخدمة، يمكن بعد ذلك إصدار أوامر gRPC من البرامج العميلة. تسمح المجموعة الحالية من الأوامر بإرسال أحداث الإدخال وتلقّي لقطات الشاشة. تساعد هذه الأوامر في حلّ المشاكل التالية:
- يمكن إرسال أوامر الإدخال إلى المحاكي بتكلفة منخفضة عبر بروتوكول HTTP. يتيح بروتوكول HTTP أيضًا إرسال الأوامر في إعدادات إضافية للشبكة.
- يمكن إرسال أوامر لقطات الشاشة لطلب معلومات عن الشاشة الحالية، حتى إذا كان الemualtor يعمل بدون شاشة. بالنسبة إلى التفاعل، يمكن أيضًا إرسال أحداث الإدخال إلى المحاكي.
- يمكن لمستخدمي سطح المكتب البعيد تشغيل المحاكي بلا واجهة مستخدم رسومية على الشاشة الرئيسية مع العرض المسرّع من خلال وحدة معالجة الرسومات مع استخدام خوارزمية gRPC للحصول على لقطات شاشة وإرسال أحداث الإدخال من أجل التفاعل مع المحاكي.
للحصول على قائمة كاملة بالأوامر المتاحة، يُرجى الاطّلاع على ملف protobuf هذا.
لمساعدتك في بدء استخدام gRPC، قدّمنا بعض عيّنات العملاء التي يمكنك الرجوع إليها.
حاليًا، يتضمن ذلك النماذج التالية:
- خدمة مستندة إلى Go يمكن استخدامها لطلب معلومات عن حالات المحاكي
- أحد تطبيقات React الذي يوضح التفاعل عن بُعد من خلال لقطة شاشة وإدخال RPC. يتطلب هذا النموذج الإصدار 3.7.0 أو أعلى من Protobuf.
- نموذج برمجة بايثون يطلب معلومات عن إعدادات جهاز المحاكاة الظاهري ثم يُرسِل سلسلة من الأوامر
28.0.25 (29 آذار/مارس 2019)
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
إصدار المحاكي بدون واجهة مستخدم
كان من الصعب إعداد المحاكي باستخدام Docker ومسارات سير العمل الأخرى للدمج المستمر (CI) بسبب التوقعات الضمنية للنظام بأن يكون قادرًا على إتاحة Qt مع تبعيات المكتبة المشتركة (من بين مشاكل أخرى).
كخطوة أولى لحلّ هذه المشكلة، طرحنا إصدارًا مختلفًا من مشغّل المُحاكي
الذي يتضمّن ملفات تنفيذية لبرنامج QEMU لا تعتمد على Qt. وعلى نظام التشغيل Linux، سيظل هناك رابط يؤدي إلى libX11
، ولكننا نأمل أن نزيل هذا الرابط في أقرب وقت.
لاستخدام المحاكي بدون واجهة مستخدم، شغِّل المحاكي من سطر الأوامر كالمعتاد،
ولكن استبدِل طلب تشغيل المحاكي الثنائي بـ emulator-headless
. لمزيد من المعلومات، يُرجى الاطّلاع على تحديث الإصدار 28.1.8 Canary.
- تم إصلاح مشكلة الارتعاش وعرض اللقطات بشكل غير صحيح على وحدات معالجة الرسومات Intel عند تشغيل صور نظام Android Q.
- تم إصلاح المشاكل التي كانت تؤدي إلى ظهور شاشة سوداء عند استخدام صور نظام Android Q مع مظاهر Pixel 2 XL.
- يتم الآن استخدام أحدث ملفات BIOS الثنائية لبدء تشغيل المحاكي. يمكن أن يساعد هذا التغيير في تقليل أخطاء "طلب إيقاف وحدة المعالجة المركزية الافتراضية" التي تحدث أحيانًا عند بدء تشغيل المحاكي على نظام التشغيل Windows.
- تم طرح حلّ لـ "العرض غير الصحيح لصور نظام Android Q عند استئناف صورة احتياطية".
- كان المستخدمون يواجهون مشاكل في المحاكيات"غير المصرَّح بها"
بسبب تغيير غير متوافق في أداة ADB في حزمة platform-tools 28.0.2. يمكنك الآن
استخدام أداة ADB بأمان من حزمة platform-tools 28.0.2 مع المحاكي. إذا كنت
تواجه مشاكل في المحاكيات "غير المصرّح بها"، اتّبِع الخطوات التالية لتحديد المشاكل وحلّها:
- اخرج من جميع المحاكيات.
- حذف الملفَين
~/.android/adbkey
و~/.android/adbkey.pub
- نفِّذ الأمر التالي:
adb kill-server
- نفِّذ الأمر التالي:
adb devices
- امسح بيانات AVD.
- أعِد تشغيل المحاكي.
28.0.23 (29 كانون الثاني/يناير 2019)
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
إيقاف إدخال الصوت للمضيف تلقائيًا
أوضحنا مشاركة حديثة على Reddit حول الطريقة التي يستخدم بها الضيف دائمًا صوت الميكروفون المضيف، وبالتالي تسمح بتشغيل عبارة "Ok Google" بشكل غير متوقّع. نعتذر عن ذلك وسنتعاون مع فريق Android للتأكّد من إيقاف ميزة رصد الكلمات المميّزة في صورة النظام أيضًا.
لحلّ هذه المشكلة، أجرينا التغييرات التالية:
- يتم الآن ضغط بيانات الصوت الفعلي للمضيف بشكل تلقائي. عندما يستخدم الضيف الميكروفون، يتم تجاهل فترة الصمت بدلاً من صوت المضيف.
- إذا أردت استخدام بيانات الصوت الخاصة بالمضيف، يمكنك الآن تفعيل هذا الخيار من خلال الانتقال إلى عناصر التحكّم الموسّعة > الميكروفون وتفعيل يستخدم الميكروفون الافتراضي إدخال الصوت من المضيف. يتم إيقاف هذا الخيار تلقائيًا عند إعادة تشغيل الemualtor.
آخر المعلومات عن التحقيقات في استخدام وحدة المعالجة المركزية
خلال تحقيقاتنا في Project Marble، لاحظنا أنّ ارتفاع استخدام وحدة المعالجة المركزية في الemualtor يندرج بشكل عام ضمن الفئات الثلاث التالية:
في وضع السكون: تحديثات التطبيقات التلقائية في صور "متجر Play"
تبيّن لنا أنّه يتم تحديث جميع التطبيقات المثبّتة على فترات عشوائية، حتى في حال عدم تسجيل دخول المستخدم. أثناء العملية، يتم ضبط استخدام وحدة المعالجة المركزية على عدد النواة مضروبًا في 100% (عادةً ما يكون %400 تقريبًا) في GMSCore وdex2oat. يمكنك تخفيف هذه الصعوبة من خلال إيقاف التحديثات التلقائية للتطبيقات في تطبيق "متجر Play".
في وضع عدم النشاط: اكتشاف الكلمة المفتاح
عند استخدام الشاشة الرئيسية وبدون تشغيل أي تطبيق في المقدمة، قد تجد عرضًا رائعًا لاستخدام وحدة المعالجة المركزية (حوالي 25% مع ارتفاعات إلى 50%). ويعود سبب ذلك إلى ميزة "رصد الكلمات المهمة" التي ترسل إشعارات باستمرار إلى المضيف. لا يمكنك تخفيف هذه المشكلة عن طريق إيقاف إدخال المضيف للصوت لأنّ تكلفة وحدة المعالجة المركزية تعود في الأساس إلى الوقت الذي يستغرقه الانتقال إلى الضيف من المضيف. مع ذلك، يمكنك الحدّ من هذه المشكلة عبر إبطال أذونات الميكروفون من تطبيق Google.
أثناء الاستخدام النشط، وفي بعض الأحيان في وضع عدم النشاط: الرسوم المتحرّكة
المصدر الثالث لاستخدام وحدة المعالجة المركزية العالي هو الرسوم المتحركة. تبيّن لنا أنّه من خلال تحسين حِزم برامج تشغيل الرسومات، يمكننا أيضًا تقليل استخدام وحدة المعالجة المركزية حتى عندما يكون المحاكي قيد التشغيل. سنطرح تحسينات على برامج تشغيل الرسومات بشكل تدريجي كجزء من Project Marble.
28.0.22 (21 كانون الأول/ديسمبر 2018)
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
- تم إصلاح مشكلة قديمة كانت تؤدي إلى إعادة تشغيل محاكي Mac أو حدوث خطأ في نواة النظام عند حفظ الإعدادات السريعة في بعض الإعدادات. (المشكلة 120951634)
- عند استخدام ملف تم ربطه كلقطة ذاكرة وصول عشوائي، يزيل المحاكي الآن ربط ملف الربط بشكل صريح عند الخروج.
28.0.20 (11 كانون الأول/ديسمبر 2018)
يتضمّن هذا التحديث التحسينات والإصلاحات التالية:
- تم إصلاح مشكلة في نظام التشغيل Windows كانت تؤدي إلى تجميد المحاكي عند تحميل لقطة شاشة باستخدام طُرز معيّنة من وحدات معالجة الرسومات Intel.
- تم إصلاح مشكلة تسببت في حالة جهاز
unauthorized
ADB عند استخدام موقعANDROID_SDK_HOME
غير عادي. - تم إصلاح مشكلة تسببت في تعطُّل المحاكي عند تشغيل صور النظام مع إيقاف تسريع وحدة المعالجة المركزية (CPU).
- تم إصلاح مشكلة عرض المحاكي المتقطّع. من المفترض أن تعمل ميزة "تقليل الحجم" الآن.
- تم إصلاح مشكلة في الإصدار 10.14 من نظام التشغيل macOS والإصدارات الأحدث، حيث كان من الممكن أن يصبح التحكّم في كاميرا المشهد الافتراضي باستخدام الماوس حساسًا جدًا بسبب التفاعل مع إعدادات أمان تسهيل الاستخدام الجديدة.
- تم إصلاح خطأ في احتساب المنطقة الزمنية قد يؤدي إلى تغيُّر ساعة المحاكي بشكل متقطع.
- تم إصلاح أخطاء العرض في تطبيقات cocos2d وUnreal engine المختلفة.
- تمت إضافة دعم خدمة شبكة Wi-Fi من نظير إلى نظير في المحاكي.
يمكن الآن لاثنين من المحاكيات التواصل مع بعضهما مباشرةً عبر شبكة Wi-Fi في حال استخدام أحدث ملف تعريف برمجي لإصدار Pie من "متجر Play". لاستخدام شبكة الند للند في شبكة Wi-Fi، عليك بدء متوسّطتَي متوسّط مدة المشاهدة باستخدام الوسيطتَين
-wifi-server-port
و-wifi-client-port
نفسهتَين:emulator @<server-avd-name> -wifi-server-port 9999
emulator @<client-avd-name>-wifi-client-port 9999
- تمت إضافة الدعم لمزيد من كاميرات الويب على نظام التشغيل Windows من خلال اختيار أحجام إطارات غير متوافقة وتغيير حجمها ديناميكيًا لتناسب إعدادات الكاميرا في وضع الضيف على Android.
28.0.16 (تشرين الثاني/نوفمبر 2018)
يتضمّن هذا التحديث العديد من الميزات الجديدة وتحسينات على الميزات الحالية وإصلاحات للأخطاء.
استخدام الموارد
يستخدم المحاكي الآن ذاكرة وصول عشوائي أقل بشكل عام، لا سيما عند استخدام صور النظام بالمستوى 28 من واجهة برمجة التطبيقات أو المستويات الأعلى. تتضمّن صور النظام هذه استخدامًا محسّنًا للذاكرة في برامج تشغيل الرسومات من جهة العميل.
بالإضافة إلى ذلك، حسّنا أيضًا استخدام الموارد في الجوانب التالية:
- انخفاض في استخدام ذاكرة المحاكي أثناء الاختبارات التي تستغرق وقتًا طويلاً إذا كنت لا تزال تواجه مشاكل في استخدام الذاكرة أثناء الاختبارات التي تستغرق وقتًا طويلاً، يُرجى إنشاء مشكلة تصف حالة الاستخدام في أداة تتبُّع المشاكل.
- انخفاض استخدام وحدة المعالجة المركزية (CPU) عند تشغيل تطبيقات تحتوي على صور متحركة
- تم إصلاح مشكلة تسرُّب سياق QEMU AIO على نظام التشغيل Windows.
تشغيل نُسخ متعددة من متوسّط مدة المشاهدة واحد بشكل متزامن
يمكنك الآن تشغيل عدّة نُسخ من جهاز Android الظاهري نفسه وتشغيلها بشكل متزامن. تكون النُسخ التي تطلقها بعد النسخة الأولى للقراءة فقط، ويتم تجاهل التغييرات التي تطرأ عليها على القرص الافتراضي للضيف عند الخروج.
لتشغيل عدّة نُسخ من جهاز Android الظاهري نفسه في الوقت نفسه، يمكنك تشغيل أي نُسخ
بعد المثيل الأول من سطر الأوامر باستخدام العلامة -read-only
.
تتوفّر هذه الميزة من خلال نسخ ملفات QCOW2 المرتبطة بالملف
الأجزاء القابلة للكتابة من صورة Android. لمساعدتك في إدارة مساحة القرص، ضمّنا أيضًا
أداة سطر الأوامر qemu-img
للسماح لك بالتزام ملفات QCOW2
مسبقًا قبل تشغيل عدّة نُسخ.
بالإضافة إلى ذلك، عند استخدام هذه الميزة مع ميزة لقطات ذاكرة الوصول العشوائي للضيف المستندة إلى الملفات ، تشارك عدّة نُسخ من AVD لقطة AVD Quickboot الأساسية كمصدر شائع لذاكرة الوصول العشوائي للضيف التي تستخدم أسلوب "النسخ عند الكتابة". ويعني هذا السمة أنّ النُسخ تشترك في الكثير من ذاكرة الوصول العشوائي. استخدِم هذه الميزة لإجراء اختبارات تتطلّب استخدام أجهزة متعددة بشكل متزامن.
نحن نقدّر ملاحظاتك حول حالات الاستخدام المحتمَلة التي تشكّل جزءًا من سير العمل المعتاد في مشاريعك المتفاعلة أو مشاريع التطوير المتكامل. يُرجى إنشاء مشاكل أو التصويت لها في نظام التتبّع للمشاكل.
لقطات من ذاكرة الوصول العشوائي (RAM) لجلسات الضيوف
من خلال التخصيص المسبق لذاكرة الوصول العشوائي للضيوف وربطها كملف، يمكن للمحاكي الآن حفظ لقطات Quickboot أثناء وقت التشغيل، بدلاً من القيام بكل الأعمال عند الخروج. إذا كانت عملية الحفظ تستغرق وقتًا طويلاً عند إغلاق المحاكيات، يمكنك تفعيل هذه الميزة لتحسين أداء ميزة "التشغيل السريع". وبشكل افتراضي، يتم حفظ لقطة Quickboot عند الخروج وتحميلها مرة أخرى في كل مرة، مثل تعليق جهاز حقيقي وتنشيطه.
بما أنّ ذاكرة الوصول العشوائي (RAM) لضيف Android يتم حفظها تلقائيًا الآن بشكلٍ تلقائي، إذا أردت تحديد حالة الجهاز وتحميلها بشكل متكرر من هذه الحالة، عليك إخبار المحاكي بإلغاء التغييرات بعد كل جلسة. يمكنك إجراء ذلك بالطُرق التالية:
- استخدِم العلامتَين
-no-snapshot-save
أو-read-only
عند تشغيل المحاكي من سطر الأوامر. - انتقِل إلى عناصر التحكّم الموسّعة > اللقطات > الإعدادات وبدِّل هل تريد الحفظ التلقائي للحالة الحالية في وضع "التشغيل السريع"؟ إلى لا.
- ويجب إعادة تشغيل المحاكي بعد تحديد هذا الخيار. إذا تم ضبط الemuالناسخ على الحفظ التلقائي، يمكنك تنفيذ الأمر التالي لضبط نقطة تفتيش:
adb emu avd snapshot remap 0
بعد تنفيذ هذا الأمر، ستبقى لقطة التشغيل السريع للناسخ في نقطة التفتيش هذه. نفِّذ الأمر نفسه مرة أخرى لتحميل المحاكي من نقطة الفحص.
تعمل لقطات الشاشة التي يتم التقاطها وتحميلها من خلال واجهة مستخدم "لقطات الشاشة" كما كانت تعمل في السابق، بدون ربط الملفات.
بما أنّ هذا تغيير كبير في طريقة عمل ميزة "التشغيل السريع"، يسرّنا معرفة رأيك بشأن ما إذا كان هذا التغيير يُحسِّن أداء ميزة "التشغيل السريع" وما هو نوع المشاكل التي تواجهها عند استخدامها. إذا واجهت مشاكل، يمكنك
إيقاف هذه الميزة من خلال إضافة السطر التالي إلىملف
~/.android/advancedFeatures.ini
:
QuickbootFileBacked = off
عند بدء المحاكي من لقطة (إما باستخدام خيار سطر الأوامر -snapshot
أو من لقطة في مدير AVD)، يوقف
المحاكي كلّ من الحفظ التلقائي للقطات Quickboot وحفظ لقطات
Quickboot عند الخروج. يقلل ذلك من فرص أن يتم
استبدال لقطة Quickboot عن غير قصد، ويتجنّب مسارات النسخ الاحتياطي البطيئة التي لا تستخدم
لقطات Quickboot المستندة إلى الملفات.
QEMU 2.12
لقد أعدنا قاعدة إصدار QEMU من QEMU 2.9 إلى QEMU 2.12. يتضمّن هذا التحديث تغييرات QEMU التالية:
- https://wiki.qemu.org/ChangeLog/2.10
- https://wiki.qemu.org/ChangeLog/2.11
- https://wiki.qemu.org/ChangeLog/2.12
في ما يلي بعض التغييرات البارزة التي تؤثّر في "محاكي Android":
- x86: يتيح الإصدار
gdbstub
الآن الوصول إلى سجلات SSE. - صور الأقراص: تتم إضافة قفل الصور وتفعيله تلقائيًا. لا يمكن لعمليّات QEMU المتعدّدة الكتابة في الصورة نفسها ما دام المضيف يتيح استخدام OFD أو قفل posix، ما لم يتم تحديد خيارات أخرى.
- يتيح
qemu-img: qemu-img resize
تخصيص مساحة مسبقًا للأجزاء الجديدة من الصورة. - أصبح تقليص QCOW2 الآن متاحًا في
qemu
وqemu-img
.
تسهيل الاستخدام
- تم حلّ المشاكل المتعلّقة بقارئي الشاشة وإضافة ميزات أفضل لهذه الأدوات في واجهة مستخدم "تسجيل الشاشة" و"لقطة الشاشة".
- تم تسهيل استخدام رموز إشعارات "التشغيل السريع" للمستخدمين الذين يعانون من عمى الألوان.
الرسومات
- تم إصلاح مشكلة الوصول إلى الذاكرة خارج الحدود التي قد تحدث لمؤشرات صفيف النقاط في OpenGL ES.
- لم تكن بعض وحدات معالجة الرسومات القديمة متوافقة مع OpenGL 2.1 أو الإصدارات الأحدث (وهو مطلوب)، أو كانت تواجه مشاكل أخرى في الموثوقية. وقد تؤدي هذه المشاكل إلى تعطُّل المحاكي عند التشغيل أو تجميده أو عدم قابليته للاستخدام في الإعداد التلقائي لوحدة معالجة الرسومات. يتبدّل المحاكي الآن تلقائيًا إلى أداة عرض Swiftshader إذا رصد أنّه يتم استخدام موارد GPU هذه.
- تم إصلاح مشكلة كانت تؤدي إلى عدم نشر المحاكي لإطار التخزين المؤقت الصحيح إذا كان
FBO != 0
مرتبطًا في وقتeglSwapBuffers
. - تم إصلاح مشكلة عدم ظهور شاشة Android الافتراضية إلا في الزاوية العلوية اليمنى. نعتقد أنّ ذلك يرجع إلى الإعداد غير الصحيح لمتغيّرات بيئة Qt. يتجاهل المحاكي الآن جميع متغيّرات البيئة ذات الصلة بتوسيع Qt.
- تم إصلاح مشكلة تعطُّل المحاكي في بعض الحالات عند تحميل التطبيقات التي تستخدم GLES1 من لقطة شاشة.
- تم إصلاح مشاكل التزامن في OpenGL وإطلاق سلاسل العرض التي قد تؤدي إلى إخلاء مضاعف أو بيانات تالفة.
- يتيح "محاكي Android" الآن استخدام تركيبة ASTC LDR
المضغوطة (
GL_KHR_texture_compression_astc_ldr
) لصور النظام التي تستخدم المستوى 28 من واجهة برمجة التطبيقات أو المستويات الأعلى. - من المفترض أن تتمكّن الآن معظم وحدات معالجة الرسومات الحديثة من تشغيل المحاكي مع تفعيل OpenGL ES 3.x
تلقائيًا بدون استخدام علامة ميزة
GLESDynamicVersion
. - تم إيقاف ميزة "
-gpu guest
" نهائيًا (عرض البرامج في وضع الضيف). إنّ رسومات النظام للمستوى 28 من واجهة برمجة التطبيقات أو الإصدارات الأحدث تنتقل الآن تلقائيًا إلى استخدام Swiftshader بدلاً من ذلك (-gpu swiftshader_indirect
). - في حال تشغيل المحاكي من سطر الأوامر باستخدام العلامة
-no-window
، يصبح Swiftshader هو مُعِدِّل العرض التلقائي.
الموقع الجغرافي
- يمكن للمحاكي الآن تعديل الاتجاه بالإضافة إلى خط العرض والخط الطول الموقع الجغرافي. يضبط المستشعر الافتراضي لمقياس المغناطيسية نفسه ديناميكيًا للشمال المغناطيسي عن طريق استنتاج الحركة عند تشغيل ملف GPX أو KML.
- يمكن الآن ضبط سرعة الجهاز في صفحة "الموقع الجغرافي".
- عند تشغيل ملف GPX أو KML، يتم ضبط السرعة تلقائيًا، ويتم ضبطها على القيمة صفر عند انتهاء التشغيل.
- لم يعد الارتفاع يقتصر على ما بين -1000 و+10000 متر.
- تم إصلاح مشكلة عدم تعديل الموقع الجغرافي الافتراضي لنظام تحديد المواقع العالمي (GPS) بصورة دورية ما لم يتم فتح نافذة "عناصر التحكّم الموسّعة" مرة واحدة على الأقل.
الكاميرا
على نظام التشغيل Windows، يتوفر الآن المزيد من كاميرات الويب لأنّ المحاكي يغيّر حجم إطارات الكاميرا التي يتم عرضها من كاميرا الويب ديناميكيًا. تمنع هذه الميزة أيضًا أخطاء إرسال اللقطات من أن تؤدي إلى تعليق المحاكي.
متجر Play
لحلّ المشاكل المتعلّقة بنفاد مساحة القرص في صور "متجر Play"، يغيّر الemualtor الآن حجم قسم userdata تلقائيًا إلى 6 غيغابايت عند التشغيل باستخدام جهاز افتراضي جديد من AVD في "متجر Play".
إصلاحات وتحسينات عامة على الجودة
- أبلغ بعض المستخدمين عن بطء تشغيل المحاكي. لقد حدّدنا أحد الأسباب المحتملة التي تؤدي إلى توفّر عددٍ كبير جدًا من الملفات المهترئة في الدليل المؤقت للمحاكي. كحل بديل، لم يعُد المحاكي يخزِّن ملفات التحقّق من صحة الجهاز في ADB في هذا الدليل. ومع ذلك، قد يساعد أيضًا حذف محتويات
هذا المجلد. يقع المجلد في أحد المواقع التالية،
استنادًا إلى نظام التشغيل:
- نظام التشغيل Windows:
C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
- نظام التشغيل macOS أو Linux:
/tmp/android-<username>/*
- نظام التشغيل Windows:
- إذا تعذّر تشغيل المحاكي بسبب عدم توفّر ذاكرة وصول عشوائي (RAM) كافية، يتم الآن عرض رسالة خطأ. إذا كنت تستخدم نظام التشغيل Windows ولاحظت أنّ ذاكرة الوصول العشوائي (RAM) متوفّرة، ولكن لا يزال يتعذّر عليك تشغيل المحاكي، قد يكون قد تم تجاوز رسوم الربط. للحصول على مساعدة بشأن هذه المشكلة، يُرجى الاطّلاع على صفحة تحديد مشاكل المحاكي وحلّها.
- يؤدّي خيار سطر الأوامر
-sysdir
الآن إلى إلغاء دليل صور النظام المستنتَج بشكل صحيح. - يتيح الآن المودم الافتراضي طلب
+MAI
معلومات نشاط النموذج. - تم إصلاح مشاكل مختلفة متعلّقة بتسرُّب الذاكرة وتلفها واستخدام وحدة المعالجة المركزية (CPU). إذا كنت تواجه أعطالًا أو تسرُّبًا للذاكرة أو استخدامًا مرتفعًا للموارد، يُرجى إنشاء مشكلة في نظام تتبُّع المشاكل.
- تم إصلاح مشكلة ظهرت مجددًا على نظام التشغيل macOS 10.14، حيث يؤدي استخدام سماعات الرأس التي تعمل بالبلوتوث مع المحاكي إلى خفض جودة الصوت بشكل عام. لمنع حدوث ذلك، تجنّب المحاكي الآن استخدام الصوت عبر البلوتوث عند تشغيله على نظام التشغيل macOS. (المشكلة 37070892)
- تم إصلاح مشكلة في نظام التشغيل Windows تؤدي إلى عدم ضبط توقيت المحاكي على المنطقة الزمنية الصحيحة.
- تم إصلاح بطء المحاكي وتوقّفه على أنظمة Linux التي تستخدم الأقراص الصلبة الدوّارة (HDD).
- تم إصلاح بعض تحذيرات التجميع التي قد تؤدي إلى تلف تسلسل استدعاء الدوال البرمجية على نظام التشغيل macOS.
- تم إصلاح المشاكل التي يمكن أن تؤدي إلى ظهور تقارير مضلِّلة عن تعليق التطبيق.
- تم إصلاح مشكلة تتعلّق بإتلاف مجموعات سلاسل المحادثات التي قد تؤدي إلى تعطُّل إذا لم يتم إنشاء إحدى سلاسل المحادثات بنجاح.
- تم إصلاح مشكلة على نظام التشغيل macOS تؤدي إلى عدم موثوقية الموقّتات، ما يؤدي إلى تعليق التطبيقات وظهور سلوك غريب آخر. إذا كان المحاكي يتوقّف عن العمل على نظام التشغيل macOS، يُرجى إنشاء مشكلة في نظام تتبُّع المشاكل.
- تم إصلاح مشكلة كانت تؤدي إلى إيقاف واجهة المستخدم عند إغلاق المحاكي، ولكن بدون إغلاق المحاكي فعليًا.
- تم إصلاح المشاكل المتعلّقة بأعطال متقطعة، بما في ذلك عمليات الإيقاف بسبب فتح عددٍ كبير جدًا من مثيلات
/dev/urandom
. - تم إصلاح مشكلة تسببت في تعذُّر تشغيل المحاكي بعد المرة الأولى في حال إغلاق ADB بقوة.
- تمت إزالة إصدار MIPS. إذا كنت لا تزال بحاجة إلى MIPS، يُرجى إنشاء مشكلة في نظام تتبُّع المشاكل.
- تم إصلاح مشكلة تؤدي إلى تلف عمليات الاتصال بـ ADB عند تحميل لقطة شاشة.
- تم إصلاح مشكلة ظهور صورة متأخرة أو انتقال سريع خارج الشاشة في نافذة المحاكي عند استئناف لقطة شاشة كان اتجاه الجهاز فيها مختلفًا عن الاتجاه التلقائي لجهاز AVD.
- تم إصلاح المشاكل المتعلّقة بالأعطال عند حفظ اللقطات.
- في نظام التشغيل Linux، يمكن أن تؤدي أنظمة الملفات btrfs إلى إبطاء شديد لأنّ المحاكي
يحفظ اللقطات تلقائيًا ويستخدم ميزة "النسخ عند الكتابة" لأجهزة
القرص الافتراضي. ننصحك بتنظيف الدليل
~/.android/avd
وتنفيذ الأمر التالي على الدليل~/.android/avd
الفارغ:chattr +C
يؤدي ذلك إلى إنشاء لقطات جديدة في مجلد تم إيقاف ميزة "النسخ عند الكتابة" فيه.
معيار HAXM 7.3.2
نود ذكر HAXM 7.3.2 مرة أخرى لأنه يجب تثبيته حتى تعمل صور النظام الحديثة بشكل صحيح على المحاكي. يجب أن يكون الإصدار HAXM 7.3.2 متاحًا في القناة الثابتة، ويمكن أيضًا تثبيته يدويًا من https://github.com/intel/haxm/releases.
في ما يلي بعض المشاكل التي تم حلّها في هذا الإصدار من HAXM:
- تم إصلاح الأعطال العشوائية لأنظمة تشغيل الضيف التي تستخدم نواة Linux حديثة (>= 4.6). على سبيل المثال، Ubuntu 18.04 (#39، #74).
- تم إصلاح خطأ في محاكي تعليمات x86 يمكن أن يؤدي إلى تعطُّل المضيف (#93).
إيقاف إصدار Windows 32 بت نهائيًا
بسبب انخفاض معدّل الاستخدام وارتفاع تكاليف الصيانة، نخطّط لإيقاف نهائيًا الإصدار 32 بت من Android Emulator الذي يعمل على نظام التشغيل Windows. سنطرح خطة انتقالية قبل إزالة الإصدار 32 بت من محاكي Android وإيقاف دعمه نهائيًا. مع ذلك، نسعى جاهدين إلى الحصول على أي ملاحظات أو استفسارات بشأن هذا التغيير المستقبلي.
يُرجى إعلامنا في نظام تتبُّع المشاكل إذا كنت تعتمد حاليًا على الإصدار 32 بت من "محاكي Android" الذي يعمل على نظام التشغيل Windows، وإخبارنا بكيفية العمل معك على أفضل نحو من الآن فصاعدًا.
27.3.10 (آب/أغسطس 2018)
يتضمّن هذا التحديث إصلاح الخطأ التالي:
إصلاح إعداد حجم ذاكرة الوصول العشوائي
أبلغ بعض المستخدمين عن بطء تشغيل المحاكي. لقد حدّدنا أحد الأسباب المحتملة التي أدّت إلى ضبط حجم ذاكرة الوصول العشوائي (RAM) لجهاز AVD بشكلٍ غير صحيح في ملف config.ini
الخاص بجهاز AVD.
للتخفيف من هذه المشكلة، يزيد المحاكي الحد الأدنى لمستوى ذاكرة الوصول العشوائي للصور التي تستخدم المستوى 26 من واجهة برمجة التطبيقات أو مستوى أعلى إلى المستوى التلقائي في Android Studio الذي يبلغ 1536 ميغابايت. إذا كانملف config.ini
في AVD لا يُدرج hw.ramSize
بالميغابايت،
يُرجى إنشاء مشكلة في أداة تتبُّع المشاكل.
يمكنك العثور على ملف config.ini
في الموقع التالي:
~/.android/avd/<avdname>.avd/config.ini
27.3.9 (تموز/يوليو 2018)
يتضمّن هذا التحديث التحسينات وإصلاحات الأخطاء التالية:
رسائل الخطأ المحسّنة لنظام Windows Hypervisor Platform
واجه بعض المستخدمين صعوبة في تشخيص سبب تعذُّر بدء تشغيل Windows Hypervisor Platform
(WHPX) عند تفعيل محاكي WHPX. لمساعدتك في تحديد هذه المشاكل، أضفنا رسائل خطأ أكثر وضوحًا. ويمكنك تفعيل رسائل الخطأ هذه من خلال تشغيل المحاكي من سطر الأوامر باستخدام
علامة -verbose
.
إصلاحات عامة
- تم إصلاح أخطاء OpenGL التي تحدث عند تحميل لقطة في تطبيق الكاميرا.
27.3.8 (تموز/يوليو 2018)
يتضمّن هذا التحديث العديد من الميزات الجديدة وتحسينات على الميزات الحالية وإصلاحات للأخطاء.
اللقطات
يمكنك الآن حفظ لقطات متعددة لجهاز افتراضي Android لإعداد جهاز معيّن، و اختيار اللقطات المحفوظة التي تريد تحميلها عند بدء تشغيل المحاكي.
بدءًا من الإصدار 3.2 من إصدار Canary من "استوديو YouTube" الإصدار 13، ستشمل كل عملية ضبط عنصر تحكّم في الإعدادات المتقدّمة ضمن مربّع حوار "إعداد الجهاز الافتراضي" الذي يمكنك من خلاله تحديد لقطة "متوسّط مدة المشاهدة" المطلوب تحميلها عند بدء "متوسّط مدة المشاهدة".
لاستيعاب هذا التوسّع في ميزات اللقطات، أضفنا فئة اللقطات إلى مربّع الحوار عناصر التحكّم الموسّعة. تحتوي هذه اللوحة الجديدة على عناصر تحكّم لحفظ لقطات AVD وتحميلها، بما في ذلك عناصر التحكّم لحفظ لقطة التشغيل السريع وتحميلها والتي كانت متوفّرة سابقًا في لوحة الإعدادات.
يمكنك تعديل اسم كل لقطة محفوظة ووصفها.
لمعرفة التفاصيل، يُرجى الاطّلاع على النُسخ الاحتياطية.
HAXM 7.2.0
يتوفّر الآن الإصدار 7.2.0 من HAXM في جميع القنوات.
يتضمّن هذا التحديث إصلاحات للأخطاء ودعمًا محسَّنًا للكميات الكبيرة من ذاكرة الوصول العشوائي (RAM). بالإضافة إلى ذلك، من خلال تحديث HAXM هذا وإصدار 27.3 من المحاكي والإصدارات الأحدث، تحمِّل اللقطات المحتوى إلى ذاكرة الوصول العشوائي عند الطلب بدلاً من تحميل اللقطة بالكامل عند بدء الجهاز الظاهري. من المفترض أن يؤدي هذا التغيير إلى تقليل الوقت اللازم لتحميل لقطة بشكل كبير.
لمعرفة التفاصيل، يُرجى الاطّلاع على ضبط تسريع الأجهزة الافتراضية.
27.2.9 (أيار/مايو 2018)
يتضمّن هذا التحديث العديد من الميزات الجديدة وتحسينات على الميزات الحالية وإصلاحات للأخطاء.
تسجيل الشاشة
يمكنك الآن تسجيل الفيديو والصوت من "محاكي Android" وحفظ تسجيلك في ملف WebM أو ملف GIF متحرك.
تتوفّر عناصر التحكّم في تسجيل الشاشة ضمن علامة التبويب تسجيل الشاشة في نافذة عناصر التحكّم الإضافية.
ملاحظة: يمكنك أيضًا فتح عناصر التحكّم في تسجيل الشاشة من خلال الضغط على Ctrl + 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
أصبح تطوير تطبيقات الواقع المعزّز واختبارها باستخدام ARCore أسهل الآن باستخدام كاميرا المشهد الافتراضي الجديدة التي تتيح لك تجربة الواقع المعزّز في بيئة افتراضية.
للحصول على معلومات حول استخدام كاميرا المشهد الافتراضي في المحاكي، يُرجى الاطّلاع على مقالة تشغيل تطبيقات الواقع المعزّز في "محاكي Android".
صور "متجر Google Play" على أجهزة Pixel
تم تفعيل "متجر Google Play" الآن لعرض صور أجهزة Pixel وPixel 2. يُشار إلى ذلك في مدير أجهزة المحاكاة الافتراضية في الإصدار 3.2 من "استوديو Android" وما بعده من خلال شعار Google Play في عمود متجر Play. تتضمّن أجهزة AVD التي تم تفعيل "متجر Google Play" فيها علامة التبويب Google Play في مربّع الحوار عناصر التحكّم الموسّعة، والتي تتضمّن زرًا مناسبًا لتحديث "خدمات Google Play" على الجهاز.
اللقطات
يمكنك الآن تحميل لقطة شاشة لميزة "التشغيل السريع" بدون إعادة تشغيل المحاكي. لتحميل لقطة، افتح نافذة عناصر التحكم الموسَّعة للانتقال إلى صفحة الإعدادات، ثم انقر على الزر تحميل الآن.
لقد أجرينا العديد من التحسينات على تحميل اللقطات وحفظها لتحسين كفاءة استخدام الموارد وتقليل الوقت الذي تستغرقه كل عملية. إذا كنت لا تزال تواجه عمليات حفظ طويلة غير معتادة، يُرجى الإبلاغ عن مشكلة وتقديم تفاصيل عن وحدة المعالجة المركزية (CPU) وذاكرة الوصول العشوائي (RAM) وإعدادات أي برنامج لمكافحة الفيروسات / جدار حماية / أمان قيد التشغيل.
العرض باستخدام Skia
عند استخدام صور لإصدار 27 من واجهة برمجة التطبيقات أو الإصدارات الأحدث، يمكن للمحاكي عرض واجهة مستخدم Android باستخدام Skia، ما يمكن أن يؤدي إلى عرض أكثر سلاسة وكفاءة.
في الوقت الحالي، يتطلب استخدام Skia تفعيله صراحةً.
لتفعيل عارض Skia، استخدِم الأوامر التالية في adb shell:
su setprop debug.hwui.renderer skiagl stop start
الكاميرا
على نظام التشغيل Windows، يستخدم "محاكي Android" الآن Media Foundation كنظام أساسي لكاميرا الويب، ما يؤدي إلى تحسين الأداء وعدد اللقطات في الثانية بشكل كبير لالتقاط كاميرا الويب، ويصل إلى 720p 30 لقطة في الثانية.
على أجهزة Mac، يمكنك الآن استخدام webcam0 وwebcam1 معًا.
متنوعة
تم تغيير خيار سطر الأوامر -phone-number-prefix
إلى
-phone-number [number]
، ما يتيح ضبط
رقم الهاتف بالكامل.
يمكنك الآن استخدام عناوين الرسائل القصيرة الأبجدية الرقمية.
الإصلاحات
- يتم الآن إنشاء إصدار Linux من "محاكي Android" باستخدام مجموعة أدوات Clang C++ الحديثة. يحلّ هذا التغيير مشكلة تعذُّر تشغيل المحاكي بسبب أخطاء libGL وlibstdc++.
- تم إصلاح العديد من أسباب الأعطال والتوقّف المؤقت.
- لتجنُّب الأعطال والتوقفات الناتجة عن عدم توفُّر مساحة كافية على القرص، يتحقق الemuالآن من توفُّر مساحة كافية على القرص عند بدء التشغيل، ولن يبدأ الemu إلا إذا كانت هناك مساحة خالية تبلغ 2 غيغابايت على الأقل.
- تم إصلاح مشكلة كانت تمنع عرض بعض ألعاب Unity.
- تم إصلاح مشكلة نظام أسماء النطاقات التي أدّت إلى تعذُّر اتصال المحاكي بالشبكة.
- تم إصلاح مشكلة كانت تؤدي إلى عدم عمل التغييرات على مساحة التخزين الداخلية المخصّصة لجهاز AVD من خلال مربّع الحوار "ضبط الجهاز الافتراضي".
- تم إصلاح مشكلة إنشاء العديد من عمليات adb وعدم إغلاقها بشكل صحيح.
- تم إصلاح مشكلة كانت تؤدي إلى عدم استجابة أزرار التدوير وأجزاء أخرى من واجهة المستخدم ما لم تكن نافذة عناصر التحكّم الموسّعة مفتوحة.
- تم إصلاح مشكلة تسببت في تعذُّر عمل النسخ واللصق من المضيف ما لم يتم فتح مربّع حوار "عناصر التحكّم الموسَّعة" مرة واحدة على الأقل.
- تم تحديث مستطيل تغيير الحجم في المحاكي بدون إطار لمتابعة المظهر المرئي للمحاكي بشكل أفضل.
- تم الآن إيقاف الهاتف والرسائل القصيرة بشكل صحيح عند تفعيل "وضع الطيران".
- تم إصلاح مشكلة كانت تؤدي إلى إيقاف وظائف الرسائل القصيرة والاتصال الخلوي بعدتحميل لقطة شاشة.
- لن تتلقّى بعد ذلك رسائل تحذير خاطئة مفادها:
“Unable to open... \pstore.bin. Permission denied.”
. - تم إصلاح مشكلة كانت تمنع إعادة وضع جهاز AVD على بعض شاشات أجهزة Mac.
- تم إصلاح مشاكل الوميض والشاشات الفارغة على أجهزة MacBook Pro الأحدث عند تشغيل أجهزة AVD باستخدام مظاهر Pixel 2 XL.
- تم إصلاح المشاكل المتعلّقة بالظهور الشاشة فارغة عند التبديل إلى وضع "المحسّن" أثناء تفعيل أحد محاكيات الشاشة الكاملة.
- تم إصلاح مشكلة كانت تؤدي إلى عدم تطابق محتوى المحاكي وشكل الجهاز عند تكبير الشاشة.
إذا استمرت المشاكل في الجهاز أو حدوث أعطال أخرى، يُرجى تسجيل مشكلة.
27.1.12 (آذار/مارس 2018)
يتضمّن هذا التحديث إصلاحات للمشاكل التالية:
- لاحظنا انخفاضًا في جودة الصوت عبر البلوتوث بعد بدء تشغيل المحاكي. (المشكلة 37095756)
- تم إرسال المواقع الجغرافية التي تم إرسالها إلى محاكي واحد إلى جميع المحاكيات. (المشكلة 73450633)
- تم إلغاء الموقع الجغرافي لنظام تحديد المواقع العالمي (GPS) الذي تم ضبطه باستخدام وحدة التحكّم بالقيم التي تم ضبطها باستخدام عناصر التحكّم الموسّعة > الموقع الجغرافي في واجهة المستخدم الرسومية. (المشكلة 73471760)
إذا استمرت المشاكل المتعلّقة بالتوقّف أو عدم الثبات، يُرجى تسجيل مشكلة.
من خلال هذا التحديث الذي يحتوي على صورة نظام حالية وإصدار معاينة من "استوديو Android"، يمكنك استخدام Android Emulator لتشغيل تطبيقات الواقع المعزّز التي تم إنشاؤها باستخدام ARCore. للاطّلاع على المتطلبات والتعليمات التفصيلية، يُرجى الاطّلاع على مقالة تشغيل تطبيقات الواقع المعزّز في "محاكي Android".
27.1.10 (شباط/فبراير 2018)
درجة دقة الكاميرا
يمكن الآن التقاط اللقطات بدقة 720p من كاميرا ويب متصلة.
للعمل مع صور نظام التشغيل Android 8.1 (المستوى 27 من واجهة برمجة التطبيقات) والإصدارات الأحدث، يجب أن تكون أي كاميرا ويب متصلة مزوّدة بإمكانية التقاط لقطات بدقة 720p.
الإصلاحات
- تم إصلاح مشكلة كانت تؤدي إلى ظهور صورة مشوّهة أو خضراء بالكامل في بعض الأحيان عند التقاط الصور باستخدام كاميرا الويب.
- تم إصلاح مشكلة كانت تسمح بظهور الرسالة التالية حتى في حال عدم حدوث تعليق فعلي: "المحاكي: خطأ: تم رصد سلسلة مهام معلّقة "Qt event loop". لم يتم تلقّي أي ردّ بعد مرور 15,000 ملي ثانية".
إذا استمرت المشاكل في الجهاز أو حدوث أعطال أخرى، يُرجى تسجيل مشكلة.
27.1.7 (شباط (فبراير) 2018)
نافذة المحاكي بدون إطار:
يتم الآن عرض المحاكيات التي تحتوي على ملفات تنسيق الجهاز تلقائيًا بدون إطار نافذة محيط. لعرض إطار النافذة المحيط، فعِّل الخيار عرض إطار النافذة حول الجهاز في لوحة "الإعدادات" ضمن نافذة عناصر التحكّم الموسّعة.
تحسينات على ميزة "التشغيل السريع" لجعل العمل باستخدام لقطات AVD أكثر كفاءة:
- يمكنك حفظ لقطة شاشة لجهاز افتراضي Android في أي وقت باستخدام الزر حفظ الآن في Pane (لوحة) "الإعدادات" من مربّع حوار عناصر التحكّم الموسّعة.
- يقلل المحاكي من الوقت المستغرَق لحفظ لقطة في العديد من الحالات من خلال حفظ الفرق فقط بين الحالة الحالية واللقطة التي تم حفظها سابقًا.
لمعرفة التفاصيل، يُرجى الاطّلاع على مستندات التشغيل السريع.
تم تحديث المحاكي لاستخدام QEMU 2.9.
تشمل بعض التحسينات البارزة ما يلي:
- تحسين عمليات الإدخال/الإخراج وقفل مؤشرات تسلسل عمليات الإدخال/الإخراج بدقة أكبر لتحسين الأداء
- تم إصلاح الأخطاء منذ QEMU 2.8 (26.1.4).
- تنفيذ جديد للواجهة الخلفية HAXM
يمكنك الاطّلاع على القائمة الكاملة بالتغييرات في سجلّ تغييرات QEMU 2.9.
تنفيذ Swiftshader بما يتوافق مع OpenGL ES 3.0:
أصبح مُنشئ الصور Swiftshader في المحاكي متوافقًا بالكامل مع OpenGL ES 3.0. لمعرفة تفاصيل عن أداة عرض Swiftshader، يُرجى الاطّلاع على قسم الإعدادات > الإعدادات المتقدّمة ضمن عناصر التحكّم الموسّعة.
الإصلاحات
- تم إصلاح مشكلة تعذُّر مشاركة الحافظة ما لم يتم إيقاف الخيار تفعيل مشاركة الحافظة وتفعيله.
- تم إصلاح التعليق عند استخدام الواجهة الخلفية بطريقة عرض Swiftshader مع متوسّطات مدة المشاهدة منخفضة الدقة.
27.0.5 (كانون الثاني/يناير 2018)
تم إيقاف ANGLE للعرض على نظام التشغيل Windows تلقائيًا.
إذا كان ANGLE يعمل بشكل أفضل بالنسبة إليك، يمكنك إعادة تفعيله باستخدام علامة سطر الأوامر
-gpu angle_indirect
. أو افتح نافذة "عناصر التحكّم الموسّعة" وانتقِل إلى الإعدادات > الإعدادات المتقدّمة، ثم اختَر ANGLE D3D11 لإعداد مُشغِّل OpenGL ES.تم حل مشكلة عدم كتابة Shift+B الحرف B الكبير.
27.0.2 (كانون الأول (ديسمبر) 2017)
توفّر ميزة "التشغيل السريع" الجديدة أوقات بدء محاكي أسرع، استنادًا إلى لقطة شاشة لمثيل AVD.
تكون ميزة "التشغيل السريع" مفعَّلة تلقائيًا لجميع أجهزة AVD. على الرغم من أنّه عند بدء تشغيل AVD للمرة الأولى، يجب أن يتم تشغيل المحاكي على البارد (تمامًا كما هو الحال في تشغيل جهاز)، وتتم عمليات بدء التشغيل اللاحقة بسرعة وتتم استعادة النظام إلى الحالة التي أغلقت فيها المحاكي (مثل تنشيط الجهاز).
إذا كنت تريد التحكّم في وقت حفظ المحاكي لمثيل، افتح نافذة عناصر التحكّم الموسّعة في المحاكي وانقر على الإعدادات. يمكنك هنا اختيار أحد الإعدادات التالية لحفظ حالة التشغيل السريع عند الخروج:
- نعم: يمكنك دائمًا حفظ لقطة سريعة للتشغيل عند إغلاق المحاكي. هذا هو الخيار التلقائي.
- لا: لا تحفظ أبدًا لقطة شاشة للتشغيل السريع، بل عليك دائمًا إجراء عملية تشغيل بارد.
- الطلب: يمكنك طلب حفظ لقطة سريعة لحالة الجهاز عند إغلاق الemualtor أو عدم حفظها.
لا ينطبق اختيارك إلا على AVD المفتوح حاليًا.
لمزيد من المعلومات، يُرجى الاطّلاع على مستندات ميزة "التشغيل السريع".
تمت إضافة دعم لـ Mac OpenGL ES 3 (لصور النظام التي تستخدم مستوى واجهة برمجة التطبيقات 24 والإصدارات الأحدث وGoogle APIs وx86 ABI).
لزيادة الثبات في تطبيقات OpenGL ES 2 والإصدارات الأحدث، يستخدم المحاكي الآن ملف تعريف OpenGL core إذا كان متاحًا.
خيارات جديدة للعرض باستخدام Swiftshader / ANGLE:
-gpu swiftshader_indirect
: إصدار أسرع وأكثر ثباتًا من Swiftshader ويتوافق مع ميزة "التشغيل السريع".-gpu angle_indirect
(لنظام التشغيل Windows فقط): إصدار أكثر ثباتًا من ANGLE D3D يعمل أيضًا مع ميزة "التشغيل السريع"
تم إيقاف الخيارَين
-gpu swiftshader
و-gpu angle
القديمَين نهائيًا. في نافذة "عناصر التحكّم الموسَّعة"، يستخدم الآن الخياران "SwiftShader" و"ANGLE" الخيارَين "*_indirect
" لضبط عارض OpenGL ES في الإعدادات > الإعدادات المتقدمة.إصلاحات أخطاء أخرى متنوّعة
26.1.4 (آب/أغسطس 2017)
هذا إصدار ثانوي يحتوي على إصلاحات للأخطاء والتحسينات التالية على تهيئة وحدة معالجة الرسومات:
- تفعيل صورة التمهيد المتحركة عند التشغيل على مُحرِّك ANGLE
- إيقاف GLES3 عند التشغيل باستخدام عارض ANGLE
26.1.3 (آب/أغسطس 2017)
هذا إصدار بسيط يتضمّن إصلاحات للأخطاء وتحسينات في الأداء وتغييرات بسيطة في الميزات.
- أصبح هذا الإصدار مطلوبًا الآن لاستخدام أحدث صور نظام Android 8.0.
هي متوافقة مع التريبل،
وتحتوي على أقسام
vendor.img
منفصلة. - يتوفّر الآن الإصدار الجديد من HAXM 6.2.0 (يُرجى التحقّق من "مدير حِزم تطوير البرامج") ويتضمّن التحسينات التالية:
- استخدام محسّن للذاكرة لم يعُد الحد الأقصى للذاكرة المخصّصة للعمل التي تم تثبيتها باستخدام HAXM هو مساويًا لحجم ذاكرة الوصول العشوائي (RAM) في جهاز AVD، بل يتم نقل الذاكرة في صفحات حسب الطلب. من المفترض أن يساعد ذلك في تشغيل المحاكي بشكل أكثر موثوقية على الأجهزة التي تحتوي على كميات أقل من ذاكرة الوصول العشوائي.
- يمكن الآن تشغيل المحاكي المزوّد ببرنامج HAXM 6.2.0 بشكل أسرع على نظام التشغيل macOS، مع تخطّي مرحلة بدء التشغيل الطويلة.
- تحسينات على إعدادات وحدة معالجة الرسومات
- تم إصلاح المشاكل المتعلّقة بالشاشة السوداء عند بدء التشغيل عند تنفيذ معالجة رسومات البرامج من جهة الضيف من خلال الرجوع إلى معالجة رسومات البرامج من جهة المضيف باستخدام Swiftshader. يجب أن تتضمّن أحدث نُسخ من صور النظام للمستويات 19 إلى 25 من واجهة برمجة التطبيقات واجهة برمجة تطبيقات Google ميزة التقديم من جهة الضيف.
- تم إصلاح مشكلة تبديل المحاكي إلى أداة عرض برامج
بسبب رصد وجود وحدات معالجة رسومات Intel قديمة، ولكن كان المحاكي
يعمل في الواقع على وحدة معالجة رسومات منفصلة. يتم تحديد وحدات معالجة الرسومات التي سيتم تبديلها لاستخدام ANGLE
أو Swiftshader rendering على النحو التالي:
- تواجه وحدات Intel iGPU القديمة مشاكل في برامج التشغيل لكل من برامج تشغيل OpenGL وANGLE D3D. سيستخدم المستخدمون الذين لديهم معالج Intel HD Graphics 3xxx والإصدارات الأقدم Swiftshader.
- أبلغ بعض المستخدمين عن عدم تمكّنهم من استخدام صور المستوى 25 من واجهة برمجة التطبيقات بسبب خطأ يؤدي إلى "توقُّف تطبيق Pixel Launcher باستمرار". يبدو أنّ هذه مشكلة في برنامج التشغيل في بعض طُرز Intel HD 4xxx. وسيتم تبديلهم تلقائيًا إلى استخدام ANGLE.
- للحصول على أفضل النتائج عند استخدام ميزة محاكاة وحدة معالجة الرسومات، ننصحك باستخدام وحدة معالجة رسومات منفصلة من NVIDIA أو AMD أو وحدة معالجة رسومات أحدث من Intel (Iris أو HD 5xxx أو HD 5xx/6xx).
- تم إصلاح مشكلة تعذُّر بدء المحاكي (تعذُّر تشغيل محاكاة OpenGL
) في حال ضبط AVD على
hw.gpu.mode=host
وتشغيل المحاكي في برنامج على سطح المكتب البعيد. - تم توضيح إعدادات "مستوى واجهة برمجة التطبيقات OpenGL ES (يتطلب إعادة تشغيل)"، وتم إضافة خيار لخفض الإصدار من OpenGL ES 3 إلى OpenGL ES 2 في حال مواجهة مشاكل أو الحاجة إلى الاختبار على مستويات أقل من واجهة برمجة التطبيقات OpenGL ES.
- تم إيقاف عارض Mesa نهائيًا، وسيتم الآن
تبديل
hw.gpu.mode=mesa
تلقائيًا لاستخدام Swiftshader على المضيف.
- تحسينات على نظام التشغيل macOS:
- أصبح المحاكي متوافقًا الآن بالكامل مع نظام التشغيل macOS 10.13 High 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
، وهي مَعلمة سطر الأوامر. - أشار بعض المستخدمين إلى أنّ صور نظام "متجر Play" ذات الحجم الثابت لا تتوفّر فيها مساحة تخزين كافية. وبناءً على ذلك، رفعنا حجمها تلقائيًا إلى 2 غيغابايت (من 800 ميغابايت).
- تمت إضافة اختصار لوحة مفاتيح (Ctrl + Shift + U) لفتح صفحة واجهة المستخدم لإعداد تقارير الأخطاء مباشرةً من صفحة الإعدادات.
- تم إصلاح مشكلة كانت تعيق تشغيل المحاكي إذا تم ضبط أكثر من نواة واحدة، وذلك إذا كانت وحدة المعالجة المركزية (CPU) قديمة مزودة بمعالج Intel x86 EPT ولكن بدون استخدام UG.
- تم إصلاح مشكلة اكتشاف HyperV بشكل غير صحيح إذا كان المحاكي يتم تشغيله في نظام التشغيل Xen hypervisor.
- تم إصلاح مشكلة كانت تؤدي إلى تعطُّل المحاكي عند بدء التشغيل في بعض إعدادات Linux.
26.1.2 (تموز/يوليو 2017)
يتضمّن هذا الإصدار ميزات جديدة وتحسينات في الأداء.
تمت إضافة إمكانية تحديد إعدادات مخصّصة لخادم وكيل HTTP في أدوات التحكّم الموسّعة (انقر على رمز المزيد ، ثمّ انقر على الإعدادات ثمّ الخادم الوكيل). بشكل افتراضي، يستخدم المحاكي إعدادات الخادم الوكيل HTTP في "استوديو Android"، إلا أن هذه الشاشة تتيح لك تحديد تهيئة يدوية للخادم الوكيل.
تمت إضافة دعم VNC لوحدة معالجة الرسومات في وضع الضيف حتى يمكن عرض المحاكي والتحكّم فيه عن بُعد. على سبيل المثال، يمكنك تشغيل المحاكي والسماح لخدمة VNC بالاستماع إلى العميل على المنفذ 5901 على النحو التالي:
- التنفيذ:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
افتح برنامج عرض VNC، مثل tightvnc viewer، للاتصال بمنفذ 5901.
لاستخدام برنامج مشاركة الشاشة المدمج في نظام التشغيل Mac، يجب إدخال كلمة مرور VNC عند تشغيل المحاكي. لضبط كلمة مرور، استخدِم الأمر التالي:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdio
بعد ذلك، أدخِل
change vnc password
في وحدة التحكّم، وأدخِل كلمة مرور.
لا يتوفّر نظام التشغيل Android O حاليًا لاستخدام وضع VNC.
- التنفيذ:
تمت إضافة زر إبلاغ عن خطأ في شاشة مساعدة عناصر التحكّم الموسّعة (انقر على رمز المزيد ، ثم انقر على المساعدة ومساعدة المحاكي). يؤدي النقر على إرسال تقرير خطأ إلى فتح مربّع حوار يمكنك من خلاله الاطّلاع على تفاصيل تقرير الخطأ، مثل لقطة الشاشة ومعلومات إعدادات AVD وسجلّ تقرير الخطأ. يمكنك بعد ذلك حفظ التقرير بنفسك أو الإبلاغ عن مشاكل المحاكي.
تمت إضافة أداة استشعار الدوران إلى المحاكي ولوحة الأجهزة الاستشعارية الافتراضية. يتطلب ذلك استخدام صورة نظام تتيح استخدام أداة التسوية (المستوى 24 و25 لواجهة برمجة التطبيقات حاليًا).
تمت إضافة نظام أسماء النطاقات المفضّل للمضيف إلى قائمة نظام أسماء النطاقات في Qemu على نظام التشغيل Windows، عندما تقدّم واجهات الشبكة الافتراضية المتعدّدة على المضيف عناوين نظام أسماء النطاقات المتعدّدة التي لا تعمل مع المحاكي.
تمت إضافة التوافق مع الإصدار التجريبي من نظام التشغيل macOS Hypervisor.Framework لعرض الصور بحجم 32 بت × 86 على نظام التشغيل macOS 10.10 والإصدارات الأحدث من خلال علامات الخادم التي من شأنها تحسين وقت التشغيل والأداء.
- إذا واجهت مشاكل في ذلك، أضِف السطر
HVF = off
في~/.android/advancedFeatures.ini
.
- إذا واجهت مشاكل في ذلك، أضِف السطر
تم تفعيل OpenGL ES 3.x تلقائيًا لصور النظام ووحدات معالجة الرسومات المضيف التي تتوافق مع OpenGL ES 3. في الوقت الحالي، لا يتوفّر OpenGL ES 3 إلا على أجهزة Android O (المستوى 26 من واجهة برمجة التطبيقات) وخوادم Windows/Linux.
- إذا واجهت مشاكل في OpenGL ES 3، أضِف السطر
GLESDynamicVersion = off
في~/.android/advancedFeatures.ini
.
- إذا واجهت مشاكل في OpenGL ES 3، أضِف السطر
يستخدم المحاكي الآن وحدات عرض إطارات OpenGL خارج الشاشة لجميع عمليات التقديم باستثناء posting image final ، ما من شأنه المساعدة في حلّ مشاكل اتساق الألوان على جميع المنصات.
بعد جمع بيانات عن مشاكل التباطؤ المفاجئ في المحاكي، تبيّن لنا أنّ المشكلة قد تكون مرتبطة ببعض التفاعلات بين برامج تشغيل Intel OpenGL القديمة وتحديثات Windows. ونتيجةً لذلك، تم ضبط الإعدادات التلقائية لمستخدمي Intel HD 4000 و3000 و2000 (ووحدات معالجة الرسومات ذات الصلة) على استخدام إما وحدة معالجة D3D (ANGLE) أو Swiftshader (وحدة معالجة الرسومات البرمجية).
26.0.0 (آذار/مارس 2017)
هذا الإصدار متوافق مع المستوى 26 من واجهة برمجة التطبيقات. ويتضمن أيضًا عددًا من تحسينات الأداء وإصلاحات الأخطاء.
مراجعة ثانوية 26.0.3 (أيار (مايو) 2017)
- تتم إضافة علامات ميزات قابلة للتحديث على الإنترنت من أجل المعالجة السريعة للمشاكل الناتجة عن إعدادات الأجهزة المسببة للمشاكل. ويسمح ذلك لشركة Google بطرح الإصلاحات والميزات التي تعتمد على إعدادات المستخدمين من خلال تعديل العلامات من جهة الخادم. إذا لاحظت مشاكل في أجهزة معيّنة، يُرجى الإبلاغ عن خطأ لنتمكّن من التحقيق في المشكلة.
- إتاحة إدخال دوار جديد لصور نظام Android Wear API بالمستوى 25 لمحاكاة لوحة الإدخال الدوّارة على جهاز Wear، انقر على علامة التبويب إدخال رقمي دوّار في النافذة الموسّعة.
- أصبح بالإمكان الآن تغيير حجم مربّع حوار "إعداد تقارير الأعطال"، ولم يعُد يتم إعادة ضبطه لعرض وقت إرسال تقارير الأعطال على السؤال بدون إدخال أي معلومات.
- يتطلّب المحاكي بنظام 32 بت الآن أن يكون الحد الأقصى لحجم ذاكرة الوصول العشوائي لجهاز AVD أقل من 512 ميغابايت أو يساويه، وذلك لمنع المحاكي من نفاد المساحة في مساحة العناوين الافتراضية التي تبلغ 2 غيغابايت.
- إتاحة استخدام المسارات المطلقة في صور المحاكي
- إضافة علامة تبويب جديدة في النافذة الموسّعة لصور "متجر Google Play" التي تعرض إصدار "خدمات Play" وزرًا للبحث عن تحديثات لخدمات Play
- تضيف قائمة منسدلة لاختيار أداة عرض OpenGL في صفحة "إعدادات المحاكي". إذا كنت تواجه مشاكل في برنامج تشغيل OpenGL على جهاز Windows ، جرِّب استخدام خيارَي ANGLE (D3D11) أو ANGLE (D3D9) (يتطلب ذلك إعادة التشغيل). إذا كنت تواجه مشاكل في برنامج تشغيل OpenGL على جهاز غير يعمل بنظام التشغيل Windows، جرِّب استخدام برنامج عرض Swiftshader (يتطلب إعادة تشغيل الجهاز).
- إصلاح عطل نادر عند الخروج عندما يتلقّى المحاكي كلاً من الأمرين
exit
وminimize
- حلّ مشكلة التحكّم في الحجم عند تغيير الشاشات على جهاز Mac (المشكلة 268296)
- تم إصلاح مشكلة تستهلك مساحة المحاكي وحدة المعالجة المركزية (CPU) بنسبة 300% ويحتفظ بها بعد استئناف الكمبيوتر المضيف من وضع السكون أو تشغيل المحاكي لفترة طويلة.
- لإصلاح الأعطال عند إيقاف المحاكي
التعديلات في الإصدار 6.1.1 من HAXM (آذار/مارس 2017)
ملاحظة: يتوفّر الإصدار 6.1.1 من HAXM لمستخدمي Mac من خلال مدير SDK اعتبارًا من 30 آذار (مارس)، وسيكون متاحًا لمستخدمي Windows قريبًا.
يتوافق الإصدار 26.0.0 من "محاكي Android" مع الإصدار 6.1.1 من HAXM، والذي يتضمّن التحديثات التالية:
- تفعيل محاكاة وحدات مراقبة الأداء (PMU) (الطلب 223377)
- إصلاحات تتعلّق بإمكانية التعايش مع VirtualBox وDocker على أجهزة Mac (الطلب رقم 197915)
- تُعدِّل رسالة خطأ التثبيت التي تظهر عندما يفشل المثبِّت في رصد Intel VT-x على نظام التشغيل Windows، ويعود السبب عادةً إلى تفعيل Hyper-V.
- إتاحة تسريع "محاكي Android" في جهاز افتراضي يعمل بنظام التشغيل Windows ومستند إلى Hyper-V يتطلّب هذا التعديل أن تستخدم نسخة Hyper-V المضيف (التي تديره VM/ضيف Windows) أحدث إصدار من Hyper-V مع تفعيل ميزة المحاكاة الافتراضية المُدمجة. يجب إيقاف Hyper-V في نسخة Hyper-V للضيف (الجهاز الظاهري لنظام التشغيل Windows).
التبعيات
- الإصدار 25.0.4 أو إصدار أحدث من "أدوات نظام التشغيل لنظام Android SDK"
- الإصدار 26.0.0 أو إصدار أحدث من أدوات حزمة تطوير البرامج (SDK) لنظام التشغيل Android
ميزات جديدة وإصلاحات للأخطاء
- متوافق مع المستوى 26 من واجهة برمجة التطبيقات
- متوافق تمامًا مع GLES 2.0 بما أنّ وحدة معالجة الرسومات المضيفة تحتوي على برامج تشغيل OpenGL متوافقة مع أجهزة الكمبيوتر المكتبي، يتجاوز المحاكي الآن 100% من قائمة CTS dEQP-GLES2 في نظام التشغيل Android
mustpass
. تم إصدار هذا الإصدار لصور x86 بالمستوى 24 لواجهة برمجة التطبيقات (المراجعة 11 والإصدارات الأحدث)، وسيتم تضمينه قريبًا في جميع صور النظام. - تحسين أداء تشغيل الفيديو يخزّن المحاكي الآن جميع ملفّات التخزين المؤقت لشدَّة كثافة ملفّات الفيديو في الذاكرة المشتركة بين المضيف والضيف، ويُجري عملية تحويل ملفّات التخزين المؤقت لشدَّة كثافة YUV إلى RGB في وحدة معالجة الرسومات. من المفترض أن تكون معظم الأنظمة قادرة على بث الفيديوهات بدقة 1080p30. تم إصدار هذا الإصدار لصور x86 التي تعمل بالمستوى 24 لواجهة برمجة التطبيقات (المراجعة 11 والإصدارات الأحدث)، وسيتم تضمينه قريبًا في جميع صور النظام.
- يُلغي المحاكي الآن تسجيل نفسه بشكل صحيح من قائمة
adb devices
عند الخروج ويغلق منافذ TCP المفتوحة على أجهزة Linux. - أصبحت عمليات الاتصال باستخدام adb أكثر موثوقية الآن. يتم رصد المحاكي الذي يعمل بشكل أسرع ولا ينتقل إلى الحالة "بلا إنترنت" أو "غير مصرّح به" بعد الآن.
25.3.0 (آذار/مارس 2017)
اعتبارًا من هذا الإصدار، سيتم إصدار "محاكي Android" بشكل منفصل عن "أدوات حزمة تطوير البرامج (SDK)". يتضمّن هذا الإصدار مجموعة متنوعة من التحسينات في الأداء والميزات الجديدة وإصلاحات الأخطاء.
المراجعة البسيطة 25.3.1 (آذار/مارس 2017)
- تم إصلاح عطل يحدث في بعض إعدادات وحدة معالجة الرسومات عن طريق إيقاف GLAsyncSwap تلقائيًا.
تمت إضافة هذه الميزة في الإصدار 25.3.0 لتحسين توقيت عرض اللقطات وعدد اللقطات في الثانية للألعاب
والفيديوهات، ولكنّها تؤدي إلى تعطُّل المحاكي في بعض إعدادات الأجهزة غير المعروفة. يمكنك
تفعيله يدويًا من خلال فتحملف
android_sdk/emulator/lib/advancedFeatures.ini
و ضبطGLAsyncSwap = on
.
التبعيات
- الإصدار 24 أو إصدار أحدث من "أدوات نظام التشغيل" لحزمة تطوير البرامج (SDK) لنظام التشغيل Android
- الإصدار 25.3.0 من أدوات حزمة تطوير البرامج (SDK) لنظام التشغيل Android
ميزات جديدة وإصلاحات للأخطاء
- تم تحديث محرك المحاكاة إلى QEMU 2.7، بما في ذلك جميع إصلاحات الأخطاء الأخيرة والأداء المحسّن والميزات الجديدة.
- إتاحة IPv6
- يستخدم المحاكي الآن SwiftShader كعارض برامج بالكامل على المضيف.
- تحسينات على أداء Android Pipe: إنّ Android Pipe، وهو قناة
الاتصال الرئيسية بين المحاكي ونظام التشغيل Android، أصبح الآن
أسرع بدرجة كبيرة، ويتميز بوقت استجابة أقل، ويقدّم أداءً أفضل
في عمليات المعالجة المتعدّدة. يؤدي ذلك إلى إجراء عدد من التحسينات
على المحاكي، بما في ذلك:
- سرعة محسَّنة لعمليات الدفع/السحب عبر ADB
- تحسين دعم التسارع الثلاثي الأبعاد
- سرعة استجابة المحاكي بشكل عام
- تحسين أداء الرسومات
- يستخدم المحاكي الآن وحدات التخزين من جهة وحدة معالجة الرسومات (glBindBuffers / glBufferData) عندما يطلبها نظام التشغيل الضيف، ما يقلل من النفقات العامة لوحدة المعالجة المركزية في بعض التطبيقات.
- دعم صوتي محسَّن.
- عمليات إدخال/إخراج أسرع على القرص: يستخدم المحاكي الآن سلاسل تعليمات منفصلة لتوجيه عمليات إدخال/إخراج القرص، ما يؤدي إلى تقليل وقت الاستجابة وتحسين معدل نقل البيانات.ويزيد المحاكي سرعة عمليات إدخال/إخراج التسلسلي بمقدار مرة ونصف تقريبًا وسرعة عمليات إدخال/إخراج الوصول العشوائي بمقدار 5 مرات تقريبًا. ويؤدي ذلك أيضًا إلى تقليل عدد عمليات تفريغ البيانات إلى القرص، ما يؤدي إلى خفض حمولة الجهاز المادي بدرجة كبيرة.
- يستخدم المحاكي الآن ملفات متفرقة لتشغيل نظام التشغيل من القرص على أجهزة Windows ، ما يؤدي إلى تسريع عملية التشغيل الأولى وعمليات التشغيل التي تؤدي إلى "محو البيانات". عند إنشاء جهاز افتراضي Android أو إعادة ضبطه، يكتب المحاكي الآن من 100 إلى 200 ميغابايت من data على القرص، بدلاً من 2 غيغابايت أو أكثر.
- تحسينات مختلفة على واجهة المستخدم:
- يستخدم المحاكي الآن الإصدار Qt 5.7.0 الذي يتضمّن إصلاحات للأخطاء وتحسينات في الأداء.
- لم تعُد عملية إعداد واجهة المستخدم تحاول تحميل جميع ملفات الجيل المبرمَج القابلة للتنفيذ كمكونات إضافية لـ Qt، لذا أصبحت أقصر بكثير، خاصةً على محركات الأقراص الصلبة.
- أصبحت تفاعلات واجهة المستخدم الآن أسرع وأسلَس، بما في ذلك التدوير وتغيير حجم النافذة وتحميل النافذة المزوّدة بعناصر تحكّم موسّعة وإغلاقها.