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 del SDV de AAOS

Sigue las instrucciones que se proporcionan 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 SDV, identifica un destino para compilar. Para identificar el destino que deseas compilar, usa el comando lunch seguido de una cadena que represente el destino para el que compilas. Por ejemplo, usa este comando para compilar un destino para el emulador de Cuttlefish:

lunch sdv_core_cf-trunk_staging-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 de lunch para la SDV se proporcionan en un proyecto de Git independiente ubicado en el directorio devices/google/sdv. Consulta una descripción detallada de los objetivos disponibles en device/google/sdv/README.md. Los principales objetivos de Cuttlefish (cf) son los siguientes:

  • sdv_core_cf-trunk_staging-userdebug: Compila una imagen de AAOS SDV Core (sdv_core) que se ejecute en Cuttlefish (cf).
  • sdv_media_cf-trunk_staging-userdebug: Compila una imagen del núcleo del SDV de AAOS con APIs de medios virtualizadas con virtIO (sdv_media).
  • sdv_media_har_cf-trunk_staging-userdebug: Compila una imagen que extienda el objetivo de medios de SDV de AAOS (sdv_media_cf) lunch para que contenga el renderizador de alta disponibilidad (HAR). HAR se ejecuta automáticamente durante el inicio.
  • sdv_ivi_cf-trunk_staging-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-trunk_staging-userdebug: Compila una imagen que extienda el objetivo de IVI del SDV de AAOS (sdv_ivi_cf) y que incluya 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. En función de 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 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-trunk_staging-userdebug). Después de que se inicie 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: multiusuarios.

Solucionar problemas

En esta sección, se explica cómo solucionar errores 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 administrador de VMs 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.