Integrationsleitfaden

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:

  1. Führen Sie den folgenden Befehl aus:
    repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
    repo sync -cq -j4
    
  2. 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:

  1. Importieren Sie die folgende Build-Datei in Android Studio:
    packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
  2. Das Gradle JDK in Android Studio muss mindestens auf Version 11 festgelegt sein:


    Abbildung 1: Version 11
  3. Erstellen Sie die gewünschten APKs.

Befehlszeile

So erstellen Sie den Code über die Befehlszeile:

  1. 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 enthaltene sdk.dir-Eigenschaft fest. Android Studio kann das automatisch beim Öffnen eines Projekts. Verwenden Sie beispielsweise sdk.dir=/Users/MY-USERNAME/Library/Android/sdk

      oder
    • Legen Sie die Umgebungsvariable ANDROID_SDK_ROOT mit dem Pfad zum Android SDK
  2. Öffnen Sie eine Eingabeaufforderung oder ein Shell-Fenster.
  3. Geh zu packages/apps/Car/libs/aaos-apps-gradle-project.
  4. 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