Per iniziare

Questa pagina descrive come avviare una build AOSP utilizzando Cuttlefish.

Verificare la disponibilità di KVM

Cuttlefish è un dispositivo virtuale e dipende dalla disponibilità della virtualizzazione sulla macchina host.

In un terminale sulla macchina host, assicurati che la virtualizzazione con una macchina virtuale basata su kernel (KVM) sia disponibile:

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

Questo comando dovrebbe restituire un valore diverso da zero.

Quando viene eseguito su una macchina ARM64, il modo più diretto è verificare la presenza di /dev/kvm:

find /dev -name kvm

Avviare Cuttlefish

  1. In una finestra del terminale, scarica, crea e installa i pacchetti Debian host:

    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

    Il riavvio attiva l'installazione di moduli kernel aggiuntivi e applica le regole udev.

  2. Cuttlefish fa parte della piattaforma Android Open-Source (AOSP). Le build del dispositivo virtuale sono disponibili sul sito di integrazione continua di Android. Per trovare un indice di tutte le build di Android, vai al sito di integrazione continua di Android all'indirizzo http://ci.android.com/.

  3. Inserisci un nome branch. Utilizza il branch predefinito aosp-android-latest-release o utilizza un branch di immagine di sistema generica (GSI) come aosp-android13-gsi.

  4. Vai alla destinazione di build aosp_cf_x86_64_only_phone e fai clic su userdebug per la build più recente.

  5. Fai clic sulla casella verde sotto userdebug per selezionare questa build. Viene visualizzato un riquadro Dettagli con ulteriori informazioni specifiche per questa build. In questo riquadro, fai clic su Artefatti per visualizzare un elenco di tutti gli artefatti allegati a questa build.

  6. Nel riquadro Artefatti, scarica gli artefatti per Cuttlefish.

    1. Fai clic sull'artefatto aosp_cf_x86_64_phone-img-xxxxxx.zip per x86_64 o sull'artefatto aosp_cf_arm64_only_phone-xxxxxx.zip per ARM64, che contiene le immagini del dispositivo. Nel nome file, "xxxxxx" è l'ID build per questo dispositivo.

    2. Scorri verso il basso nel riquadro e scarica cvd-host_package.tar.gz. Scarica sempre il pacchetto host dalla stessa build delle immagini.

  7. Sul sistema locale, crea una cartella del container ed estrai i pacchetti:

    1. Architettura 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. Architettura 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. Avvia Cuttlefish:

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

Verificare che Cuttlefish sia visibile tramite adb

Analogamente a un dispositivo fisico, Cuttlefish è visibile tramite il Android Debug Bridge (adb).

Nella stessa cartella in cui hai avviato Cuttlefish, esegui il seguente comando per visualizzare un elenco di tutti i dispositivi Android disponibili tramite adb sulla macchina host:

./bin/adb devices

Visualizzare e interagire con il dispositivo virtuale sul web

Per impostazione predefinita, Cuttlefish viene avviato con --start_webrtc, che abilita una visualizzazione web tramite la porta 8443 sulla macchina host.

Per visualizzare e interagire con i dispositivi virtuali, vai a https://localhost:8443 nel browser web.

Per saperne di più, consulta Cuttlefish: streaming WebRTC.

Arrestare Cuttlefish

Arresta il dispositivo virtuale nella stessa directory che hai utilizzato per avviarlo:

HOME=$PWD ./bin/stop_cvd