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

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

بنية Android Emulator

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

بنية Android Emulator

الشكل 1. بنية Android Emulator

إنشاء صور AVD

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

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

  1. تنزيل رمز المصدر لنظام التشغيل Android:

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

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

  1. أنشئ صورة نظام AVD. هذه هي العملية نفسها التي يتم بها إنشاء صورة نظام جهاز Android. على سبيل المثال، لإنشاء جهاز افتراضي Android‏ (AVD) بمعمارية x86‏ 64 بت:

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

    emulator

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

محاكي Android الذي يشغِّل جهاز افتراضي Android

الشكل 2: محاكي Android الذي يشغِّل جهاز افتراضي Android

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

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

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

    في الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث، استخدِم الأمر 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 من خلال تنزيل صورة نظام AVD المخصّصة واختيارها.

إضافة ميزة العرض على شاشات متعددة

يعمل نظام التشغيل 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
    

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