Cette page explique comment créer un appareil hybride Cuttlefish (CHD).
Un CHD est un appareil Cuttlefish virtuel hybride qui exécute l'image système d'un appareil physique au lieu d'une image système Cuttlefish sur les HAL de l'appareil. Cela offre les avantages suivants :
Développement et tests précoces : les CHD permettent de développer et de tester en amont les logiciels système de nouvelle génération avant que le matériel physique ne soit disponible.
Évolutivité : les CHD facilitent l'expansion de la capacité de développement et de test.
Créer une image CHD
Pour créer une image CHD, procédez comme suit :
Générez les fichiers cibles pour la cible du fournisseur et l'appareil physique à l'aide de
make dist. Générez les fichiers cibles du fournisseur à l'aide de l'une des options suivantes :- Une cible Cuttlefish complète existante
- Une cible Cuttlefish qui ne crée que des fichiers de fournisseur Cuttlefish. Pour en savoir plus, consultez la section Créer une cible de fournisseur Cuttlefish.
Combinez les deux fichiers cibles dans un fichier cible CHD et générez les images CHD à partir du fichier cible CHD en exécutant le
build_cf_hybrid_device.pyscript. Ce script combine les deux fichiers cibles dans un fichier cible CHD à l'aide demerge_target_files.pyet génère les images CHD à partir du fichier cible CHD à l'aide deimg_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>
Créer une cible de fournisseur Cuttlefish
Pour créer une cible Cuttlefish réservée au fournisseur, procédez comme suit :
Vous pouvez utiliser aosp_cf_vendor.mk pour définir la cible
aosp_cf_arm64_phone_vendor, que vous pouvez utiliser comme fichier cible du fournisseur
pour une image CHD.
Héritez de la cible Cuttlefish qui crée des artefacts complets.
$(call inherit-product, device/google/cuttlefish/vsoc_arm64/phone/aosp_cf.mk)Définissez le nom de la cible.
PRODUCT_NAME := aosp_cf_arm64_phone_vendorDésactivez les builds inutiles à partir des artefacts complets.
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