Télécharger, compiler et exécuter

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 le code 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.sh

Ce 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-aosp_current-userdebug

Cette 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. Consultez une description détaillée des cibles disponibles dans device/google/sdv/README.md. Les principales cibles Cuttlefish (cf) sont les suivantes :

  • sdv_core_cf-aosp_current-userdebug : compile une image d'AAOS SDV Core (sdv_core) qui s'exécute sur Cuttlefish (cf).
  • sdv_media_cf-aosp_current-userdebug : compile une image d'AAOS SDV Core avec des API média virtualisées virtIO (sdv_media).
  • sdv_media_har_cf-aosp_current-userdebug : compile une image qui étend la cible média AAOS SDV (sdv_media_cf) lunch pour contenir le moteur de rendu à haute disponibilité (HAR). HAR s'exécute automatiquement au démarrage.
  • sdv_ivi_cf-aosp_current-userdebug : compile une image d'infodivertissement embarqué (IVI) contenant la passerelle SDV et des exemples d'applications Java.
  • sdv_ivi_cf_ds-aosp_current-userdebug : compile une image qui étend la cible IVI AAOS SDV (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.

m

La sortie 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

Après avoir compilé AAOS SDV, testez votre compilation à l'aide de Cuttlefish.

  1. Pour démarrer Cuttlefish avec votre compilation :

    cvd create

    Cuttlefish s'exécute à l'aide de votre cible compilée (sdv_core_cf-aosp_current-userdebug). Une fois Cuttlefish démarré, le message suivant s'affiche :

    VIRTUAL_DEVICE_BOOT_COMPLETED
    Virtual device booted successfully
  2. Exécutez adb pour vous connecter à Cuttlefish.

  3. Exécutez adb devices pour 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 device
  4. Exécutez cvd stop pour é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 RBE (Remote Build Execution), 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-common

cvd introuvable

Si vous recevez une erreur cvd not found :

  1. Reconfigurez votre compilation.
  2. Passez à Sélectionner une cible.

Boucles de plantage Cuttlefish

Si Cuttlefish entre dans une boucle de plantage :

  1. Pour arrêter toutes les instances Cuttlefish, exécutez cvd stop.
  2. Utilisez Cuttlefish pour tester à nouveau votre compilation.