Guía de integración

En esta página, se describe cómo integrar apps sin empaquetar. Apps que incluyen Teléfono, IU del vehículo y contenido multimedia Biblioteca y SMS se consideran apps sin empaquetar. Estas apps no están agrupadas en la plataforma de Android e incluir la lógica para recibir datos de la aplicación complementaria del teléfono y la UX del lado del vehículo. incluida la configuración para la asociación y la inscripción de funciones.

Los APK compilados a partir del código sin agrupar funcionan con varias versiones de la plataforma.

Consulta el código

Para consultar el código sin empaquetar, haz lo siguiente:

  1. Ejecuta lo siguiente:
    repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
    repo sync -cq -j4
    
  2. Si quieres obtener más información para trabajar con el código fuente del AOSP, consulta lo siguiente: Cómo inicializar un cliente de Repo

Cómo compilar el código

Android Studio

Para compilar el código en Android Studio, haz lo siguiente:

  1. En Android Studio, importa este archivo de compilación:
    packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
  2. Asegúrate de establecer el JDK de Gradle en Android Studio como mínimo en la versión 11:


    Figura 1: Versión 11.
  3. Compila los APKs deseados.

Línea de comandos

Para compilar el código desde la línea de comandos, haz lo siguiente:

  1. Configura la ubicación del SDK de Android de una de estas dos maneras:
    • Crea packages/apps/Car/libs/aaos-apps-gradle-project/local.properties y Luego, configura la propiedad sdk.dir que contiene. Android Studio puede realizar esta acción automáticamente al abrir un proyecto. Por ejemplo, usa sdk.dir=/Users/MY-USERNAME/Library/Android/sdk

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

Niveles de API mínimos requeridos

Cada app sin agrupar funciona en plataformas Android con una versión igual o superior a su minSdkVersion En la siguiente tabla, se muestra la versión mínima de la API que admite cada app:

App Nivel mínimo de API
Calendario 29
Biblioteca de IU del vehículo 29
CompanionDevice 29
Dialer 31
Contenido multimedia 30
SMS 30
Host de AOSP 29

Integra una compilación previa a una imagen del sistema

Imágenes de Android 13 y versiones posteriores

El código sin empaquetar se quita de la plataforma de Android 13. Por lo tanto, puede ser necesario agregar APKs previamente compilados a las compilaciones de la plataforma para lo siguiente:

  • Pruebas de cumplimiento de CDD
  • Aprovisionamiento de apps con privilegios

Esto se logra con el android_app_import Regla de 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 versiones anteriores

Siempre que la versión de la plataforma de Android sea compatible con la app (consulta la tabla anterior), el APK puede a esa imagen del sistema. Sin embargo, la mayoría de las apps sin agrupar tienen versiones anteriores del código fuente. Se incluyen en plataformas anteriores a Android 13. De forma predeterminada, Soong ofrece prioridad al código fuente sobre una compilación previa. Por lo tanto, es necesario establecer Marca 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,
    }

Apps enumeradas según el tipo sin agrupar

App Privilegiado sin agrupar Sin agrupar
(no necesita estar en una partición del sistema)
Firma por el sistema Firma no realizada por el sistema
Calendario X
CompanionDevice X
Dialer X
Host de AOSP X
Contenido multimedia X
SMS X
Actualizar distribución OTA OTA o Google Play OTA o Google Play