Na tej stronie opisano sposób integrowania uwolnionych aplikacji. Aplikacje zawierające Dialer, Media, Bibliotekę interfejsu samochodu i SMS-y są uważane za aplikacje rozdzielone. Aplikacje te są niezależne od platformy Android i obejmują logikę odbierania danych z aplikacji towarzyszącej telefonowi oraz UX po stronie samochodu, w tym ustawienia powiązania i rejestracji funkcji.
Pliki APK zbudowane na podstawie uwolnionego kodu działają z kilkoma wersjami platformy.
Sprawdź kod
Aby sprawdzić uwolniony kod:
- Uruchom następujące polecenie:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- Aby dowiedzieć się więcej o pracy z kodem źródłowym AOSP, zobacz Inicjowanie klienta repo .
Zbuduj kod
Studio Androida
Aby zbudować kod w Android Studio:
- W Android Studio zaimportuj ten plik kompilacji:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- Pamiętaj, aby ustawić Gradle JDK w Android Studio na co najmniej wersję 11:
Rysunek 1. Wersja 11. - Zbuduj żądane pliki APK.
Wiersz poleceń
Aby zbudować kod z wiersza poleceń:
- Ustaw lokalizację zestawu SDK systemu Android na jeden z dwóch sposobów:
- Utwórz
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
, a następnie ustaw zawartą w nim właściwośćsdk.dir
. Android Studio może to zrobić automatycznie podczas otwierania projektu. Na przykład użyjsdk.dir=/Users/MY-USERNAME/Library/Android/sdk
.
Lub - Ustaw zmienną środowiskową
ANDROID_SDK_ROOT
ścieżką do zestawu SDK systemu Android.
- Utwórz
- Otwórz wiersz poleceń lub okno powłoki.
- Przejdź do
packages/apps/Car/libs/aaos-apps-gradle-project
. - Uruchom następujące polecenie:
./gradlew assemble
Minimalne wymagane poziomy API
Każda uwolniona aplikacja działa na platformach Android w wersji równej lub większej niż jej minSdkVersion
. W poniższej tabeli wymieniono minimalną wersję interfejsu API obsługiwaną przez każdą aplikację:
Aplikacja | Minimalny poziom API |
---|---|
Kalendarz | 29 |
Biblioteka interfejsu użytkownika samochodu | 29 |
Urządzenie towarzyszące | 29 |
Dialer | 31 |
Głoska bezdźwięczna | 30 |
SMS-em | 30 |
Gospodarz AOSP | 29 |
Integracja wersji wstępnej z obrazem systemu
Obrazy Androida 13 i nowszych
Uwolniony kod został usunięty z platformy Android 13. Dlatego dodanie gotowych plików APK do kompilacji platformy może być wymagane w przypadku:
- Testowanie zgodności CDD
- Udostępnianie uprzywilejowanych aplikacji
Osiąga się to za pomocą reguły 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 i starsze
Jeśli aplikacja obsługuje wersję platformy Android (patrz tabela powyżej), plik APK można dodać do obrazu systemu. Jednak większość uwolnionych aplikacji ma poprzednie wersje kodu źródłowego zawarte na platformach niższych niż Android 13. Domyślnie Soong daje pierwszeństwo kodowi źródłowemu przed wstępnie skompilowanym. Dlatego konieczne jest ustawienie flagi prefer
na true
wewnątrz reguły 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, }
Aplikacje wymienione według typu rozłączonego
Aplikacja | Uprzywilejowane rozdzielone | Rozłączone (Nie musi znajdować się na partycji systemowej) | |
---|---|---|---|
System podpisany | Podpisany niesystemowo | ||
Kalendarz | X | ||
Urządzenie towarzyszące | X | ||
Dialer | X | ||
Gospodarz AOSP | X | ||
Głoska bezdźwięczna | X | ||
SMS-em | X | ||
Zaktualizuj dystrybucję | OTA | OTA lub Google Play | OTA lub Google Play |