Cómo usar Cuttlefish para iniciar una compilación de AOSP

En esta página, se describe cómo iniciar una compilación de AOSP con Cuttlefish.

Cómo verificar la disponibilidad de KVM

Cuttlefish es un dispositivo virtual y depende de que la virtualización esté disponible en la máquina anfitrión.

En una terminal de tu máquina anfitrión, asegúrate de que la virtualización con una máquina virtual basada en kernel (KVM) esté disponible:

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

Este comando debe mostrar un valor distinto de cero.

Cuando se ejecuta en una máquina ARM, la forma más directa es verificar /dev/kvm:

find /dev -name kvm

Cómo iniciar Cuttlefish

  1. En una ventana de terminal, descarga, instala y compila los paquetes de Debian del host:

    sudo apt install -y git devscripts config-package-dev debhelper-compat golang curl
    git clone https://github.com/google/android-cuttlefish
    cd android-cuttlefish
    for dir in base frontend; do
      cd $dir
      debuild -i -us -uc -b -d
      cd ..
    done
    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
    

    El reinicio activa la instalación de módulos de kernel adicionales y aplica reglas udev.

  2. Cuttlefish es parte de la plataforma de código abierto de Android (AOSP). Las compilaciones del dispositivo virtual se encuentran en el sitio de integración continua de Android. Para ver un índice con todas las compilaciones de Android, navega al sitio de integración continua de Android: http://ci.android.com/.

  3. Ingresa un nombre de rama. Usa la rama aosp-master predeterminada o una rama de imagen genérica del sistema (GSI), como aosp-android13-gsi.

  4. Navega al destino de compilación aosp_cf_x86_64_phone y haz clic en userdebug para obtener la compilación más reciente.

  5. Haz clic en el cuadro verde que está debajo de userdebug para seleccionar esta compilación. Aparecerá el panel Details con más información específica de la compilación. En ese panel, haz clic en Artifacts para ver la lista de todos los artefactos adjuntos a esta compilación.

  6. En el panel Artifacts, descarga los artefactos de Cuttlefish.

    1. Haz clic en el artefacto aosp_cf_x86_64_phone-img-xxxxxx.zip, que contiene las imágenes del dispositivo. En el nombre de archivo, "xxxxxx" es el ID de compilación de este dispositivo.

    2. Desplázate hacia abajo en el panel y descarga cvd-host_package.tar.gz. Siempre descarga el paquete host desde la misma compilación que las imágenes.

  7. En tu sistema local, crea una carpeta de contenedor y extrae los paquetes:

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

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

Cómo verificar que Cuttlefish es visible mediante adb

De manera similar a un dispositivo físico, Cuttlefish se puede ver mediante Android Debug Bridge (adb).

En la misma carpeta donde iniciaste Cuttlefish, ejecuta el siguiente comando para ver una lista de todos los dispositivos Android disponibles mediante adb en tu máquina anfitrión:

./bin/adb devices

Cómo interactuar con el dispositivo virtual y verlo en la Web

De forma predeterminada, Cuttlefish se inicia con --start_webrtc, que habilita una vista web a través del puerto 8443 en la máquina anfitrión.

Para interactuar con los dispositivos virtuales y verlos, navega a https://localhost:8443 en el navegador web.

Para obtener más información, consulta Cuttlefish: transmisión de WebRTC.

Cómo detener Cuttlefish

Detén el dispositivo virtual dentro del mismo directorio que usaste para iniciarlo:

HOME=$PWD ./bin/stop_cvd