Configura un IDE para el desarrollo de SDV

Android Studio for Platform (ASfP) es el entorno de desarrollo integrado recomendado (IDE) para desarrollar la plataforma de Android, incluidos los proyectos de vehículos definidos por software (SDV) del sistema operativo Android Automotive (AAOS) . ASfP proporciona un conjunto completo de herramientas para editar, compilar, depurar y probar código, incluidas las siguientes:

  • Asistencia impulsada por IA (Gemini)
  • Compatibilidad con los lenguajes Rust, C o C++ y Java
  • Integraciones útiles para el desarrollo de SDV de AAOS (por ejemplo, compatibilidad con el emulador de Cuttlefish y el lenguaje VSIDL)

Cómo instalar Android Studio for Platform

Para instalar ASfP, haz lo siguiente:

  1. Descarga Android Studio for Platform.

  2. Elige la versión que mejor se adapte a tus necesidades:

    • Estable: Es la versión de producción más reciente y se recomienda para la mayoría de los usuarios.
    • Canary: Son compilaciones de acceso anticipado con las funciones más recientes, pero potencialmente menos estables.
  3. Sigue las instrucciones de instalación que se proporcionan en la página de descarga.

Cómo configurar un proyecto de SDV de AAOS

Para configurar un proyecto de SDV de AAOS, haz lo siguiente:

  1. Verifica que tengas acceso al repositorio de código fuente de SDV de AAOS y que hayas inicializado y sincronizado tu confirmación local. Consulta Cómo descargar, compilar y ejecutar para obtener detalles sobre el acceso a la fuente y la inicialización del repositorio.

  2. Inicia Android Studio for Platform.

  3. Si es la primera vez que lo usas, sigue el asistente de configuración para personalizar el entorno de desarrollo.

  4. Crea un proyecto nuevo:

    • Si no tienes un proyecto abierto, haz clic en New en la pantalla de bienvenida.
    • Si ya tienes un proyecto abierto, haz clic en Open o selecciona ASfP > Project > Import ASfP Project en el menú.
  5. Completa los detalles de configuración del proyecto en el asistente:

    • Repo checkout: Especifica la ruta de acceso absoluta a la raíz de la confirmación local del código fuente de SDV de AAOS (por ejemplo, /path/to/sdv_source).

    • lunch target: Ingresa el destino de lunch adecuado para el desarrollo de SDV de AAOS en Cuttlefish, por ejemplo, sdv_core_cf-aosp_current-userdebug. Consulta Cómo elegir un destino para obtener más destinos disponibles.

    • Project sources: Enumera los directorios o módulos iniciales que deseas incluir en tu proyecto o haz clic en el ícono de carpeta para abrir el navegador del sistema de archivos y seleccionar los directorios. Si seleccionas demasiados directorios o módulos, se verá afectado el rendimiento de indexación y búsqueda del IDE, por lo que solo debes incluir los directorios o módulos pertinentes.

    • Language support: Selecciona Rust y C++ como lenguajes compatibles.

    • Project name: Otorga a tu proyecto un nombre descriptivo.

    • Finish setup: Haz clic en Finish. ASfP crea la estructura del proyecto y el archivo de configuración .asfp-project.

ASfP inicia automáticamente un proceso de sincronización inicial. ASfP analiza tu código fuente, resuelve dependencias con el sistema de compilación Soong y compila la información necesaria para las funciones de inteligencia de código. Esto puede llevar una cantidad de tiempo considerable, en especial para la primera sincronización.

Cómo personalizar el proyecto

El archivo .asfp-project en la raíz de tu proyecto permite una mayor personalización. Puedes editar este archivo para hacer lo siguiente:

  • Agregar o quitar directorios y módulos
  • Habilitar la compatibilidad con otros lenguajes, como C++ o Rust (Java y Kotlin son los valores predeterminados)
  • Configurar marcas de compilación

Para realizar cambios en el archivo de configuración, selecciona ASfP > Project > Open Config. Consulta Descripción general de los proyectos para ver las opciones de configuración disponibles.

Cómo depurar y probar

Para depurar y probar código en ASfP, consulta Cómo depurar código de plataforma y Cómo probar código de plataforma con atest.

Integraciones disponibles

ASfP incluye algunas integraciones útiles para el desarrollo de SDV de AAOS, incluida la compatibilidad con Cuttlefish y el protocolo de servidor de lenguaje (LSP) en VSIDL.

Complemento de Cuttlefish

El complemento de Cuttlefish permite a los usuarios crear y ejecutar dispositivos Cuttlefish locales directamente desde ASfP.

Instala el complemento

El complemento de Cuttlefish está preinstalado con ASfP y no requiere configuración. El complemento requiere que las herramientas de Cuttlefish estén instaladas en el dispositivo. Sigue las instrucciones para instalar las herramientas de Cuttlefish si es necesario.

Cómo crear un dispositivo Cuttlefish

Para crear un dispositivo nuevo, haz lo siguiente:

  1. Abre la ventana de herramientas Administrador de dispositivos seleccionando Tools > Device Manager o haciendo clic en el ícono Running Devices en el panel derecho si el Administrador de dispositivos ya está fijado allí.

  2. Haz clic en el ícono + y selecciona Create Cuttlefish Device.

  3. Configura el nuevo dispositivo Cuttlefish. Puedes crear dispositivos Cuttlefish de dos maneras:

    • Desde la confirmación local del árbol de fuentes de Android:

      • Selecciona la ruta de acceso al destino compilado que corresponde a tu configuración de inicio (consulta Cómo elegir un destino para obtener más detalles).
      • Selecciona la ruta de acceso del host.
      • De manera opcional, selecciona las configuraciones de dispositivo disponibles o None para la configuración predeterminada.
    • Desde la configuración canónica (usa esta opción para crear varios dispositivos a partir de la configuración única):

      • Selecciona la ruta de acceso a la configuración del dispositivo.
      • De manera opcional, proporciona cualquier marca de anulación para anular las opciones de configuración.
  4. Espera a que se cree el dispositivo Cuttlefish y se agregue a la lista de dispositivos en ejecución en el Administrador de dispositivos.

  5. Selecciona el dispositivo Cuttlefish en el menú Running Devices.

Puedes iniciar o detener dispositivos Cuttlefish individuales haciendo clic en el ícono de detener o iniciar junto al dispositivo en el Administrador de dispositivos.

Cómo acceder a la página del dispositivo Cuttlefish

El complemento de Cuttlefish tiene una ventana de herramientas que muestra la página Cuttlefish Device, en la que puedes acceder a las funciones de duplicación de pantalla.

Para abrir la ventana de herramientas de Cuttlefish, haz clic en el ícono ... en el panel lateral izquierdo y selecciona Cuttlefish. Como alternativa, puedes buscar Cuttlefish en el elemento de menú Help > Find Action.

Protocolo de servidor de lenguaje en VSIDL

En VSIDL, el LSP proporciona un conjunto completo de funciones de IDE para mejorar tu flujo de trabajo de desarrollo cuando trabajas con archivos VSIDL (con una extensión .vsidl) en ASfP.

Resaltado de sintaxis semántico

El servidor LSP proporciona resaltado de sintaxis para archivos VSIDL.

  • Qué hace: Destaca palabras clave (service_bundle, publisher), campos (package:, message:) y literales.

  • Cómo probarlo: Abre cualquier archivo VSIDL. El archivo tiene un código de color para distinguir las palabras clave estructurales de los identificadores definidos por el usuario.

Diagnóstico en vivo (errores y advertencias)

El servidor LSP valida archivos de forma continua y notifica problemas en tiempo real.

  • Qué hace: Detecta errores de sintaxis, referencias de tipo no válidas y otros errores en todo el catálogo y sus dependencias.

  • Cómo probarlo: Introduce un error tipográfico en un nombre de mensaje (por ejemplo, TiiirePressure). Aparecerá una línea roja ondulada debajo del error ortográfico. Coloca el cursor sobre la palabra para ver el mensaje de error o consulta la lista completa en la ventana de herramientas Problems en la parte inferior del IDE.

Puedes usar funciones de navegación e inteligencia para explorar las relaciones entre diferentes partes de tu catálogo de VSIDL.

  • Autocompletado: Presiona Control+barra espaciadora para ver sugerencias de palabras clave, mensajes de protobuf, servicios de RPC, temas y canales. Las sugerencias de palabras clave incluyen explicaciones breves y útiles de su propósito directamente en el menú de finalización. El LSP también proporciona fragmentos inteligentes para bloques como publisher o server para acelerar tu flujo de trabajo.

  • Ir a una definición: Mantén presionada la tecla Control y haz clic (o presiona Control+B) en un mensaje, servicio, tema o referencia de canal para ir directamente a su definición de origen, incluso si está en un archivo VSIDL o protobuf diferente.

  • Buscar referencias: Coloca el cursor en la palabra clave publisher, subscriber, server o client y presiona Alt+Mayúsculas+F7 para encontrar todas las instancias.

  • Información sobre el cursor: Mueve el cursor a un tipo o propiedad (o presiona Control+Q). Aparecerá una sugerencia que muestra los comentarios de documentación (si existen).

Funciones estructurales

El servidor LSP te ayuda a administrar y navegar por la estructura de archivos VSIDL grandes:

  • Símbolos de documento (esquema): Presiona Control+F12 para obtener una sugerencia de navegación rápida o abre la ventana de herramientas Structure (Control+Alt+7) para ver una vista de árbol de todos los paquetes y unidades del archivo.

  • Rangos de plegado: Haz clic en los íconos > o V en el medianil (junto a los números de línea) para contraer o expandir bloques lógicos grandes como service_bundle o definiciones de asignación.

  • Formato de documento: Presiona Control+Alt+L para volver a formatear automáticamente el archivo, lo que crea una sangría y un espaciado coherentes.