Descarga, compila y ejecuta

En esta página, se explica cómo descargar, compilar y ejecutar la SDV de AAOS en Cuttlefish.

Obtén el código fuente de la SDV de AAOS

Usa las instrucciones que se proporcionan en Descarga la fuente de Android.

Cómo configurar tu entorno de compilación

Desde tu directorio de trabajo, obtén la secuencia de comandos envsetup.sh para configurar el entorno de compilación.

source build/envsetup.sh

Esta secuencia de comandos importa varios comandos que te permiten trabajar con el código fuente de Android, incluidos los comandos que se usan en esta página. Para ver la fuente de la secuencia de comandos, consulta platform/build/envsetup.sh. Para ver la ayuda integrada, escribe hmm.

Cómo elegir un destino

Antes de compilar la SDV, identifica un destino para compilar. Para identificarlo, usa el comando lunch seguido de una cadena que represente el destino para el que estás compilando. Por ejemplo, usa este comando para compilar un destino para el emulador de Cuttlefish:

lunch sdv_core_cf-aosp_current-userdebug

Este comando selecciona el producto, la configuración de lanzamiento y la variante para compilar, y almacena la selección en el entorno.

Los destinos lunch para la SDV se proporcionan en un proyecto de Git independiente que se encuentra en el directorio devices/google/sdv. Consulta una descripción detallada de los destinos disponibles en device/google/sdv/README.md. Los principales destinos de Cuttlefish (cf) son los siguientes:

  • sdv_core_cf-aosp_current-userdebug - Compila una imagen de la SDV de AAOS Core (sdv_core) que se ejecuta en Cuttlefish (cf).
  • sdv_media_cf-aosp_current-userdebug - Compila una imagen de la SDV de AAOS Core con APIs de medios virtualizadas con virtIO (sdv_media).
  • sdv_media_har_cf-aosp_current-userdebug - Compila una imagen que extiende el destino lunch de la SDV de AAOS Media (sdv_media_cf) para que contenga el renderizador de alta disponibilidad (HAR). HAR se ejecuta automáticamente durante el arranque.
  • sdv_ivi_cf-aosp_current-userdebug - Compila una imagen de infoentretenimiento en el vehículo (IVI) que contiene la puerta de enlace de la SDV y las apps de ejemplo de Java.
  • sdv_ivi_cf_ds-aosp_current-userdebug - Compila una imagen que extiende el destino IVI de la SDV de AAOS (sdv_ivi_cf) y que incluye la implementación de DriverUI y del panel de instrumentos de Display Safety.

Compila la SDV de AAOS

Para compilar tu destino, ejecuta el siguiente comando. Según la especificación de tu estación de trabajo, la primera compilación tarda entre 30 y 60 minutos. Las compilaciones posteriores toman mucho menos tiempo.

m

La salida de tu compilación aparece en $OUT_DIR. Si compilas diferentes destinos, cada compilación aparece en $OUT_DIR.

Prueba tu compilación con Cuttlefish

Después de compilar la SDV de AAOS, prueba tu compilación con Cuttlefish.

  1. Para iniciar Cuttlefish con tu compilación, haz lo siguiente:

    cvd create

    Cuttlefish se ejecuta con el destino compilado (sdv_core_cf-aosp_current-userdebug). Después de que se inicia Cuttlefish, se muestra este mensaje:

    VIRTUAL_DEVICE_BOOT_COMPLETED
    Virtual device booted successfully
  2. Ejecuta adb para conectarte a Cuttlefish.

  3. Ejecuta adb devices para verificar que tu compilación se esté ejecutando. Se muestra un resultado similar a este:

    List of devices attached
    0.0.0.0:6520 device
  4. Ejecuta cvd stop para apagar el dispositivo.

Para ejecutar varias instancias de Cuttlefish con diferentes compilaciones, consulta Cuttlefish: multi-tenancy.

Solucionar problemas

En esta sección, se explica cómo solucionar los errores que pueden ocurrir durante la descarga, la compilación o la ejecución de la SDV de AAOS.

Errores de RBE

Si encuentras algún error de Remote Build Execution (RBE), quita las definiciones de USE_RBE y ENABLE_RBE_BOOTSTRAP de .bashrc o .zshrc.

cvd: VM manager crosvm isn't supported on this machine

Si Cuttlefish informa que el administrador de VMs crosvm no es compatible con tu máquina, ejecuta el siguiente comando para instalar Cuttlefish:

sudo apt install cuttlefish-common

cvd not found

Si recibes un error cvd not found, haz lo siguiente:

  1. Vuelve a configurar tu compilación de nuevo.
  2. Continúa con Cómo elegir un destino.

Bucles de fallas de Cuttlefish

Si Cuttlefish entra en un bucle de fallas, haz lo siguiente:

  1. Para detener todas las instancias de Cuttlefish, ejecuta cvd stop.
  2. Usa Cuttlefish para volver a probar tu compilación.