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

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

الحصول على رمز المصدر لـ SDV في AAOS

اتّبِع التعليمات الواردة في تنزيل مصدر Android.

إعداد بيئة الإصدار

من داخل دليل العمل، شغِّل النص البرمجي 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 - أنشئ صورة توسّع نطاق استهداف وسائط AAOS SDV (sdv_media_cf) lunch لتشمل أداة العرض عالية التوفّر (HAR). يتم تشغيل HAR تلقائيًا عند بدء التشغيل.
  • sdv_ivi_cf-trunk_staging-userdebug: أنشئ صورة لنظام المعلومات والترفيه داخل المركبة (IVI) تحتوي على بوابة SDV ونماذج تطبيقات Java.
  • sdv_ivi_cf_ds-trunk_staging-userdebug - أنشئ صورة توسّع نطاق استهداف نظام المعلومات والترفيه في AAOS SDV (sdv_ivi_cf) وتتضمّن تنفيذ DriverUI وInstrument Cluster في "أمان العرض".

إنشاء SDV لنظام التشغيل Android Automotive

نفِّذ الأمر التالي لإنشاء هدفك. استنادًا إلى مواصفات محطة العمل، تستغرق عملية الإنشاء الأولى ما بين 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: multi-tenancy.

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

يوضّح هذا القسم كيفية تحديد المشاكل وحلّها التي قد تحدث أثناء تنزيل حزمة تطوير البرامج (SDK) الخاصة بـ 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 لإعادة اختبار الإصدار