Esta página descreve como integrar aplicativos desagregados. Aplicativos que incluem Dialer, Media, Car UI Library e SMS são considerados aplicativos desagregados. Esses aplicativos são desagregados da plataforma Android e incluem a lógica para receber dados do aplicativo complementar do telefone e UX no lado do carro, incluindo configurações para associação e registro de recursos.
APKs criados a partir do código desagregado funcionam com diversas 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 .
Construa o código
Estúdio Android
Para construir 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. - Crie os APKs desejados.
Linha de comando
Para construir o código a partir da linha de comando:
- Defina a localização do Android SDK de uma destas duas maneiras:
- Crie
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
e defina a propriedadesdk.dir
que 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_ROOT
com o caminho para o Android SDK.
- Crie
- Abra um prompt de comando ou uma janela de shell.
- Vá para
packages/apps/Car/libs/aaos-apps-gradle-project
. - Execute o seguinte comando:
./gradlew assemble
Níveis mínimos de API exigidos
Cada aplicativo desagregado funciona em plataformas Android com uma versão igual ou superior à sua minSdkVersion
. A tabela a seguir lista a versão mínima da API compatível com cada aplicativo:
Aplicativo | Nível mínimo de API |
---|---|
Calendário | 29 |
Biblioteca de UI do carro | 29 |
Dispositivo complementar | 29 |
Discador | 31 |
meios de comunicação | 30 |
SMS | 30 |
Anfitrião AOSP | 29 |
Integrando uma pré-construção em uma imagem do sistema
Imagens do Android 13 e superior
O código desagregado foi removido da plataforma Android 13. Portanto, adicionar APKs pré-construídos em compilações de plataforma pode ser necessário para:
- Teste de conformidade CDD
- Provisionando aplicativos privilegiados
Isso é conseguido 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 inferior
Desde que a versão da plataforma Android seja suportada pelo aplicativo (veja tabela acima), o APK pode ser adicionado a essa imagem do sistema. No entanto, a maioria dos aplicativos desagregados tem versões anteriores do código-fonte incluídas em plataformas anteriores ao Android 13. Por padrão, Soong dá precedência ao código-fonte sobre um pré-construído. Portanto, é necessário definir a flag 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 | ||
Anfitrião AOSP | X | ||
meios de comunicação | X | ||
SMS | X | ||
Distribuição de atualização | OTA | OTA ou Google Play | OTA ou Google Play |