Os apps que incluem discador, mídia, biblioteca Car UI e SMS são considerados apps separados (ou seja, separados da plataforma Android). Esses apps incluem a lógica para receber dados do app complementar para smartphone e a UX no carro, incluindo configurações de associação e inscrição em recursos. Os APKs criados com código não agrupado funcionam com várias versões da plataforma.
Conferir o código
Para conferir o código não agrupado, execute o seguinte:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-masterrepo sync -cq -j4
Para saber mais sobre como trabalhar com o código-fonte do AOSP, consulte Inicializar o cliente Repo.
Criar o código
É possível criar o código usando o Android Studio ou na linha de comando.
Android Studio
Para criar o código no Android Studio:
- No Android Studio, importe o seguinte arquivo de build: - packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- Verifique se o JDK do Gradle está definido como a versão 11 ou mais recente:   - Figura 1. Defina o Gradle JDK como a versão 11 no Android Studio. 
Linha de comando
Para criar o código na linha de comando:
- Defina o local do SDK do Android usando um dos seguintes métodos: - Crie - packages/apps/Car/libs/aaos-apps-gradle-project/local.propertiese defina a propriedade- sdk.dirque ele contém. O Android Studio pode fazer isso automaticamente ao abrir um projeto. Por exemplo, use- sdk.dir=/Users/MY-USERNAME/Library/Android/sdk.- ou 
- Defina a variável de ambiente - ANDROID_SDK_ROOTcom o caminho para o SDK do Android.
 
- Abra um prompt de comando ou uma janela de shell. 
- Acesse - packages/apps/Car/libs/aaos-apps-gradle-project.
- Execute este comando: - ./gradlew assemble
Níveis mínimos de API necessários
Cada app desagrupado funciona em plataformas Android com uma versão igual ou maior
que o
minSdkVersion. A
tabela a seguir lista a versão mínima da API compatível com cada app:
| App | Nível mínimo da API | 
|---|---|
| Agenda | 29 | 
| Biblioteca da interface do carro | 29 | 
| CompanionDevice | 29 | 
| Telefone | 31 | 
| Mídia | 30 | 
| Messenger (SMS) | 30 | 
| Host AOSP | 29 | 
Integrar um pré-build a uma imagem do sistema
Se a versão da plataforma Android for compatível com o app (consulte a tabela na seção anterior), adicione o APK à imagem do sistema. No entanto, as etapas de integração variam entre as versões da plataforma Android.
Android 13 e versões mais recentes
O Android 13 e versões mais recentes não incluem código-fonte para apps não agrupados, mas você
pode incluir um APK pré-criado na build da plataforma para casos de uso como testes de conformidade
do CDD ou provisionamento de apps privilegiados. Para especificar o APK, use a regra
android_app_import
do Soong, conforme mostrado no exemplo a seguir:
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 versões anteriores
O Android 12 e versões anteriores incluem código-fonte para apps não agrupados, mas você ainda pode
especificar um APK pré-criado para incluir. Como o padrão do Soong é dar
precedência ao código-fonte em vez de um pré-criado, é necessário definir a flag
prefer como true dentro da regra android_app_import, conforme mostrado no
exemplo a seguir:
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
    }
Detalhes de apps não agrupados
| App/Distribution | Privilegiado não agrupado sistema assinado | Privilegiado não agrupado não sistema assinado | Os não precisam estar na partição do sistema | 
|---|---|---|---|
| App: Agenda | X | ||
| App - CompanionDeviceSupport | X | ||
| App - Discador | X | ||
| App: host AOSP | X | ||
| App - Mídia | X | ||
| App - Messenger (SMS) | X | ||
| Atualizar distribuição | OTA | OTA ou Google Play | OTA ou Google Play | 
