این صفحه نحوه ایجاد یک دستگاه هیبریدی Cuttlefish (CHD) را شرح میدهد.
یک CHD یک دستگاه مجازی ترکیبی Cuttlefish است که به جای یک تصویر سیستم Cuttlefish روی HAL های دستگاه، تصویر سیستم یک دستگاه فیزیکی را اجرا میکند. این مزایای زیر را ارائه میدهد:
توسعه و آزمایش اولیه: CHDها امکان توسعه و آزمایش اولیه نرمافزار سیستم نسل بعدی را قبل از در دسترس بودن سختافزار فیزیکی فراهم میکنند.
مقیاسپذیری: CHDها گسترش آسانتر ظرفیت توسعه و آزمایش را تسهیل میکنند.
یک تصویر CHD ایجاد کنید
برای ایجاد یک تصویر CHD، مراحل زیر را دنبال کنید:
با استفاده از
make distفایلهای هدف را برای دستگاه هدف فروشنده و دستگاه فیزیکی ایجاد کنید. فایلهای هدف فروشنده را با استفاده از یکی از گزینههای زیر تولید کنید:- یک هدف کامل موجود برای ماهی مرکب
- یک هدف Cuttlefish که فقط فایلهای فروشنده Cuttlefish را میسازد. برای اطلاعات بیشتر، به ایجاد یک هدف فروشنده Cuttlefish مراجعه کنید.
دو فایل هدف را در یک فایل هدف CHD ترکیب کنید و با اجرای اسکریپت
build_cf_hybrid_device.py، تصاویر CHD را از فایل هدف CHD تولید کنید. این اسکریپت دو فایل هدف را با استفاده ازmerge_target_files.pyدر یک فایل هدف CHD ترکیب میکند و با استفادهimg_from_target_filesتصاویر CHD را از فایل هدف CHD تولید میکند.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