Esta página descreve como criar um dispositivo híbrido Cuttlefish (CHD, na sigla em inglês).
Um CHD é um dispositivo virtual híbrido do Cuttlefish que executa a imagem do sistema de um dispositivo físico em vez de uma imagem do sistema do Cuttlefish nas HALs do dispositivo. Isso oferece as seguintes vantagens:
Desenvolvimento e testes antecipados:os CHDs permitem o desenvolvimento e o teste antecipados de software de sistema de última geração antes que o hardware físico esteja disponível.
Escalonabilidade:os CHDs facilitam a expansão da capacidade de desenvolvimento e teste.
Criar uma imagem CHD
Para criar uma imagem 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 completo do Cuttlefish
- Um destino do Cuttlefish que cria apenas arquivos do fornecedor do Cuttlefish. Para mais informações, consulte Criar um destino do fornecedor do Cuttlefish.
Combine os dois arquivos de destino em um arquivo de destino CHD e gere as imagens CHD do arquivo de destino CHD executando o script
build_cf_hybrid_device.py. Esse script combina os dois arquivos de destino em um arquivo de destino CHD usandomerge_target_files.pye gera as imagens CHD do arquivo de destino 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 do fornecedor do Cuttlefish
É possível 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 CHD.
Para criar um destino somente do fornecedor do Cuttlefish, siga estas etapas:
Herde o destino do 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