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:
- 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.properties
e então 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/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 |