Le app che includono Telefono, Media, Libreria dell'interfaccia utente dell'auto e SMS sono considerate app non in bundle (ovvero non sono in bundle con la piattaforma Android). Queste app includono la logica per la ricezione dei dati dall'app complementare dello smartphone e l'esperienza utente sul lato dell'auto, incluse le impostazioni per l'associazione e la registrazione delle funzionalità. Gli APK costruiti da codice non pacchettizzato funzionano con diverse versioni della piattaforma.
Controlla il codice
Per controllare il codice non raggruppato, esegui quanto segue:
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, consulta Inizializza il RepoClient.
Compila il codice
Puoi compilare il codice utilizzando Android Studio o dalla riga di comando.
Android Studio
Per compilare il codice in Android Studio:
In Android Studio, importa il seguente file di build:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
Assicurati che la versione JDK di Gradle sia impostata su 11 o versioni successive:
Figura 1. Imposta Gradle JDK sulla versione 11 in Android Studio.
Riga di comando
Per compilare il codice dalla riga di comando:
Imposta la posizione dell'SDK Android utilizzando uno dei seguenti metodi:
Crea
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
e poi imposta la proprietàsdk.dir
in essa contenuta. Android Studio può eseguire questa operazione automaticamente quando apri un progetto. Ad esempio, usasdk.dir=/Users/MY-USERNAME/Library/Android/sdk
.o
Imposta la variabile di ambiente
ANDROID_SDK_ROOT
con il percorso dell'SDK Android.
Apri un prompt dei comandi o una finestra della shell.
Vai a
packages/apps/Car/libs/aaos-apps-gradle-project
.Esegui il seguente comando:
./gradlew assemble
Livelli API minimi richiesti
Ogni app sfusa funziona su piattaforme Android con una versione uguale o superiore alla sua minSdkVersion
. La tabella riportata di seguito elenca la versione API minima supportata da ogni app:
App | Livello API minimo |
---|---|
Calendar | 29 |
Libreria dell'interfaccia utente dell'auto | 29 |
CompanionDevice | 29 |
Telefono | 31 |
Contenuti multimediali | 30 |
Messenger (SMS) | 30 |
Host AOSP | 29 |
Integrare un prebuild in un'immagine di sistema
Se la versione della piattaforma Android è supportata dall'app (vedi la tabella nella sezione precedente), puoi aggiungere l'APK all'immagine di sistema. Tuttavia, i passaggi di integrazione sono diversi a seconda della versione della piattaforma Android.
Android 13 e versioni successive
Android 13 e versioni successive non includono il codice sorgente per le app scomposte, ma puoi includere un APK precompilato nella build della piattaforma per casi d'uso come i test di conformità ai CDD o il provisioning di app con privilegi. Per specificare l'APK, utilizza la
android_app_import
regola Soong, come mostrato nell'esempio seguente:
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
Android 12 e versioni precedenti includono il codice sorgente per le app non pacchettizzate, ma puoi comunque specificare un APK precompilato da includere. Poiché il valore predefinito di Soong è dare la precedenza al codice sorgente rispetto a un precompilato, è necessario impostare il flag prefer
su true
all'interno della regola android_app_import
, come mostrato nell'esempio seguente:
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
}
Dettagli delle app slegate
App/distribuzione | Sistema firmato con privilegi non raggruppati |
Con privilegi sganciati non firmato di sistema |
I pacchetti scorporati non devono essere nella partizione di sistema |
---|---|---|---|
App - Calendar | X | ||
App - CompanionDeviceSupport | X | ||
App - Telefono | X | ||
App - Host AOSP | X | ||
App - Contenuti multimediali | X | ||
App: Messenger (SMS) | X | ||
Aggiorna distribuzione | OTA | OTA o Google Play | OTA o Google Play |