Przewodnik po integracji

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:

  1. Uruchom następujące 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 repo .

Zbuduj kod

Studio Androida

Aby zbudować 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ć Gradle JDK w Android Studio na co najmniej wersję 11:


    Rysunek 1. Wersja 11.
  3. Zbuduj żądane pliki APK.

Wiersz poleceń

Aby zbudować kod z wiersza poleceń:

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

      Lub
    • Ustaw zmienną środowiskową ANDROID_SDK_ROOT ścieżką do zestawu SDK systemu Android.
  2. Otwórz wiersz poleceń lub okno powłoki.
  3. Przejdź do packages/apps/Car/libs/aaos-apps-gradle-project .
  4. 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