Esta página descreve como integrar apps desagrupados. Apps que incluem Telefone, Mídia e interface do carro e SMS são considerados apps desagrupados. Esses apps são desagrupados da Plataforma Android e incluir a lógica para receber dados do app complementar do smartphone e UX no lado do carro, incluindo configurações de associação e inscrição em recursos.
Os APKs criados com base no código desagrupado funcionam com várias versões da plataforma.
Conferir o código
Para conferir o código desagrupado:
- Execute o comando a seguir:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- Para saber mais sobre como trabalhar com o código-fonte do AOSP, consulte Como inicializar um cliente do Repo.
Criar o código
Android Studio
Para criar o código no Android Studio:
- No Android Studio, importe este arquivo de build:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- Defina o Gradle JDK no Android Studio como pelo menos a versão 11:
Figura 1. Versão 11. - Crie os APKs desejados.
Linha de comando
Para criar o código na linha de comando:
- Defina o local do SDK do Android de uma destas duas maneiras:
- Criar
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
e e defina a propriedadesdk.dir
que ele 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 SDK do Android.
- Criar
- Abra um prompt de comando ou uma janela do 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 a
minSdkVersion
: A tabela abaixo lista a versão mínima da API com suporte em cada app:
App | Nível mínimo da API |
---|---|
Agenda | 29 |
Biblioteca de interface do carro | 29 |
CompanionDevice | 29 |
Telefone | 31 |
Mídia | 30 |
SMS | 30 |
Host do AOSP | 29 |
Como integrar um pré-build a uma imagem do sistema
Imagens do Android 13 e mais recentes
O código desagrupado será removido da plataforma Android 13. Portanto, a adição de APKs pré-criados a builds de plataforma pode ser necessário para:
- Teste de conformidade do CDD
- Provisionamento de apps privilegiados
Isso é conseguido com o
android_app_import
Regra 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 versões anteriores
Contanto que a versão da plataforma Android seja compatível com o app (consulte a tabela acima), o APK poderá
ser adicionado a essa imagem do sistema. No entanto, a maioria dos apps desagrupados tem versões anteriores do código-fonte
incluídos em plataformas anteriores ao Android 13. Por padrão, o Soong oferece
precedência ao código-fonte em relação a um pré-criado. Portanto, é necessário definir
Sinalização prefer
para 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, }
Apps listados de acordo com o tipo desagrupado
App | Desagrupados privilegiados | Desagrupado (não precisa estar na partição do sistema) |
|
---|---|---|---|
Assinatura do sistema | Assinatura que não é do sistema | ||
Agenda | X | ||
CompanionDevice | X | ||
Telefone | X | ||
Host do AOSP | X | ||
Mídia | X | ||
SMS | X | ||
Atualizar distribuição | OTA | OTA ou Google Play | OTA ou Google Play |