Auf dieser Seite wird beschrieben, wie entbündelte Apps integriert werden. Apps, die Telefon, Medien, Auto-UI enthalten Bibliothek und SMS gelten als entbündelte Apps. Diese Apps werden von der Android-Plattform entbündelt. und die Logik für den Empfang von Daten von der Smartphone-Begleit-App und die UX auf der Autoseite, einschließlich Einstellungen für Verknüpfung und Funktionsregistrierung.
APKs, die aus dem nicht gebündelten Code erstellt wurden, sind mit mehreren Versionen der Plattform kompatibel.
Code ansehen
So rufen Sie den entbündelten Code auf:
- Führen Sie den folgenden Befehl aus:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- Weitere Informationen zur Arbeit mit dem AOSP-Quellcode finden Sie unter Repository-Client initialisieren
Code erstellen
Android Studio
So erstellen Sie den Code in Android Studio:
- Importieren Sie die folgende Build-Datei in Android Studio:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- Das Gradle JDK in Android Studio muss mindestens auf Version 11 festgelegt sein:
Abbildung 1: Version 11 - Erstellen Sie die gewünschten APKs.
Befehlszeile
So erstellen Sie den Code über die Befehlszeile:
- Sie haben zwei Möglichkeiten, den Speicherort des Android SDK festzulegen:
<ph type="x-smartling-placeholder">
- </ph>
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
und und lege dann die darin enthaltenesdk.dir
-Eigenschaft fest. Android Studio kann das automatisch beim Öffnen eines Projekts. Verwenden Sie beispielsweisesdk.dir=/Users/MY-USERNAME/Library/Android/sdk
oder- Legen Sie die Umgebungsvariable
ANDROID_SDK_ROOT
mit dem Pfad zum Android SDK
- Öffnen Sie eine Eingabeaufforderung oder ein Shell-Fenster.
- Geh zu
packages/apps/Car/libs/aaos-apps-gradle-project
. - Führen Sie den folgenden Befehl aus:
./gradlew assemble
Erforderliche Mindest-API-Levels
Jede nicht gebündelte App funktioniert auf Android-Plattformen, deren Version mindestens
minSdkVersion
In der folgenden Tabelle ist die von jeder Anwendung unterstützte Mindest-API-Version aufgeführt:
App | Mindest-API-Level |
---|---|
Kalender | 29 |
Auto-UI-Bibliothek | 29 |
Begleitgerät | 29 |
Telefon | 31 |
Medien | 30 |
SMS | 30 |
AOSP-Host | 29 |
Prebuild in ein System-Image einbinden
Bilder für Android 13 und höher
Der entbündelte Code wird von der Android 13-Plattform entfernt. Daher ist das Hinzufügen vorgefertigter APKs zu Plattform-Builds möglicherweise für Folgendes erforderlich:
- CDD-Compliance-Tests
- Privilegierte Apps bereitstellen
Dies wird mit der
android_app_import
Songregel:
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 und niedriger
Solange die Android-Plattformversion von der App unterstützt wird (siehe Tabelle oben), kann das APK
System-Image hinzugefügt werden. Die meisten entbündelten Apps verfügen jedoch über ältere Versionen des Quellcodes.
auf Plattformen unter Android 13. Standardmäßig gibt Soong
dem Quellcode Vorrang vor
einem vordefinierten Wert gewährt. Daher ist es notwendig, den Parameter
Das Flag prefer
für true
innerhalb der Regel 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 nach entbündeltem Typ aufgelistet
App | Privilegiert entbündelt | Entbündelt (muss sich nicht auf der Systempartition befinden) |
|
---|---|---|---|
Vom System signiert | Nicht vom System signiert | ||
Kalender | X | ||
Begleitgerät | X | ||
Telefon | X | ||
AOSP-Host | X | ||
Medien | X | ||
SMS | X | ||
Verteilung aktualisieren | OTA | Onlinereisebüro oder Google Play | Onlinereisebüro oder Google Play |