Membuat perangkat hybrid Cuttlefish

Halaman ini menjelaskan cara membuat perangkat hybrid Cuttlefish (CHD).

CHD adalah perangkat Cuttlefish virtual hibrida, yang menjalankan image sistem perangkat fisik, bukan image sistem Cuttlefish di HAL perangkat. Hal ini memberikan keuntungan sebagai berikut:

  • Pengembangan dan pengujian awal: CHD memungkinkan pengembangan dan pengujian awal software sistem generasi berikutnya sebelum hardware fisik tersedia.

  • Skalabilitas: CHD memfasilitasi perluasan kapasitas pengembangan dan pengujian yang lebih mudah.

Membuat image CHD

Untuk membuat gambar CHD, ikuti langkah-langkah berikut:

  1. Buat file target untuk target vendor dan perangkat fisik menggunakan make dist. Buat file target vendor menggunakan salah satu opsi berikut:

    • Target Cuttlefish penuh yang ada
    • Target Cuttlefish yang hanya membangun file vendor Cuttlefish. Untuk mengetahui informasi selengkapnya, lihat Membuat target vendor Cuttlefish.
  2. Gabungkan kedua file target menjadi file target CHD dan buat gambar CHD dari file target CHD dengan menjalankan skrip build_cf_hybrid_device.py. Skrip ini menggabungkan dua file target menjadi file target CHD menggunakan merge_target_files.py dan menghasilkan gambar CHD dari file target CHD menggunakan 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>
    

Membuat target vendor Cuttlefish

Anda dapat menggunakan aosp_cf_vendor.mk untuk menentukan target aosp_cf_arm64_phone_vendor, yang dapat Anda gunakan sebagai file target vendor untuk gambar CHD.

Untuk membuat target khusus vendor Cuttlefish, ikuti langkah-langkah berikut:

  1. Mewarisi target Cuttlefish yang membuat artefak lengkap:

    $(call inherit-product, device/google/cuttlefish/vsoc_arm64/phone/aosp_cf.mk)
    
  2. Tentukan nama target:

    PRODUCT_NAME := aosp_cf_arm64_phone_vendor
    
  3. Nonaktifkan build yang tidak diperlukan dari artefak lengkap:

    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