التنزيل والإنشاء والتنفيذ

توضّح هذه الصفحة كيفية تنزيل AAOS SDV وإنشائه وتشغيله على Cuttlefish.

إعداد برنامج Repo

يُرجى إعداد برنامجك للوصول إلى مستودع مصدر Android:

  1. يُرجى إنشاء دليل عمل والانتقال إليه، مثل sdv:

    mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
  2. يُرجى إعداد دليل العمل للتحكّم في المصدر:

    يستخدِم هذا المثال الفرع 26Q2-fs-release.

    RELEASE=26Q2-fs-release
    repo init -u https://partner-android.googlesource.com/platform/vendor/pdk/generic/fs/manifest/ -b $RELEASE

    الخيار -u مطلوب ويحدّد ملف بيان، وهو ملف XML يحدّد مكان مشاريع Git المختلفة في مصدر Android ضِمن دليل العمل. في هذا المثال، لم يتم تحديد اسم ملف البيان، لذا يستخدم الأمر ملف البيان التلقائي (default.xml).

    يحدّد الخيار -b الفرع الذي يتم إعداده.

    من المفترض أن يتضمّن الناتج الرسالة التالية:

    repo has been initialized in path_to_working_directory

تنزيل مصدر AAOS SDV

يُرجى تشغيل الأمر التالي لتنزيل شجرة مصدر Android إلى دليل العمل:

repo sync -c -j8

تطلب الوسيطة -c من Repo جلب فرع البيان الحالي من الخادم. يقسّم الأمر -j8 عملية المزامنة على عدة سلاسل لتسريع إكمالها.

إعداد بيئة الإنشاء

من داخل دليل العمل، يُرجى تنفيذ النص البرمجي envsetup.sh لإعداد بيئة الإنشاء:

source build/envsetup.sh

يستورد هذا النص البرمجي عدة أوامر تتيح لك العمل مع رمز مصدر Android، بما في ذلك الأوامر المستخدَمة في هذه الصفحة. للاطّلاع على مصدر النص البرمجي، يُرجى الانتقال إلى platform/build/envsetup.sh. للاطّلاع على التعليمات المضمّنة، يُرجى كتابة hmm.

اختيار هدف

قبل إنشاء SDV، يُرجى تحديد هدف لإنشائه. لتحديد الهدف الذي تريد إنشاءه، استخدِم الأمر lunch متبوعًا بسلسلة تمثّل الهدف الذي تنشئه. على سبيل المثال، استخدِم هذا الأمر لإنشاء هدف لمحاكي Cuttlefish:

lunch sdv_core_cf-trunk_staging-userdebug

يختار هذا الأمر المنتج وإعداد الإصدار والنوع المراد إنشاؤه ويخزّن الاختيار في البيئة.

يتم توفير أهداف lunch لـ SDV في مشروع Git منفصل موجود في الدليل devices/google/sdv. يمكنك الاطّلاع على وصف تفصيلي للأهداف المتاحة في device/google/sdv/README.md. في ما يلي أهداف Cuttlefish (cf) الرئيسية:

  • sdv_core_cf-trunk_staging-userdebug : إنشاء صورة من AAOS SDV Core (sdv_core) تعمل على Cuttlefish (cf)
  • sdv_media_cf-trunk_staging-userdebug : إنشاء صورة من AAOS SDV Core مع واجهات برمجة تطبيقات الوسائط المحاكاة باستخدام virtIO (sdv_media)
  • sdv_media_har_cf-trunk_staging-userdebug : إنشاء صورة توسّع هدف للوسائط (sdv_media_cf) lunch في AAOS SDV لتضمين أداة العرض عالية التوفّر (HAR). يتم تشغيل HAR تلقائيًا عند بدء التشغيل.
  • sdv_ivi_cf-trunk_staging-userdebug : إنشاء صورة لنظام المعلومات والترفيه داخل السيارة (IVI) تحتوي على SDV Gateway وتطبيقات Java النموذجية
  • sdv_ivi_cf_ds-trunk_staging-userdebug - إنشاء صورة توسّع هدف AAOS SDV IVI (sdv_ivi_cf) وتتضمّن واجهة مستخدم السائق وتطبيق لوحة العدادات في Display Safety

إنشاء AAOS SDV

يُرجى تشغيل الأمر التالي لإنشاء هدفك. بناءً على مواصفات محطة العمل، يستغرق الإنشاء الأول ما بين 30 و60 دقيقة. تستغرق عمليات الإنشاء اللاحقة وقتًا أقل بكثير.

m

يظهر ناتج عملية الإنشاء في $OUT_DIR. إذا أنشأت أهدافًا مختلفة، يظهر كل إنشاء هدف في $OUT_DIR.

اختبار عملية الإنشاء باستخدام Cuttlefish

بعد إنشاء AAOS SDV، يُرجى اختبار عملية الإنشاء باستخدام Cuttlefish.

  1. لبدء Cuttlefish باستخدام عملية الإنشاء:

    cvd create

    يتم تشغيل Cuttlefish باستخدام الهدف الذي أنشأته (sdv_core_cf-trunk_staging-userdebug). بعد بدء تشغيل Cuttlefish، تظهر هذه الرسالة:

    VIRTUAL_DEVICE_BOOT_COMPLETED
    Virtual device booted successfully
  2. يُرجى تشغيل adb للاتصال بـ Cuttlefish.

  3. يُرجى تشغيل adb devices للتأكّد من أنّ عملية الإنشاء قيد التشغيل. تظهر نتيجة مشابهة لما يلي:

    List of devices attached
    0.0.0.0:6520 device
  4. يُرجى تشغيل cvd stop لإيقاف الجهاز.

لتشغيل عدة مثيلات من Cuttlefish باستخدام عمليات إنشاء مختلفة، يُرجى الاطّلاع على مقالة Cuttlefish: إمكانية استخدام عدة مستأجرين.

تحديد المشاكل وحلّها

يوضّح هذا القسم كيفية تحديد المشاكل وحلّها في الأخطاء التي قد تحدث أثناء تنزيل AAOS SDV أو إنشائه أو تشغيله.

أخطاء RBE

إذا واجهت أي أخطاء في Remote Build Execution (RBE)، يُرجى إزالة تعريفات USE_RBE وENABLE_RBE_BOOTSTRAP من .bashrc أو .zshrc.

cvd: VM manager crosvm isn't supported on this machine

إذا أبلغ Cuttlefish بأنّ مدير الآلة الافتراضية crosvm غير متاح على جهازك، يُرجى تشغيل الأمر التالي لتثبيت Cuttlefish:

sudo apt install cuttlefish-common

cvd not found

إذا ظهر لك الخطأ cvd not found:

  1. يُرجى إعداد عملية الإنشاء مرة أخرى.
  2. يُرجى المتابعة باستخدام اختيار هدف.

حلقات الأعطال في Cuttlefish

إذا دخل Cuttlefish في حلقة أعطال:

  1. لإيقاف جميع مثيلات Cuttlefish، يُرجى تشغيل cvd stop.
  2. يُرجى استخدام Cuttlefish لإعادة اختبار عملية الإنشاء.