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:
- Ejecuta lo siguiente:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- 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:
- En Android Studio, importa este archivo de compilación:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- Asegúrate de establecer el JDK de Gradle en Android Studio como mínimo en la versión 11:
Figura 1: Versión 11. - Compila los APKs deseados.
Línea de comandos
Para compilar el código desde la línea de comandos, haz lo siguiente:
- 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 propiedadsdk.dir
que contiene. Android Studio puede realizar esta acción automáticamente al abrir un proyecto. Por ejemplo, usasdk.dir=/Users/MY-USERNAME/Library/Android/sdk
o - Configura la variable de entorno
ANDROID_SDK_ROOT
con la ruta a la SDK de Android.
- Crea
- Abre un símbolo del sistema o una ventana de shell.
- Ve a
packages/apps/Car/libs/aaos-apps-gradle-project
. - 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 |