Cette page explique comment télécharger, compiler et exécuter AAOS SDV sur Cuttlefish.
Initialiser le client Repo
Configurez votre client pour accéder au dépôt de code source Android :
Créez un répertoire de travail et accédez-y, par exemple
sdv:mkdir WORKING_DIRECTORYcd WORKING_DIRECTORYInitialisez votre répertoire de travail pour le contrôle des sources :
Cet exemple utilise la branche
26Q2-fs-release.RELEASE=26Q2-fs-releaserepo init -u https://partner-android.googlesource.com/platform/vendor/pdk/generic/fs/manifest/ -b $RELEASEL'option
-uest obligatoire et identifie un fichier manifeste, qui est un fichier XML spécifiant l'emplacement des différents projets Git dans la source Android au sein de votre répertoire de travail. Dans cet exemple, le nom du fichier manifeste n'est pas spécifié. La commande utilise donc le fichier manifeste par défaut (default.xml).L'option
-bidentifie la branche que vous initialisez.Le résultat doit contenir le message suivant :
repo has been initialized in path_to_working_directory
Télécharger la source AAOS SDV
Exécutez la commande suivante pour télécharger l'arborescence source Android dans votre répertoire de travail :
repo sync -c -j8L'argument -c indique à Repo d'extraire la branche manifeste actuelle du serveur. La commande -j8 divise la synchronisation entre les threads pour une exécution plus rapide.
Configurer votre environnement de compilation
Dans votre répertoire de travail, exécutez le script envsetup.sh pour configurer votre environnement de compilation :
source build/envsetup.shCe script importe plusieurs commandes qui vous permettent d'utiliser le code source Android, y compris les commandes utilisées sur cette page. Pour afficher la source du script, consultez platform/build/envsetup.sh. Pour afficher l'aide intégrée, saisissez hmm.
Sélectionner une cible.
Avant de compiler SDV, identifiez une cible à compiler. Pour identifier la cible à compiler, utilisez la commande lunch, suivie d'une chaîne représentant la cible pour laquelle vous compilez. Par exemple, utilisez cette commande pour compiler une cible pour l'émulateur Cuttlefish :
lunch sdv_core_cf-trunk_staging-userdebugCette commande sélectionne le produit, la configuration de la version et la variante à compiler, puis stocke la sélection dans l'environnement.
Les cibles lunch pour SDV sont fournies dans un projet Git distinct situé dans le répertoire devices/google/sdv. Pour obtenir une description détaillée des cibles disponibles, consultez device/google/sdv/README.md. Les principales cibles Cuttlefish (cf) sont les suivantes :
sdv_core_cf-trunk_staging-userdebug: compile une image d'AAOS SDV Core (sdv_core) qui s'exécute sur Cuttlefish (cf).sdv_media_cf-trunk_staging-userdebug: compile une image d'AAOS SDV Core avec des API multimédias virtualisées virtIO (sdv_media).sdv_media_har_cf-trunk_staging-userdebug: compile une image qui étend la cible multimédia AAOS SDV (sdv_media_cf)lunchpour contenir le moteur de rendu à haute disponibilité (HAR). HAR s'exécute automatiquement au démarrage.sdv_ivi_cf-trunk_staging-userdebug: compile une image d'infodivertissement embarqué (IVI) contenant la passerelle SDV et des exemples d'applications Java.sdv_ivi_cf_ds-trunk_staging-userdebug: compile une image qui étend la cible AAOS SDV IVI (sdv_ivi_cf) et inclut l'implémentation de l'interface utilisateur du conducteur et du combiné d'instruments de Display Safety.
Compiler AAOS SDV
Exécutez la commande suivante pour compiler votre cible. Selon les spécifications de votre poste de travail, la première compilation prend entre 30 et 60 minutes. Les compilations suivantes prennent beaucoup moins de temps.
mLe résultat de votre compilation s'affiche dans $OUT_DIR. Si vous compilez différentes cibles, chaque compilation de cible s'affiche dans $OUT_DIR.
Tester votre compilation à l'aide de Cuttlefish
Une fois que vous avez compilé AAOS SDV, testez votre compilation à l'aide de Cuttlefish.
Pour démarrer Cuttlefish avec votre compilation :
cvd createCuttlefish s'exécute à l'aide de votre cible compilée (
sdv_core_cf-trunk_staging-userdebug). Une fois Cuttlefish démarré, le message suivant s'affiche :VIRTUAL_DEVICE_BOOT_COMPLETED Virtual device booted successfullyExécutez
adbpour vous connecter à Cuttlefish.Exécutez
adb devicespour vérifier que votre compilation est en cours d'exécution. Un résultat semblable à celui-ci s'affiche :List of devices attached 0.0.0.0:6520 deviceExécutez
cvd stoppour éteindre l'appareil.
Pour exécuter plusieurs instances de Cuttlefish avec différentes compilations, consultez Cuttlefish: multi-locataire.
Résoudre les problèmes
Cette section explique comment résoudre les erreurs qui peuvent se produire lors du téléchargement, de la compilation ou de l'exécution d'AAOS SDV.
Erreurs RBE
Si vous rencontrez des erreurs d'exécution de compilation à distance (RBE), supprimez les définitions de USE_RBE et ENABLE_RBE_BOOTSTRAP de .bashrc ou .zshrc.
cvd : le gestionnaire de VM crosvm n'est pas compatible avec cette machine
Si Cuttlefish signale que le gestionnaire de VM crosvm n'est pas compatible avec votre machine, exécutez la commande suivante pour installer Cuttlefish :
sudo apt install cuttlefish-commoncvd introuvable
Si vous recevez une erreur cvd not found :
- Reconfigurez votre compilation.
- Passez à la section Sélectionner une cible.
Boucles de plantage Cuttlefish
Si Cuttlefish entre dans une boucle de plantage :
- Pour arrêter toutes les instances Cuttlefish, exécutez
cvd stop. - Utilisez Cuttlefish pour tester à nouveau votre compilation.