Z tego artykułu dowiesz się, jak integrować aplikacje bez pakietu. Aplikacje obejmujące Telefon, Multimedia, UI samochodu Biblioteka i SMS-y to aplikacje niepołączone z pakietem. Te aplikacje zostały odłączone od platformy Androida i uwzględniają funkcje odbierania danych z aplikacji towarzyszącej telefonu oraz UX po stronie samochodu; m.in. ustawienia powiązań i rejestracji funkcji.
Pliki APK utworzone na podstawie niepołączonego kodu współpracują z kilkoma wersjami platformy.
Sprawdź kod
Aby sprawdzić niepołączony kod:
- Uruchom to 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 repozytorium.
Kompilowanie kodu
Android Studio,
Aby utworzyć 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ć pakiet Gradle JDK w Android Studio na co najmniej w wersji 11:
Rysunek 1. Wersja 11. - Utwórz odpowiednie pliki APK.
Wiersz poleceń
Aby utworzyć kod z poziomu wiersza poleceń:
- Ustaw lokalizację pakietu Android SDK na jeden z tych sposobów:
- Utwórz
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
i a następnie ustaw jej właściwośćsdk.dir
. To umożliwia Android Studio automatycznie przy otwieraniu projektu. Na przykład użyj wartościsdk.dir=/Users/MY-USERNAME/Library/Android/sdk
lub - Ustaw zmienną środowiskową
ANDROID_SDK_ROOT
ze ścieżką do pliku SDK na Androida.
- Utwórz
- Otwórz wiersz polecenia lub okno powłoki.
- Otwórz:
packages/apps/Car/libs/aaos-apps-gradle-project
. - Uruchom to polecenie:
./gradlew assemble
Minimalne wymagane poziomy interfejsu API
Każda niepakowana aplikacja działa na platformach Androida w wersji co najmniej takiej jak
minSdkVersion
W tabeli poniżej znajdziesz minimalną wersję interfejsu API obsługiwaną przez każdą aplikację:
Aplikacja | Minimalny poziom interfejsu API |
---|---|
Kalendarz | 29 |
Biblioteka UI samochodu | 29 |
Urządzenie towarzyszące | 29 |
Dialer | 31 |
Multimedia | 30 |
SMS-y | 30 |
Host AOSP | 29 |
Integrowanie kompilacji wstępnej z obrazem systemu
Obrazy na Androidzie 13 i nowszych
Wyodrębniony kod jest usuwany z platformy Androida 13. Dlatego dodanie gotowych plików APK do kompilacji platformy może być wymagane w przypadku:
- Testowanie zgodności z CDD
- Udostępnianie aplikacji z podwyższonymi uprawnieniami
Jest to możliwe dzięki
android_app_import
Reguła dźwięku:
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 Androida (patrz tabela powyżej), plik APK może
który został dodany do obrazu systemu. Jednak większość tych aplikacji ma wcześniejsze wersje kodu źródłowego
dostępne na platformach starszych niż Android 13. Domyślnie funkcja Soong udostępnia
nad gotowym kodem źródłowym. Dlatego musisz ustawić atrybut
flaga prefer
do true
w regule 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 pogrupowane według typu niepołączonego pakietu
Aplikacja | Niegrupowane z podwyższonymi uprawnieniami | Niegrupowane (nie musi znajdować się na partycji systemowej) |
|
---|---|---|---|
Podpisano przez system | Podpis niepodpisany przez system | ||
Kalendarz | X | ||
Urządzenie towarzyszące | X | ||
Dialer | X | ||
Host AOSP | X | ||
Multimedia | X | ||
SMS-y | X | ||
Zaktualizuj ustawienia dystrybucji | Aktualizacje OTA | OTA lub Google Play | OTA lub Google Play |