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.shEsta 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-userdebugEste 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 destinolunchde 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.
mLa 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.
Para iniciar Cuttlefish con tu compilación, haz lo siguiente:
cvd createCuttlefish 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 successfullyEjecuta
adbpara conectarte a Cuttlefish.Ejecuta
adb devicespara verificar que tu compilación se esté ejecutando. Se muestra un resultado similar a este:List of devices attached 0.0.0.0:6520 deviceEjecuta
cvd stoppara 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-commoncvd not found
Si recibes un error cvd not found, haz lo siguiente:
- Vuelve a configurar tu compilación de nuevo.
- Continúa con Cómo elegir un destino.
Bucles de fallas de Cuttlefish
Si Cuttlefish entra en un bucle de fallas, haz lo siguiente:
- Para detener todas las instancias de Cuttlefish, ejecuta
cvd stop. - Usa Cuttlefish para volver a probar tu compilación.