لاستخدام أجهزة Android الافتراضية (AVD)، يتيح Android Emulator واجهة مستخدم تصويرية (GUI) وواجهة سطر أوامر (CLI). يمكنك اختيار سير العمل الأمثل لبيئتك.
- إنشاء واجهة مستخدم تصويرية للأجهزة الافتراضية وإدارتها هي أداة بسيطة متوفّرة لمعظم مطوّري التطبيقات والمستخدمين.
- يوفّر بدء المحاكي من سطر الأوامر طريقة مرنة للمستخدمين المتقدّمين وعمليات التشغيل الآلي. على سبيل المثال، لاستخدام أجهزة Android الافتراضية المتعدّدة أو لإعداد الاختبار المستمر والتكامل المستمر. للبدء، اطّلِع على الأمثلة في الأدوات).
إنشاء جهاز Android الافتراضي للسيارة في مشروع Android Open Source Project (AOSP)
تشبه عملية إنشاء جهاز Android الافتراضي للسيارة في مشروع Android Open Source Project (AOSP) عملية إنشاء صور جهاز Android الافتراضي لهاتف (على سبيل المثال، aosp_car_x86_64):
- لإعداد بيئة التطوير وتحديد فرع، يُرجى الاطّلاع على
أدوات التحكّم في المصدر، ثم قراءة
تنزيل مصدر Android:
ANDROID_BRANCH="android12L-release"
REPO_URL="https://android.googlesource.com/platform/manifest"
mkdir $ANDROID_BRANCH && cd $ANDROID_BRANCH && repo init -u $REPO_URL -b $ANDROID_BRANCH --partial-clone && repo sync -c -j8 - إنشاء صورة جهاز Android الافتراضي:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
- تشغيل صورة جهاز Android الافتراضي (إضافة خيارات بدء التشغيل الإضافية من سطر الأوامر
حسب الحاجة):
emulator &
على سبيل المثال:

الشكل 1: شاشة Android Virtual Emulator
ملاحظات حول هذه العملية:
- بما أنّ عملية الإنشاء هي نفسها المطلوبة لإنشاء Android لجهاز فعلي، يُرجى تخصيص بعض الوقت لتنزيل المصدر ثم إنشائه.
- للعمل على فروع أخرى، اضبط
$ANDROID_BRANCHعلى فرع أو علامة أخرى. - يتم إنشاء صور جهاز Android الافتراضي، مثل
system.img، في$ANDROID_PRODUCT_OUT. لمزيد من المعلومات عن الصور الرئيسية، يُرجى الاطّلاع على دليل نظام جهاز Android الافتراضي. - يُرجى الاطّلاع على ملف README للتعرّف على كيفية استخدام ملفات المحاكي الثنائية التي تم إنشاؤها مسبقًا في شجرة Android لتشغيل المحاكي.
إنشاء جهاز Android الافتراضي للسيارة
تشبه عملية إضافة جهاز Android الافتراضي للسيارة عملية إضافة جهاز جديد.
على سبيل المثال،
1660554
يؤدي إلى إنشاء جهاز Android الافتراضي الجديد avd_car
لإنشاء جهاز Android الافتراضي للسيارة:
- يمكنك إنشاء شركة ومجلد جهاز حسب الحاجة. يستخدم هذا المثال
$ANDROID_BUILD_TOP/device/google_car/avd_car. - يمكنك إنشاء ملف makefile للمنتج، وهو
avd_car.mk، الذي يحدّد كيفية إنشاء جهاز Android الافتراضي. - يمكنك إنشاء مجلد جهاز، وهو
avd_car_device، لتضمينBoardConfig.mkوsource.properties. - يمكنك إضافة
makefileالجديد وخيارlunchالجديد إلىAndroidProducts.mk. - لإنشاء جهاز Android الافتراضي الجديد
avd_carوتشغيله:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
تجميع ملف ZIP لصورة جهاز Android الافتراضي
يمكنك تجميع جهاز Android الافتراضي ومشاركته مع مستخدمين آخرين أو استخدامه على جهاز كمبيوتر آخر. استخدِم emu_img_zip.mk
لإنشاء ملف ZIP لصورة جهاز Android الافتراضي:
- بعد إنشاء جهاز Android الافتراضي، اضبط
emu_img_zipكهدف:m emu_img_zip
- يتم إنشاء ملف ZIP لصورة جهاز Android الافتراضي، الذي يبدأ اسمه بـ
sdk-repo-linux-system-images، في المجلد الذي يحمل الاسم$ANDROID_PRODUCT_OUT.
إنشاء نواة جهاز Android الافتراضي
تشبه نواة جهاز Android الافتراضي نِوى Android الأخرى من حيث أنّ جميعها صور تم إنشاؤها مسبقًا. عادةً، يمكنك استخدام صور نواة goldfish العادية التي تم إنشاؤها مسبقًا كما هي من كل إصدار من إصدارات Android.
لتجربة تغييرات النواة:
- نفِّذ سلسلة التعليمات التالية:
mkdir goldfish-kernel-54 cd goldfish-kernel-54 repo init -u https://android.googlesource.com/kernel/manifest -b common-android11-5.4 repo sync BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh BUILD_CONFIG=common-modules/virtual-device/build.config.goldfish.x86_64 build/build.sh ls -l ./out/android11-5.4/dist/
- استبدِل ملف النواة الثنائي في قاعدة التعليمات البرمجية وفقًا لملف makefile الخاص بجهاز Android الافتراضي. على سبيل المثال،
device/generic/goldfish/board/emu64x/details.mkيتضمّنdevice/generic/goldfish/board/kernel/x86_64.mk.
يقع رمز النواة والإعداد على النحو التالي:
| العنصر | القيمة |
|---|---|
| غصن | common-android11-5.4 (مستخدَم في Android 11) |
| ملف البيان | kernel/manifest/common-android11-5.4 |
| common-modules/virtual-device | kernel/common-modules/virtual-device/android11-5.4 |
| Kernel | kernel/common/android11-5.4 |
إنشاء ملف تعريف جهاز جديد
للسماح للمستخدمين بإنشاء جهاز Android الافتراضي معيّن في "مدير جهاز Android الافتراضي" في Android Studio، يُرجى الاطّلاع على مقالة
إنشاء الأجهزة الافتراضية وإدارتها.
يمكن لمصنّعي الأجهزة تحديد مواصفات الأجهزة الخاصة بهم، مثل حجم الشاشة وعدد النقاط لكل بوصة، من خلال استخدام ملف devices.xml مضمّن في صورة جهاز Android الافتراضي.
- على سبيل المثال، يُرجى الاطّلاع على ملفات تعريف أجهزة السيارات في
automotive.xml. - لتطوير واجهة الإنسان والآلة أو إنشاء نموذج أولي لها، يمكن إضافة أجهزة متعدّدة إلى الـ ملف لصورة جهاز Android الافتراضي نفسها.
- يمكنك تضمين الملف في ملف ZIP لصورة جهاز Android الافتراضي الخاص بمصنّع المعدات الأصلية في مجلد
[ABI]. على سبيل المثال،x86_64. - يمكن لمصنّعي الأجهزة أيضًا إنشاء مظهر للمحاكي. على سبيل المثال، لتحديد أزرار أجهزة إضافية لتحسين تجربة المستخدم. لا يكون هذا مفيدًا لسير عمل المطوّرين فحسب، بل أيضًا لمهام أخرى مثل البحث عن تجربة المستخدم ومراجعتها.
إنشاء ملف XML لصورة جهاز Android الافتراضي
يمكن لمصنّعي الأجهزة إنشاء ملف XML لصورة جهاز Android الافتراضي لكي يتمكّن Android Studio من تنزيله.
- على سبيل المثال، يُرجى الاطّلاع على ملف XML لصورة جهاز Android الافتراضي في Android Automotive OS، وهو
sys-img2-1.xml. - يمكن لمصنّعي الأجهزة تحديد اتفاقية ترخيص خاصة بهم لجهاز Android الافتراضي الخاص بمصنّع المعدات الأصلية للمستخدمين المستهدَفين (باستخدام نظام الشرف)، مع ترخيص Android Emulator. يحصل Android Studio على موافقة المستخدم عند تضمين هذا الترخيص.
لإنشاء الصورة:
- يمكنك إعداد ملف ZIP لصورة جهاز Android الافتراضي.
- يمكنك فك ضغط الملف
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip. - يمكنك إضافة
devices.xmlإلى مجلدx86_64ثم ضغط الملف في ملف ZIP. على سبيل المثال،oem_avd_img_x86_64.zip. - يمكنك تعديل
oem-sys-img2-1.xml. - يمكنك تعديل اسم ملف ZIP وحجمه ومجموع SHA (تتوفّر نماذج لملفات XML في
tools).
على سبيل المثال، لاستضافة جهاز Android الافتراضي على Google Cloud Storage، يُرجى الاطّلاع على مقالة إنشاء حِزم تخزين.
لتحميل جهاز Android الافتراضي وإتاحته للجميع، يُرجى الاطّلاع على مقالة إتاحة البيانات للجميع:
BUCKET_NAME="aaos-avd" gsutil mb gs://$BUCKET_NAME gsutil cp oem_avd_img_x86_64.zip gs://$BUCKET_NAME gsutil cp oem-sys-img2-1.xml gs://$BUCKET_NAME gsutil iam ch allUsers:objectViewer gs://$BUCKET_NAME
يكون تنسيق عنوان URL لإضافة حزمة تطوير البرامج (SDK) لصورة جهاز Android الافتراضي على النحو التالي: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml.
على سبيل المثال، إذا كان BUCKET_NAME هو aaos-avd، يكون عنوان URL على النحو التالي: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml.
مشاركة صورة جهاز Android الافتراضي مع مستخدمي Android Studio
لكي يتمكّن المستخدمون من تنزيل صور جهاز Android الافتراضي واستخدام جهاز Android الافتراضي من خلال Android Studio، يمكنك توفير ملف XML لإضافة حزمة تطوير البرامج (SDK). لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة تعديل بيئة التطوير المتكاملة وأدوات حزمة تطوير البرامج (SDK).
لتنزيل جهاز Android الافتراضي من الشبكة:
- يمكنك استضافة ملف ZIP لصورة جهاز Android الافتراضي وملفات XML على خادم.
- يمكنك توفير عنوان URL للمستخدمين المستهدَفين.
- (اختياري) يمكنك حصر الوصول حسب اسم المستخدم وكلمة المرور.
بدلاً من ذلك، لتسريع عملية التطوير، يمكنك تنزيل جهاز Android الافتراضي إلى دليل محلي:
- يمكنك حفظ ملفات XML وجميع العناصر التي تم تحديدها في ملف XML في مجلد
(على سبيل المثال، جميع ملفات ZIP لصورة جهاز Android الافتراضي) باسم
ADDON_DIR. - يمكنك تحديد عنوان URL على النحو التالي:
file://$ADDON_DIR/oem-sys-img2-1.xml.