Premiers pas

Cette page explique comment lancer un build 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 sur 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 une application sur une machine ARM64, le moyen le plus direct de vérifier la présence de /dev/kvm est le suivant :

find /dev -name kvm

Lancer seiche

  1. Dans une fenêtre de terminal, téléchargez, créez et installez les paquets Debian hôtes :

    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. Settlefish fait partie de la plate-forme Android Open Source (AOSP). Les builds de l'appareil virtuel se trouvent sur le site de l'intégration continue Android. Pour rechercher un index de tous les builds Android, accédez au site d'intégration continue Android à l'adresse http://ci.android.com/.

  3. Saisissez un nom de branche. Utilisez la branche aosp-main 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_phone, puis cliquez sur userdebug pour obtenir le dernier build.

  5. Cliquez sur la case verte sous userdebug pour sélectionner cette version. Un panneau Details (Détails) s'affiche avec plus d'informations spécifiques à cette compilation. Dans ce panneau, cliquez sur Artefacts (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 de fichier, "xxxxxx" est l'ID de compilation de cet appareil.

    2. Faites défiler le panneau vers le bas, puis 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

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

Dans le dossier où 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 et interagir avec l'appareil virtuel sur le Web

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

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

Pour en savoir plus, consultez Cuttlefish : streaming WebRTC.

Arrêter la seiche

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

HOME=$PWD ./bin/stop_cvd