Commencez, commencez

Cette page explique comment lancer un build AOSP à l'aide de Cuttlefish.

Vérifier la disponibilité de KVM

Settlefish est un appareil virtuel qui 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.

Lors de l'exécution sur une machine ARM64, le moyen le plus direct consiste à rechercher /dev/kvm:

find /dev -name kvm

Lancer seiche

  1. Dans une fenêtre de terminal, téléchargez, compilez et installez les packages 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. Cuttlefish fait partie de la plate-forme Android Open Source (AOSP). Les builds de l'appareil virtuel se trouvent sur le site d'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 ce build. Un panneau Details (Détails) s'affiche. Il contient des informations supplémentaires spécifiques à cette compilation. Dans ce panneau, cliquez sur Artefacts pour afficher la liste de tous les artefacts associés à cette compilation.

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

    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 compilation 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 Settlefish:

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

Vérifier que seiche 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 l'appareil virtuel et interagir avec celui-ci sur le Web

Par défaut, Cuttlefish se lance avec --start_webrtc, qui active une WebView via le port 8443 de 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 la page Cuttlefish: WebRTC Streaming.

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