Questa pagina illustra come integrare le app non raggruppate. App che includono Telefono, Contenuti multimediali, UI dell'auto Raccolta e SMS sono considerate app non raggruppate. Queste app non sono raggruppate dalla piattaforma Android e includere la logica per ricevere i dati dall'app complementare sullo smartphone e dall'esperienza utente sul lato dell'auto, incluse le impostazioni per l'associazione e la registrazione delle funzionalità.
Gli APK creati a partire dal codice non integrato funzionano con diverse versioni della piattaforma.
Controlla il codice
Per controllare il codice non in bundle:
- Esegui questo comando:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- Per scoprire di più sull'utilizzo del codice sorgente AOSP, vedi Inizializzazione di un client repository.
Crea il codice
Android Studio
Per creare il codice in Android Studio:
- In Android Studio, importa questo file di build:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- Assicurati di impostare il JDK di Gradle in Android Studio almeno sulla versione 11:
Figura 1. Versione 11. - Crea gli APK che vuoi.
Riga di comando
Per creare il codice dalla riga di comando:
- Imposta la posizione dell'SDK Android in uno dei due modi seguenti:
- Crea
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
e quindi imposta la proprietàsdk.dir
che contiene. Android Studio può farlo automaticamente all'apertura di un progetto. Ad esempio, utilizzasdk.dir=/Users/MY-USERNAME/Library/Android/sdk
.
o - Imposta la variabile di ambiente
ANDROID_SDK_ROOT
con il percorso di SDK Android.
- Crea
- Apri un prompt dei comandi o una finestra della shell.
- Vai a
packages/apps/Car/libs/aaos-apps-gradle-project
. - Esegui questo comando:
./gradlew assemble
Livelli API minimi richiesti
Ogni app non in bundle funziona su piattaforme Android con una versione uguale o superiore a quella della relativa app.
minSdkVersion
. Nella tabella seguente è indicata la versione API minima supportata da ogni app:
App | Livello API minimo |
---|---|
Calendar | 29 |
Raccolta di UI dell'auto | 29 |
Dispositivo complementare | 29 |
Telefono | 31 |
Contenuti multimediali | 30 |
SMS | 30 |
Host AOSP | 29 |
Integrazione di una build preliminare in un'immagine di sistema
Immagini Android 13 e versioni successive
Il codice non in bundle viene rimosso dalla piattaforma Android 13. Di conseguenza, potrebbe essere necessaria l'aggiunta di APK predefiniti alle build della piattaforma:
- Test di conformità CDD
- Provisioning di app con privilegi
Ciò si ottiene con
android_app_import
Regola Quickg:
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 e versioni precedenti
Se la versione della piattaforma Android è supportata dall'app (vedi tabella precedente), l'APK può
a quell'immagine di sistema. Tuttavia, la maggior parte delle app non in bundle ha versioni precedenti del codice sorgente
incluse nelle piattaforme precedenti ad Android 13. Per impostazione predefinita, Takeg fornisce
al codice sorgente rispetto a un modello predefinito. Pertanto, è necessario impostare
prefer
flag a true
all'interno della regola 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, }
App elencate per tipo non in bundle
App | Con privilegi non raggruppati | Non in bundle (Non deve essere presente nella partizione di sistema) |
|
---|---|---|---|
Sistema firmato | Non firmato dal sistema | ||
Calendar | X | ||
Dispositivo complementare | X | ||
Telefono | X | ||
Host AOSP | X | ||
Contenuti multimediali | X | ||
SMS | X | ||
Aggiorna distribuzione | OTA | OTA o Google Play | OTA o Google Play |