En esta página, se describe cómo crear un dispositivo híbrido Cuttlefish (CHD).
Un CHD es un dispositivo Cuttlefish virtual híbrido que ejecuta la imagen del sistema de un dispositivo físico en lugar de una imagen del sistema Cuttlefish en los HAL del dispositivo. Esto ofrece las siguientes ventajas:
Desarrollo y pruebas tempranos: Los CHD permiten el desarrollo y las pruebas tempranos del software del sistema de próxima generación antes de que esté disponible el hardware físico.
Escalabilidad: Los CHD facilitan la expansión de la capacidad de desarrollo y pruebas.
Crea una imagen de CHD
Para crear una imagen de CHD, sigue estos pasos:
Genera los archivos de destino para el destino del proveedor y el dispositivo físico con
make dist. Genera los archivos de destino del proveedor con una de las siguientes opciones:- Un destino Cuttlefish completo existente
- Un destino Cuttlefish que solo compila archivos de proveedor de Cuttlefish. Para obtener más información, consulta Crea un destino de proveedor de Cuttlefish.
Combina los dos archivos de destino en un archivo de destino de CHD y genera las imágenes de CHD a partir del archivo de destino de CHD ejecutando la
build_cf_hybrid_device.pysecuencia de comandos. Esta secuencia de comandos combina los dos archivos de destino en un archivo de destino de CHD conmerge_target_files.pyy genera las imágenes de CHD a partir del archivo de destino de CHD conimg_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>
Crea un destino de proveedor de Cuttlefish
Para crear un destino solo para proveedores de Cuttlefish, sigue estos pasos:
Puedes usar aosp_cf_vendor.mk para definir el
aosp_cf_arm64_phone_vendor destino, que puedes usar como archivo de destino del proveedor
para una imagen de CHD.
Hereda el destino Cuttlefish que compila artefactos completos.
$(call inherit-product, device/google/cuttlefish/vsoc_arm64/phone/aosp_cf.mk)Define el nombre del destino.
PRODUCT_NAME := aosp_cf_arm64_phone_vendorInhabilita las compilaciones innecesarias de los artefactos 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