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

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

بنية محاكي Android

يتيح لك "محاكي Android" تشغيل "محاكي Android" الذي يعمل بنظام التشغيل Android على جهاز افتراضي يُعرف باسم "جهاز Android الافتراضي" (AVD). ويحتوي كل متوسّط مدة مشاهدة على حزمة برامج Android الكاملة، ويعمل كما لو كان على جهاز فعلي. ويوضّح الشكل 1 البنية عالية المستوى لمحاكي Android. لمزيد من المعلومات حول المحاكي، يمكنك الاطّلاع على تشغيل التطبيقات على محاكي Android.

بنية محاكي Android

الشكل 1. بنية محاكي Android

إنشاء صور متوسّط مدة المشاهدة

يتضمّن كل متوسّط مدة مشاهدة صورة نظام Android يتم عرضها بهذا النوع من "متوسّط مدة المشاهدة". يتضمن مدير AVD بعض صور النظام. ويمكنك إنشاء صور مخصّصة لنظام متوسّط مدة المشاهدة من رمز المصدر وإنشاء محاكاة للأجهزة لتشغيلها.

لإنشاء صورة نظام AVD وتشغيلها:

  1. نزِّل مصدر Android:

    mkdir aosp-main; cd aosp-main
    repo init -u
    repo sync -j24
    

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

  1. إنشاء صورة نظام AVD وهذه هي العملية نفسها المستخدمة في إنشاء صورة نظام جهاز Android. على سبيل المثال، لإنشاء متوسّط مدة المشاهدة بتنسيق x86 64 بت:

    source ./build/envsetup.sh
    lunch sdk_phone_x86_64
    make -j32
    
  2. يمكنك تشغيل صورة نظام AVD في محاكي Android:

    emulator
    

ويمكنك الاطّلاع على خيارات بدء تشغيل سطر الأوامر للحصول على مزيد من التفاصيل حول تشغيل المحاكي. يوضح الشكل 2 مثالاً لمحاكي Android الذي يعمل مع AVD:

يتيح لك محاكي Android تشغيل متوسّط مدة المشاهدة.

الشكل 2. يتيح لك محاكي Android تشغيل متوسّط مدة المشاهدة.

مشاركة صور نظام AVD ليتمكّن الآخرون من استخدامها مع "استوديو Android"

اتّبِع هذه التعليمات لمشاركة صور نظام AVD (AVD) مع الآخرين. ويمكنهم استخدام صور نظام AVD مع استوديو Android لتطوير التطبيقات واختبارها.

  1. إنشاء حزم sdk وsdk_repo إضافية:

    على نظام التشغيل Android 13 والإصدارات الأحدث، استخدِم الأمر emu_img_zip:

    $ make emu_img_zip
    

    يؤدي هذا الإجراء إلى إنشاء ملف sdk-repo-linux-system-images-eng.[username]].zip.

    على نظام التشغيل Android 12 والإصدارات الأقدم، استخدِم الأمر sdk_repo:

    $ make -j32 sdk sdk_repo
    

    ينشئ الأمر make sdk sdk_repo ملفين ضمن aosp-main/out/host/linux-x86/sdk/sdk_phone_x86:

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. استضِف الملف sdk-repo-linux-system-images-eng.[username].zip الذي يمكن للمستخدمين الوصول إليه من أي مكان، واحصل على عنوان URL الخاص به لاستخدامه كعنوان URL لصورة النظام AVD.

  3. على نظام التشغيل Android 12 والإصدارات الأقدم، عدِّل repo-sys-img.xml وفقًا لذلك:

    • عدِّل <sdk:url> إلى عنوان URL لصورة نظام AVD.
    • راجع sdk-sys-img-03.xsd لمعرفة المزيد من المعلومات عن التحديثات الأخرى للملف.
    • استضِف repo-sys-img.xml في مكان يمكن للمستخدمين الوصول إليه، واحصل على عنوان URL الخاص به لاستخدامه في عنوان URL الخاص بالتحديث المخصّص.

لاستخدام صورة AVD مخصّصة، عليك اتّباع الخطوات التالية في "أداة إدارة حزمة تطوير البرامج (SDK)":

  1. أضِف عنوان URL الخاص بالموقع الإلكتروني المخصَّص للتحديث على أنّه الموقع الإلكتروني الخاص بالتحديث لحزمة تطوير البرامج (SDK).

    يؤدي ذلك إلى إضافة صورة نظام AVD المخصّصة إلى صفحة "صور النظام".

  2. أنشِئ متوسّط مدة المشاهدة من خلال تنزيل صورة نظام متوسّط مدة المشاهدة المخصّصة واختيارها.

إتاحة استخدام شاشات متعددة

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

يمكنك إتاحة استخدام شاشات متعدّدة لـ AVD من خلال إجراء التغييرات التالية أو الاختيار الدقيق من قيم الجدول الزمني هذه.

  • إضافة موفّر الشاشات المتعددة إلى الإصدار من خلال إضافة هذه الأسطر إلى الملف build/target/product/sdk_phone_x86.mk:

    PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \
        system/lib/libemulator_multidisplay_jni.so \
        system/lib64/libemulator_multidisplay_jni.so \
        system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \
    PRODUCT_PACKAGES += MultiDisplayProvider
    
  • يمكنك تفعيل ميزة "العرض المتعدّد" عن طريق إضافة هذا السطر إلى ملف device/generic/goldfish/data/etc/advancedFeatures.ini:

    MultiDisplay = on
    

يمكنك العثور على أحدث ميزات المحاكي ومعلومات الإصدار من المصادر التالية: