Premiers pas

Cette page explique comment lancer une compilation AOSP à l'aide de Cuttlefish.

Vérifier la disponibilité de KVM

Cuttlefish est un appareil virtuel et dépend de la disponibilité de la virtualisation sur la machine hôte.

Dans un terminal de votre machine hôte, assurez-vous que la virtualisation avec une machine virtuelle basée sur le noyau (KVM) est disponible :

grep -c -w "vmx\|svm" /proc/cpuinfo

Cette commande doit renvoyer une valeur non nulle.

Lorsque vous exécutez le programme sur une machine ARM64, le moyen le plus direct consiste à rechercher /dev/kvm :

find /dev -name kvm

Lancer Cuttlefish

  1. Dans une fenêtre de terminal, téléchargez, compilez et installez les packages Debian de l'hôte :

    sudo apt install -y git devscripts equivs config-package-dev debhelper-compat golang curl
    git clone https://github.com/google/android-cuttlefish
    cd android-cuttlefish
    tools/buildutils/build_packages.sh
    sudo dpkg -i ./cuttlefish-base_*_*64.deb || sudo apt-get install -f
    sudo dpkg -i ./cuttlefish-user_*_*64.deb || sudo apt-get install -f
    sudo usermod -aG kvm,cvdnetwork,render $USER
    sudo reboot

    Le redémarrage déclenche l'installation de modules de noyau supplémentaires et applique les règles udev.

  2. Cuttlefish fait partie de la plate-forme Android Open Source (AOSP). Les compilations de l'appareil virtuel sont disponibles sur le site d'intégration continue Android. Pour trouver un index de toutes les versions d'Android, accédez au site d'intégration continue d'Android à l'adresse http://ci.android.com/.

  3. Saisissez un nom de branche. Utilisez la branche aosp-android-latest-release par défaut ou une branche d'image système générique (GSI) telle que aosp-android13-gsi.

  4. Accédez à la cible de compilation aosp_cf_x86_64_only_phone, puis cliquez sur userdebug pour obtenir la dernière compilation.

  5. Cliquez sur la case verte sous userdebug pour sélectionner cette version. Un panneau Détails s'affiche et contient des informations spécifiques à cette compilation. Dans ce panneau, cliquez sur Artifacts (Artefacts) pour afficher la liste de tous les artefacts associés à cette compilation.

  6. Dans le panneau "Artefacts", téléchargez les artefacts pour Cuttlefish.

    1. Cliquez sur l'artefact aosp_cf_x86_64_phone-img-xxxxxx.zip pour x86_64 ou sur l'artefact aosp_cf_arm64_only_phone-xxxxxx.zip pour ARM64, qui contient les images de l'appareil. Dans le nom du fichier, "xxxxxx" correspond à l'ID de compilation de cet appareil.

    2. Faites défiler le panneau vers le bas et téléchargez cvd-host_package.tar.gz. Téléchargez toujours le package hôte à partir de la même version que vos images.

  7. Sur votre système local, créez un dossier de conteneur et extrayez les packages :

    1. Architecture x86_64 :

      mkdir cf
      cd cf
      tar -xvf /path/to/cvd-host_package.tar.gz
      unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip

    2. Architecture ARM64 :

      mkdir cf
      cd cf
      tar -xvf /path/to/cvd-host_package.tar.gz
      unzip /path/to/aosp_cf_arm64_only_phone-img-xxxxxx.zip

  8. Lancez Cuttlefish :

    HOME=$PWD ./bin/launch_cvd --daemon

Vérifier que Cuttlefish est visible via adb

Comme un appareil physique, Cuttlefish est visible via Android Debug Bridge (adb).

Dans le même dossier que celui dans lequel vous avez lancé Cuttlefish, exécutez la commande suivante pour afficher la liste de tous les appareils Android disponibles via adb sur votre machine hôte :

./bin/adb devices

Afficher l'appareil virtuel et interagir avec lui sur le Web

Par défaut, Cuttlefish se lance avec --start_webrtc, ce qui permet d'afficher une vue Web via le port 8443 sur la machine hôte.

Pour afficher vos appareils virtuels et interagir avec eux, accédez à https://localhost:8443 dans votre navigateur Web.

Pour en savoir plus, consultez Cuttlefish : diffusion en flux continu WebRTC.

Arrêter Cuttlefish

Arrêtez l'appareil virtuel dans le même répertoire que celui utilisé pour le lancer :

HOME=$PWD ./bin/stop_cvd