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

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

بنية محاكي أندرويد

يتيح لك Android Emulator تشغيل محاكاة لأجهزة Android على أجهزة Windows أو macOS أو Linux. يقوم محاكي Android بتشغيل نظام التشغيل Android في جهاز افتراضي يسمى جهاز Android الظاهري (AVD). يحتوي AVD على حزمة برامج Android الكاملة، ويعمل كما لو كان موجودًا على جهاز فعلي. الشكل 1 عبارة عن رسم تخطيطي للبنية عالية المستوى لمحاكي Android. لمزيد من المعلومات حول المحاكي، راجع تشغيل التطبيقات على محاكي Android .

بنية محاكي أندرويد

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

بناء صور AVD

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

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

  1. تحميل المصدر للاندرويد:

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

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

  2. بناء صورة نظام AVD. هذه هي نفس عملية إنشاء صورة نظام جهاز Android . على سبيل المثال، لإنشاء AVD x86 32 بت:

    mkdir aosp-main; cd aosp-main
    source ./build/envsetup.sh
    lunch sdk_phone_x86
    make -j32
    

    إذا كنت تفضل إنشاء AVD x86 64 بت، فقم بتشغيل lunch لهدف 64 بت:

    lunch sdk_phone_x86_64
    
  3. قم بتشغيل صورة نظام AVD في محاكي Android:

    emulator
    

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

محاكي Android يقوم بتشغيل AVD

الشكل 2. محاكي Android يقوم بتشغيل AVD

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

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

  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 Manager:

  1. قم بإضافة عنوان URL لموقع التحديث المخصص كموقع تحديث SDK .

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

  2. قم بإنشاء AVD عن طريق تنزيل صورة نظام AVD المخصصة وتحديدها.

إضافة دعم العرض المتعدد

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

يمكنك إضافة دعم العرض المتعدد إلى AVD عن طريق إجراء التغييرات التالية، أو عن طريق الاختيار من بين CLs هذه .

  • أضف موفر العرض المتعدد إلى الإصدار عن طريق إضافة هذه السطور إلى الملف 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
    

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