Cette page explique comment intégrer des applications dégroupées. Applications qui incluent Téléphone, Multimédia et Car UI Les applications Bibliothèque et SMS sont considérées comme des applications dégroupées. Ces applications sont dissociées de la plate-forme Android. et inclure la logique de réception des données de l'application d'accompagnement du téléphone et de l'expérience utilisateur côté voiture, y compris les paramètres d'association et d'enregistrement de fonctionnalités.
Les APK créés à partir du code non groupé fonctionnent avec plusieurs versions de la plate-forme.
Consulter le code
Pour obtenir le code dégroupé:
- Exécutez la commande suivante:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- Pour en savoir plus sur l'utilisation du code source AOSP, consultez Initialiser un client de dépôt
Compiler le code
Android Studio
Pour compiler le code dans Android Studio:
- Dans Android Studio, importez ce fichier de compilation:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- Veillez à définir le JDK Gradle dans Android Studio sur la version 11 au minimum:
Figure 1 : Version 11. - Compilez les APK souhaités.
Ligne de commande
Pour compiler le code à partir de la ligne de commande:
- Définissez l'emplacement du SDK Android de l'une des deux manières suivantes:
<ph type="x-smartling-placeholder">
- </ph>
- Créer
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
et puis définissez la propriétésdk.dir
qu'il contient. C'est possible avec Android Studio. automatiquement à l'ouverture d'un projet. Par exemple, utilisezsdk.dir=/Users/MY-USERNAME/Library/Android/sdk
ou - Définissez la variable d'environnement
ANDROID_SDK_ROOT
avec le chemin d'accès SDK Android.
- Créer
- Ouvrez une invite de commande ou une fenêtre de shell.
- Accédez à
packages/apps/Car/libs/aaos-apps-gradle-project
. - Exécutez la commande suivante:
./gradlew assemble
Niveaux d'API minimaux requis
Chaque application dégroupée fonctionne sur les plates-formes Android dont la version est supérieure ou égale à
minSdkVersion
Le tableau suivant indique la version minimale de l'API compatible avec chaque application:
Application | Niveau d'API minimal |
---|---|
Agenda | 29 |
Bibliothèque Car UI | 29 |
Appareil associé | 29 |
Téléphone | 31 |
Contenus multimédias | 30 |
SMS | 30 |
Hôte AOSP | 29 |
Intégrer une précompilation dans une image système
Images Android 13 ou version ultérieure
Le code dégroupé est supprimé de la plate-forme Android 13. Par conséquent, l'ajout d'APK prédéfinis aux builds de plate-forme peut être nécessaire pour:
- Tests de conformité avec le CDD
- Provisionner des applications privilégiées
Pour ce faire,
android_app_import
Règle 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 ou version antérieure
Si la version de la plate-forme Android est compatible avec l'application (voir le tableau ci-dessus), l'APK peut
à cette image système. Cependant, la plupart des applications dégroupées ont des versions précédentes du code source
incluses dans les plateformes
antérieures à Android 13. Par défaut, Soong donne
au code source par rapport à un code prédéfini. Il est donc nécessaire de définir
l'indicateur prefer
sur true
dans la règle 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, }
Applications répertoriées en fonction de leur type sans catégorie
Application | Privilégié sans catégorie | Dégroupé (ne doit pas nécessairement se trouver sur la partition système) |
|
---|---|---|---|
Signé par le système | Non signé par le système | ||
Agenda | X | ||
Appareil associé | X | ||
Téléphone | X | ||
Hôte AOSP | X | ||
Contenus multimédias | X | ||
SMS | X | ||
Mettre à jour la distribution | OTA | OTA ou Google Play | OTA ou Google Play |