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:
- Ejecute lo siguiente:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- 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:
- En Android Studio, importe este archivo de compilación:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- Asegúrese de configurar Gradle JDK en Android Studio en al menos la versión 11:
- Cree el APK deseado (o APK).
Línea de comando
Para compilar el código desde la línea de comandos:
- 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 propiedadsdk.dir
que contiene. Android Studio puede hacer esto automáticamente al abrir un proyecto. Por ejemplo, usesdk.dir=/Users/MY-USERNAME/Library/Android/sdk
o, - Configure la variable de entorno
ANDROID_SDK_ROOT
con la ruta al SDK de Android.
- Cree
- Abra un símbolo del sistema o una ventana de shell.
- Vaya a
packages/apps/Car/libs/unbundled-apps-gradle-project
- 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 |