Tạo thiết bị kết hợp Cuttlefish

Trang này mô tả cách tạo một thiết bị kết hợp Cuttlefish (CHD).

CHD là một thiết bị Cuttlefish ảo kết hợp, chạy hình ảnh hệ thống của một thiết bị thực thay vì hình ảnh hệ thống Cuttlefish trên HAL của thiết bị. Điều này mang lại những lợi ích sau:

  • Phát triển và kiểm thử sớm: CHD cho phép phát triển và kiểm thử sớm phần mềm hệ thống thế hệ tiếp theo trước khi có phần cứng thực.

  • Khả năng mở rộng: CHD giúp bạn dễ dàng mở rộng khả năng phát triển và thử nghiệm.

Tạo hình ảnh CHD

Để tạo một hình ảnh CHD, hãy làm theo các bước sau:

  1. Tạo các tệp đích cho đích đến của nhà cung cấp và thiết bị thực bằng cách sử dụng make dist. Tạo tệp mục tiêu của nhà cung cấp bằng một trong các lựa chọn sau:

    • Một mục tiêu Cuttlefish đầy đủ hiện có
    • Một mục tiêu Cuttlefish chỉ tạo các tệp nhà cung cấp Cuttlefish. Để biết thêm thông tin, hãy xem bài viết Tạo mục tiêu nhà cung cấp Cuttlefish.
  2. Kết hợp hai tệp đích thành một tệp đích CHD và tạo hình ảnh CHD từ tệp đích CHD bằng cách chạy tập lệnh build_cf_hybrid_device.py. Tập lệnh này kết hợp hai tệp đích thành một tệp đích CHD bằng cách sử dụng merge_target_files.py và tạo hình ảnh CHD từ tệp đích CHD bằng cách sử dụng 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>
    

Tạo mục tiêu nhà cung cấp Cuttlefish

Để tạo mục tiêu chỉ dành cho nhà cung cấp Cuttlefish, hãy làm theo các bước sau:

Bạn có thể sử dụng aosp_cf_vendor.mk để xác định mục tiêu aosp_cf_arm64_phone_vendor. Bạn có thể sử dụng mục tiêu này làm tệp mục tiêu của nhà cung cấp cho hình ảnh CHD.

  1. Kế thừa mục tiêu Cuttlefish tạo ra các cấu phần phần mềm hoàn chỉnh.

    $(call inherit-product, device/google/cuttlefish/vsoc_arm64/phone/aosp_cf.mk)
    
  2. Xác định tên mục tiêu.

    PRODUCT_NAME := aosp_cf_arm64_phone_vendor
    
  3. Tắt các bản dựng không cần thiết khỏi các cấu phần phần mềm đầy đủ.

    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