Este artigo descreve como integrar aplicativos desagregados. Os aplicativos que incluem Discador, Mídia, Biblioteca de IU do carro e SMS são considerados aplicativos desagrupados. Esses aplicativos são separados da plataforma Android e incluem a lógica para receber dados do aplicativo Companion do telefone e UX no lado do carro, incluindo configurações para associação e registro de recursos.
Os APKs criados a partir do código desagregado funcionam com várias versões da plataforma.
Confira o código
Para verificar o código desagregado:
- Execute o seguinte:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- Para saber mais sobre como trabalhar com código-fonte AOSP, consulte Inicializando um cliente de repositório .
Construir o código
Android Studio
Para compilar o código no Android Studio:
- No Android Studio, importe este arquivo de compilação:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- Certifique-se de definir o Gradle JDK no Android Studio para pelo menos a versão 11:

Figura 1. Versão 11 - Compile o APK (ou APKs) desejado.
Linha de comando
Para construir o código a partir da linha de comando:
- Defina o local do SDK do Android de uma destas duas maneiras:
- Crie
packages/apps/Car/libs/aaos-apps-gradle-project/local.propertiese então defina a propriedadesdk.dirque ela contém. O Android Studio pode fazer isso automaticamente ao abrir um projeto. Por exemplo, usesdk.dir=/Users/MY-USERNAME/Library/Android/sdk
ou, - Defina a variável de ambiente
ANDROID_SDK_ROOTcom o caminho para o Android SDK.
- Crie
- Abra um prompt de comando ou uma janela de shell.
- Vá para
packages/apps/Car/libs/unbundled-apps-gradle-project - Execute o seguinte comando:
./gradlew assemble
Níveis mínimos de API necessários
Cada aplicativo desagregado funciona em plataformas Android com uma versão igual ou superior à minSdkVersion . A tabela a seguir lista a versão mínima da API compatível com cada aplicativo:
| Aplicativo | Nível mínimo da API |
|---|---|
| Calendário | 29 |
| Biblioteca de interface do carro | 29 |
| Dispositivo Complementar | 29 |
| Discador | 31 |
| meios de comunicação | 30 |
| SMS | 30 |
| Host de aplicativos automotivos do Google | 29 |
Integrando uma pré-compilação em uma imagem do sistema
Imagens do Android 13 e superior
O código desagregado é removido da plataforma Android 13. Portanto, pode ser necessário adicionar APKs pré-criados em versões de plataforma para:
- Teste de conformidade CDD
- Provisionamento de aplicativos privilegiados
Isso é feito com a regra android_app_import Soong:
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 abaixo
Desde que a versão da plataforma Android seja compatível com o aplicativo (veja a tabela acima), o APK pode ser adicionado a essa imagem do sistema. No entanto, a maioria dos aplicativos desagrupados tem versões anteriores do código-fonte incluídas em plataformas anteriores ao Android 13. Por padrão, Soong dá prioridade ao código-fonte sobre um pré-criado. Portanto, é necessário definir o sinalizador prefer como true dentro da regra 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,
}
Aplicativos listados de acordo com o tipo desagregado
| Aplicativo | Privilegiado desagregado | Desagrupado (Não precisa estar na partição do sistema) | |
|---|---|---|---|
| Sistema assinado | Não assinado pelo sistema | ||
| Calendário | X | ||
| Dispositivo Complementar | X | ||
| Discador | X | ||
| Host de aplicativos automotivos do Google | X | ||
| meios de comunicação | X | ||
| SMS | X | ||
| Atualizar distribuição | OTA | OTA ou Play Store | OTA ou Play Store |