Guía de integración

Este artículo describe cómo integrar aplicaciones desagregadas. Las aplicaciones que incluyen Dialer, Media, Car UI Library 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, incluida la configuración para la asociación y la 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 ver 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 Inicializar 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 en al menos la versión 11:

    Versión 11
    Figura 1. Versión 11
  3. Cree el APK deseado (o APK).

Línea de comando

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

  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, use 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/unbundled-apps-gradle-project
  4. Ejecute el siguiente comando:
    ./gradlew assemble

Niveles de 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 de coche 29
CompanionDevice 29
Marcador 31
Medios de comunicación 30
SMS 30
Alojamiento de aplicaciones de automoción de Google 29

Integración de una compilación previa en una imagen del sistema

Imágenes de Android 13 y superior

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

  • Pruebas de cumplimiento de CDD
  • 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 menos

Siempre que la versión de la plataforma Android sea compatible con la aplicación (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 anteriores 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 de 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 desagregado privilegiado desagregado
(No es necesario que esté en la partición del sistema)
Sistema firmado No firmado por el sistema
Calendario X
CompanionDevice X
Marcador X
Alojamiento de aplicaciones de automoción de Google X
Medios de comunicación X
SMS X
Actualizar distribución OTA OTA o Play Store OTA o Play Store