Cette page explique comment télécharger, compiler et exécuter AAOS SDV sur Cuttlefish.
Obtenir le code source AAOS SDV
Suivez les instructions fournies dans Télécharger la source Android.
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électionnez une cible.
Avant de créer une SDV, identifiez une cible à créer. Pour identifier votre cible de compilation, utilisez la commande lunch suivie d'une chaîne représentant la cible pour laquelle vous effectuez la compilation. Par exemple, exécutez cette commande pour créer une cible pour l'émulateur Cuttlefish :
lunch sdv_core_cf-trunk_staging-userdebugCette commande sélectionne le produit, la configuration de version et la variante à compiler, et 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 de Cuttlefish (cf) sont les suivantes :
sdv_core_cf-trunk_staging-userdebug: créez une image d'AAOS SDV Core (sdv_core) qui s'exécute sur Cuttlefish (cf).sdv_media_cf-trunk_staging-userdebug: créez une image d'AAOS SDV Core avec les API multimédias virtualisées virtIO (sdv_media).sdv_media_har_cf-trunk_staging-userdebug: créez une image qui étend la cible mé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: créez une image de l'info-divertissement embarqué (IVI) contenant la passerelle SDV et les exemples d'applications Java.sdv_ivi_cf_ds-trunk_staging-userdebug: créez une image qui étend la cible IVI AAOS SDV (sdv_ivi_cf) et inclut l'implémentation DriverUI et du tableau de bord de sécurité d'affichage.
Compiler AAOS SDV
Exécutez la commande suivante pour créer 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 créez différentes cibles, chaque build de cible s'affiche dans $OUT_DIR.
Tester votre compilation à l'aide de Cuttlefish
Une fois que vous avez créé AAOS SDV, testez votre build à l'aide de Cuttlefish.
Pour démarrer Cuttlefish avec votre build :
cvd createCuttlefish s'exécute à l'aide de votre cible de compilation (
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 : VM Manager crosvm n'est pas compatible avec cette machine
Si Cuttlefish indique 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 :
- Configurez à nouveau votre build.
- Continuez avec Choisir 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 build.