يمكنك استخدام Android Emulator لإنشاء محاكاة لأجهزة Android التي تشغّل صور نظام Android المخصّصة. بالإضافة إلى ذلك، يمكنك إضافة ميزة العرض على شاشات متعددة إلى عمليات المحاكاة في Android Emulator.
هندسة Android Emulator
يشغّل Android Emulator نظام تشغيل Android في جهاز افتراضي يُعرف باسم "الجهاز الافتراضي المتوافق مع Android" (AVD). يحتوي كل جهاز AVD على حزمة برامج Android الكاملة، ويتم تشغيله كما لو كان على جهاز فعلي. يوضّح الشكل 1 هندسة Android Emulator على المستوى العالي. لمزيد من المعلومات عن المحاكي، يُرجى الاطّلاع على تشغيل التطبيقات على Android Emulator.
الشكل 1: هندسة Android Emulator
إنشاء صور AVD
يتضمّن كل جهاز AVD صورة نظام Android يتم تشغيلها في هذا الجهاز. تتضمّن "أداة إدارة أجهزة Android الافتراضية" بعض صور النظام. ويمكنك إنشاء صور نظام AVD مخصّصة من رمز المصدر وإنشاء عمليات محاكاة للأجهزة لتشغيلها.
لإنشاء صورة نظام AVD وتشغيلها، اتّبِع الخطوات التالية:
نزِّل مصدر Android:
mkdir aosp-android-latest-release; cd aosp-android-latest-releaserepo init -urepo sync -j24
إذا أردت إنشاء إصدارات أخرى من Android، يمكنك العثور على أسماء الفروع في مستودع Android العلني. وهي تتطابق مع الأسماء الرمزية والعلامات وأرقام الإصدار في Android.
أنشِئ صورة نظام AVD. هذه هي العملية نفسها التي يتم اتّباعها لإنشاء صورة نظام جهاز Android. على سبيل المثال، لإنشاء جهاز AVD بنظام x86 64 بت:
source ./build/envsetup.shlunch sdk_phone_x86_64make -j32شغِّل صورة نظام AVD في Android Emulator:
emulator
يمكنك الاطّلاع على خيارات بدء التشغيل من سطر الأوامر لمزيد من التفاصيل حول تشغيل المحاكي. يعرض الشكل 2 مثالاً على Android Emulator الذي يشغّل جهاز AVD:
الشكل 2: Android Emulator يشغّل جهاز AVD
مشاركة صور نظام AVD ليستخدمها الآخرون مع استوديو Android
اتّبِع هذه التعليمات لمشاركة صور نظام AVD مع الآخرين. يمكنهم استخدام صور نظام AVD مع Android Studio لتطوير التطبيقات واختبارها.
أنشِئ حزمتَي
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-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86:sdk-repo-linux-system-images-eng.[username].ziprepo-sys-img.xml
استضِف الملف
sdk-repo-linux-system-images-eng.[username].zipفي مكان يمكن للمستخدمين الوصول إليه، واحصل على عنوان URL لاستخدامه كـ عنوان URL لصورة نظام AVD.بالنسبة إلى Android 12 والإصدارات الأقدم، عدِّل
repo-sys-img.xmlوفقًا لذلك:- عدِّل
<sdk:url>ليصبح عنوان URL لصورة نظام AVD. - اطّلِع على sdk-sys-img-03.xsd للتعرّف على التعديلات الأخرى التي يمكنك إجراؤها على الملف.
- استضِف
repo-sys-img.xmlفي مكان يمكن للمستخدمين الوصول إليه، واحصل على عنوان URL لاستخدامه كـ عنوان URL لموقع التعديل المخصّص.
- عدِّل
لاستخدام صورة AVD مخصّصة، اتّبِع الخطوات التالية في SDK Manager:
أضِف عنوان URL لموقع التعديل المخصّص كـ موقع تعديل لحزمة SDK.
يؤدي ذلك إلى إضافة صورة نظام AVD المخصّصة إلى صفحة "صور النظام".
أنشِئ جهاز AVD عن طريق تنزيل صورة نظام AVD المخصّصة واختيارها.
إضافة ميزة العرض على شاشات متعددة
يحسّن Android 10 ميزة العرض على شاشات متعددة لتقديم دعم أفضل لمزيد من حالات الاستخدام، مثل وضع السيارة ووضع الكمبيوتر المكتبي. يتيح Android Emulator أيضًا محاكاة العرض على شاشات متعددة. وبذلك، يمكنك إنشاء بيئة محدّدة للعرض على شاشات متعددة بدون إعداد الأجهزة الفعلية.
يمكنك إضافة ميزة العرض على شاشات متعددة إلى جهاز 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
يمكنك العثور على أحدث ميزات المحاكي ومعلومات الإصدار من المصادر التالية: