Guía de integración

Esta página describe cómo integrar aplicaciones desagregadas. Las aplicaciones que incluyen Marcador, Medios, Biblioteca de UI del automóvil y SMS se consideran aplicaciones desagregadas. Estas aplicaciones están separadas de la plataforma Android e incluyen la lógica para recibir datos de la aplicación complementaria del teléfono y UX en el lado del automóvil, incluidas configuraciones para asociación e inscripción de funciones.

Los APK creados a partir del código desagregado funcionan con varias versiones de la plataforma.

Mira el código

Para consultar el código desagregado:

  1. Ejecute lo siguiente:
    repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
    repo sync -cq -j4
    
  2. Para obtener más información sobre cómo trabajar con el código fuente de AOSP, consulte Inicialización de un cliente de repositorio .

Construye el código

Estudio Android

Para compilar el código en Android Studio:

  1. En Android Studio, importe este archivo de compilación:
    packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
  2. Asegúrese de configurar Gradle JDK en Android Studio al menos en la versión 11:


    Figura 1. Versión 11.
  3. Cree los APK deseados.

Línea de comando

Para compilar el código desde la línea de comando:

  1. Configure la ubicación del SDK de Android de una de estas dos maneras:
    • Cree packages/apps/Car/libs/aaos-apps-gradle-project/local.properties y luego configure la propiedad sdk.dir que contiene. Android Studio puede hacer esto automáticamente al abrir un proyecto. Por ejemplo, utilice sdk.dir=/Users/MY-USERNAME/Library/Android/sdk .

      o
    • Configure la variable de entorno ANDROID_SDK_ROOT con la ruta al SDK de Android.
  2. Abra un símbolo del sistema o una ventana de shell.
  3. Vaya a packages/apps/Car/libs/aaos-apps-gradle-project .
  4. Ejecute el siguiente comando:
    ./gradlew assemble

Niveles API mínimos requeridos

Cada aplicación desagregada funciona en plataformas Android con una versión igual o superior a su minSdkVersion . La siguiente tabla enumera la versión mínima de API admitida por cada aplicación:

Aplicación Nivel mínimo de API
Calendario 29
Biblioteca de interfaz de usuario del coche 29
Dispositivo complementario 29
marcador 31
Medios de comunicación 30
SMS 30
Anfitrión AOSP 29

Integrar una precompilación en una imagen del sistema

Imágenes de Android 13 y superiores

El código desagregado se elimina de la plataforma Android 13. Por lo tanto, es posible que sea necesario agregar APK prediseñados a las compilaciones de la plataforma para:

  • Pruebas de cumplimiento de DDC
  • Aprovisionamiento de aplicaciones privilegiadas

Esto se logra con la regla android_app_import Soong:

android_app_import {
    name: "CarMediaApp",
    apk: "CarMediaApp.apk",
    privileged: true,
    certificate: "platform", // Media must be signed by the platform
    required: ["allowed_privapp_com.android.car.media"],
}

Android 12 y anteriores

Siempre que la aplicación admita la versión de la plataforma Android (consulte la tabla anterior), el APK se puede agregar a esa imagen del sistema. Sin embargo, la mayoría de las aplicaciones desagregadas tienen versiones anteriores del código fuente incluidas en plataformas inferiores a Android 13. De forma predeterminada, Soong da prioridad al código fuente sobre uno prediseñado. Por lo tanto, es necesario establecer el indicador prefer en true dentro de la regla android_app_import :

android_app_import {
    name: "CarDialerApp",
    apk: "CarDialerApp.apk",
    privileged: true,
    presigned: true, // Dialer can have its own signature
    required: ["allowed_privapp_com.android.car.dialer"],
    overrides: ["Dialer"],
    prefer: true, // The prebuilt replaces a source target with the same name,
    }

Aplicaciones enumeradas según el tipo desagregado

Aplicación Privilegiados desagregados desagregado
(No es necesario que esté en la partición del sistema)
Sistema firmado No firmado por el sistema
Calendario X
Dispositivo complementario X
marcador X
Anfitrión AOSP X
Medios de comunicación X
SMS X
Distribución de actualizaciones OTA OTA o Google Play OTA o Google Play