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

توضّح هذه الصفحة كيفية تنزيل 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-aosp_current-userdebug

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

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

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

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

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

m

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

اختبار الإصدار باستخدام Cuttlefish

بعد إنشاء إصدار SDV من نظام التشغيل Android Automotive، اختبِره باستخدام Cuttlefish.

  1. لبدء Cuttlefish باستخدام الإصدار الذي أنشأته:

    cvd create

    يتم تشغيل Cuttlefish باستخدام الهدف الذي تم إنشاؤه (sdv_core_cf-aosp_current-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.

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

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

أخطاء RBE

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

‫cvd: مدير الأجهزة الافتراضية crosvm غير متاح على هذا الجهاز

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

sudo apt install cuttlefish-common

لم يتم العثور على cvd

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

  1. أعِد إعداد الإصدار.
  2. تابِع من خلال اختيار هدف.

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

إذا دخل Cuttlefish في حلقة تعطُّل:

  1. لإيقاف جميع مثيلات Cuttlefish، شغِّل cvd stop.
  2. استخدِم Cuttlefish لإعادة اختبار الإصدار.