Esta página descreve como criar um dispositivo híbrido Cuttlefish (CHD).
Um CHD é um dispositivo virtual híbrido Cuttlefish que executa a imagem do sistema de um dispositivo físico em vez de uma imagem do sistema Cuttlefish nos HALs do dispositivo. Isso oferece as seguintes vantagens:
Desenvolvimento e testes iniciais:os CHDs permitem o desenvolvimento e os testes iniciais de softwares de sistema de próxima geração antes que o hardware físico esteja disponível.
Escalabilidade:os CHDs facilitam a expansão da capacidade de desenvolvimento e testes.
Criar uma imagem de CHD
Para criar uma imagem de CHD, siga estas etapas:
Gere os arquivos de destino para o destino do fornecedor e o dispositivo físico usando
make dist. Gere os arquivos de destino do fornecedor usando uma das seguintes opções:- Um destino Cuttlefish completo já existente
- Um destino Cuttlefish que cria apenas arquivos de fornecedor Cuttlefish. Para mais informações, consulte Criar um destino de fornecedor Cuttlefish.
Combine os dois arquivos de destino em um arquivo de destino de CHD e gere as imagens de CHD do arquivo de destino de CHD executando o
build_cf_hybrid_device.pyscript. Esse script combina os dois arquivos de destino em um arquivo de destino de CHD usandomerge_target_files.pye gera as imagens de CHD do arquivo de destino de CHD usandoimg_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>
Criar um destino de fornecedor Cuttlefish
Para criar um destino somente de fornecedor Cuttlefish, siga estas etapas:
Você pode usar aosp_cf_vendor.mk para definir o destino
aosp_cf_arm64_phone_vendor, que pode ser usado como o arquivo de destino do fornecedor
para uma imagem de CHD.
Herde o destino Cuttlefish que cria artefatos completos.
$(call inherit-product, device/google/cuttlefish/vsoc_arm64/phone/aosp_cf.mk)Defina o nome do destino.
PRODUCT_NAME := aosp_cf_arm64_phone_vendorDesative builds desnecessários dos artefatos completos.
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