توضّح هذه الصفحة كيفية تنزيل 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 منفصل يقع في الدليل devices/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- أنشئ صورة توسّع نطاق استهداف وسائط AAOS SDV (sdv_media_cf)lunchلتشمل أداة العرض عالية التوفّر (HAR). يتم تشغيل HAR تلقائيًا عند بدء التشغيل.sdv_ivi_cf-aosp_current-userdebug: أنشئ صورة لنظام المعلومات والترفيه داخل المركبة (IVI) تحتوي على بوابة SDV ونماذج تطبيقات Java.sdv_ivi_cf_ds-aosp_current-userdebug- إنشاء صورة توسّع نطاق استهداف AAOS SDV IVI (sdv_ivi_cf) وتتضمّن تنفيذ DriverUI وInstrument Cluster في "أمان العرض"
إنشاء SDV على نظام التشغيل Android Automotive
نفِّذ الأمر التالي لإنشاء هدفك. اعتمادًا على مواصفات محطة العمل، يستغرق الإصدار الأول ما بين 30 و60 دقيقة. تستغرق عمليات الإنشاء اللاحقة وقتًا أقل بكثير.
mيظهر ناتج عملية الإنشاء في $OUT_DIR. في حال إنشاء إصدارات مختلفة من الاستهداف، سيظهر كل إصدار في $OUT_DIR.
اختبار الإصدار باستخدام Cuttlefish
بعد إنشاء AAOS SDV، اختبِر الإصدار باستخدام Cuttlefish.
لبدء Cuttlefish باستخدام الإصدار:
cvd createيتم تشغيل Cuttlefish باستخدام الهدف الذي تم إنشاؤه (
sdv_core_cf-aosp_current-userdebug). بعد تشغيل Cuttlefish، يتم عرض الرسالة التالية:VIRTUAL_DEVICE_BOOT_COMPLETED Virtual device booted successfullyنفِّذ
adbللاتصال بـ Cuttlefish.نفِّذ الأمر
adb devicesللتحقّق من أنّ الإصدار قيد التشغيل. يتم عرض نتيجة مشابهة لما يلي:List of devices attached 0.0.0.0:6520 deviceنفِّذ الأمر
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-commoncvd not found
إذا تلقّيت الخطأ cvd not found، اتّبِع الخطوات التالية:
- أعِد إعداد الإصدار.
- تابِع من خلال اختيار هدف.
حلقات الأعطال في Cuttlefish
في حال دخل Cuttlefish في حلقة تعطل:
- لإيقاف جميع مثيلات Cuttlefish، شغِّل
cvd stop. - استخدام Cuttlefish لإعادة اختبار الإصدار