בדף הזה נסביר איך ליצור מכשיר היברידי של Cuttlefish (CHD).
CHD הוא מכשיר וירטואלי היברידי של Cuttlefish, שמריץ קובץ אימג' של המערכת של מכשיר פיזי במקום קובץ אימג' של המערכת של Cuttlefish ב-HALs של המכשיר. היתרונות של הגישה הזו:
פיתוח ובדיקות מוקדמים: קובצי CHD מאפשרים פיתוח ובדיקות מוקדמים של תוכנת מערכת מהדור הבא לפני שהחומרה הפיזית זמינה.
יכולת הרחבה: שימוש ב-CHD מאפשר להרחיב בקלות את יכולות הפיתוח והבדיקה.
יצירת תמונת CHD
כדי ליצור תמונת CHD, פועלים לפי השלבים הבאים:
יוצרים את קובצי היעד עבור יעד הספק והמכשיר הפיזי באמצעות
make dist. יוצרים את קובצי הטירגוט של הספק באמצעות אחת מהאפשרויות הבאות:- יעד Cuttlefish מלא קיים
- יעד Cuttlefish שיוצר רק קובצי ספק של Cuttlefish. למידע נוסף, ראו יצירת יעד ספק של Cuttlefish.
משלבים את שני קובצי היעד לקובץ יעד CHD ומריצים את הסקריפט
build_cf_hybrid_device.pyכדי ליצור את תמונות ה-CHD מקובץ היעד CHD. הסקריפט הזה משלב את שני קובצי היעד לקובץ יעד של CHD באמצעותmerge_target_files.pyומייצר את תמונות ה-CHD מקובץ היעד של ה-CHD באמצעותimg_from_target_files.python3 tools/treble/cuttlefish/build_cf_hybrid_device.py \ --framework_target_files_zip <physical_device_target_files.zip> \ --vendor_target_files_zip <cuttlefish_device_target_files.zip> \ --otatools_zip <cuttlefish_otatools.zip> \ --target chd \ --output_dir <output_directory>
יצירת יעד ספק ב-Cuttlefish
כדי ליצור יעד Cuttlefish שספקים בלבד יכולים להשתמש בו, פועלים לפי השלבים הבאים:
אפשר להשתמש ב-aosp_cf_vendor.mk כדי להגדיר את יעד aosp_cf_arm64_phone_vendor, שאפשר להשתמש בו כקובץ יעד הספק לתמונת CHD.
יורשים את יעד Cuttlefish שיוצר ארטיפקטים מלאים.
$(call inherit-product, device/google/cuttlefish/vsoc_arm64/phone/aosp_cf.mk)מגדירים את שם היעד.
PRODUCT_NAME := aosp_cf_arm64_phone_vendorמשביתים בנייה מיותרת מתוך הארטיפקטים המלאים.
PRODUCT_BUILD_SYSTEM_IMAGE := false PRODUCT_BUILD_SYSTEM_OTHER_IMAGE := false PRODUCT_BUILD_PRODUCT_IMAGE := false PRODUCT_BUILD_SYSTEM_EXT_IMAGE := false PRODUCT_BUILD_SUPER_PARTITION := false TARGET_SKIP_OTA_PACKAGE := true