توضّح هذه الصفحة كيفية تنزيل AAOS SDV وإنشائه وتشغيله على Cuttlefish.
إعداد برنامج Repo
يُرجى إعداد برنامجك للوصول إلى مستودع مصدر Android:
يُرجى إنشاء دليل عمل والانتقال إليه، مثل
sdv:mkdir WORKING_DIRECTORYcd WORKING_DIRECTORYيُرجى إعداد دليل العمل للتحكّم في المصدر:
يستخدِم هذا المثال الفرع
26Q2-fs-release.RELEASE=26Q2-fs-releaserepo 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.
لبدء Cuttlefish باستخدام عملية الإنشاء:
cvd createيتم تشغيل Cuttlefish باستخدام الهدف الذي أنشأته (
sdv_core_cf-trunk_staging-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: إمكانية استخدام عدة مستأجرين.
تحديد المشاكل وحلّها
يوضّح هذا القسم كيفية تحديد المشاكل وحلّها في الأخطاء التي قد تحدث أثناء تنزيل 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 لإعادة اختبار عملية الإنشاء.