Descarga, compila y ejecuta

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

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

Sigue las instrucciones que se indican en Cómo descargar el código 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 el 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 la versión y la variante que se compilarán, y almacena la selección en el entorno.

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

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

Compila un 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

El resultado de la 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 el SDV de AAOS, prueba la compilación con Cuttlefish.

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

    cvd create

    Cuttlefish se ejecuta con tu destino de compilación (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 mostrará un resultado similar al siguiente:

    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 problemas que pueden ocurrir durante la descarga, la compilación o la ejecución del SDV de AAOS.

Errores de RBE

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

cvd: El administrador de VMs crosvm no es compatible con esta máquina

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

sudo apt install cuttlefish-common

No se encontró el cvd

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

  1. Vuelve a configurar tu compilación.
  2. Continúa con Elige un objetivo.

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.