Przewodnik po integracji

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:

  1. Uruchom to polecenie:
    repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
    repo sync -cq -j4
    
  2. 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:

  1. W Android Studio zaimportuj ten plik kompilacji:
    packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
  2. Pamiętaj, aby ustawić pakiet Gradle JDK w Android Studio na co najmniej w wersji 11:


    Rysunek 1. Wersja 11.
  3. Utwórz odpowiednie pliki APK.

Wiersz poleceń

Aby utworzyć kod z poziomu wiersza poleceń:

  1. 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ści sdk.dir=/Users/MY-USERNAME/Library/Android/sdk

      lub
    • Ustaw zmienną środowiskową ANDROID_SDK_ROOT ze ścieżką do pliku SDK na Androida.
  2. Otwórz wiersz polecenia lub okno powłoki.
  3. Otwórz: packages/apps/Car/libs/aaos-apps-gradle-project.
  4. 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