Cette page explique comment lancer une compilation AOSP à l'aide de Cuttlefish.
Vérifier la disponibilité du 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 Cuttlefish
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 kernel supplémentaires et applique des règles
udev
.Cuttlefish fait partie de la plate-forme Open Source Android (AOSP). Les builds de l'appareil virtuel se trouvent sur le site de l'intégration continue Android. Pour trouver un indice de tous les builds Android, accédez au site d'intégration continue Android à l'adresse http://ci.android.com/.
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 queaosp-android13-gsi
.Accédez à la cible de compilation aosp_cf_x86_64_only_phone, puis cliquez sur userdebug pour obtenir la dernière version.
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.
Dans le panneau "Artefacts", téléchargez les artefacts pour Cuttlefish.
Cliquez sur l'artefact
aosp_cf_x86_64_phone-img-xxxxxx.zip
pour x86_64 ou sur l'artefactaosp_cf_arm64_only_phone-xxxxxx.zip
pour ARM64, qui contient les images de l'appareil. Dans le nom de fichier, "xxxxxx" correspond à l'ID de build de cet appareil.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.
Sur votre système local, créez un dossier de conteneur et extrayez les packages:
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
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
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 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 et interagir avec vos appareils virtuels, accédez à https://localhost:8443 dans votre navigateur Web.
Pour en savoir plus, consultez Cuttlefish: streaming WebRTC.
Arrêter Cuttlefish
Arrêtez l'appareil virtuel dans le même répertoire que celui que vous avez utilisé pour le lancer:
HOME=$PWD ./bin/stop_cvd