Questa pagina descrive come creare un dispositivo ibrido Cuttlefish (CHD).
Un CHD è un dispositivo Cuttlefish virtuale ibrido che esegue l'immagine di sistema di un dispositivo fisico anziché un'immagine di sistema Cuttlefish sugli HAL del dispositivo. Questa opzione offre i seguenti vantaggi:
Sviluppo e test in anteprima: i CHD consentono lo sviluppo e il test in anteprima del software di sistema di nuova generazione prima che l'hardware fisico sia disponibile.
Scalabilità: i CHD semplificano l'espansione della capacità di sviluppo e test.
Creare un'immagine CHD
Per creare un'immagine CHD:
Genera i file di destinazione per la destinazione del fornitore e il dispositivo fisico utilizzando
make dist. Genera i file di destinazione del fornitore utilizzando una delle seguenti opzioni:- Una destinazione Cuttlefish completa esistente
- Una destinazione Cuttlefish che crea solo i file del fornitore Cuttlefish. Per saperne di più, consulta Creare una destinazione del fornitore Cuttlefish.
Combina i due file di destinazione in un file di destinazione CHD e genera le immagini CHD dal file di destinazione CHD eseguendo lo
build_cf_hybrid_device.pyscript. Questo script combina i due file di destinazione in un file di destinazione CHD utilizzandomerge_target_files.pye genera le immagini CHD dal file di destinazione CHD utilizzandoimg_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>
Creare una destinazione del fornitore Cuttlefish
Per creare una destinazione solo del fornitore Cuttlefish:
Puoi utilizzare aosp_cf_vendor.mk per definire la destinazione
aosp_cf_arm64_phone_vendor, che puoi utilizzare come file di destinazione del fornitore
per un'immagine CHD.
Eredita la destinazione Cuttlefish che crea artefatti completi.
$(call inherit-product, device/google/cuttlefish/vsoc_arm64/phone/aosp_cf.mk)Definisci il nome della destinazione.
PRODUCT_NAME := aosp_cf_arm64_phone_vendorDisattiva le build non necessarie dagli artefatti completi.
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