Aplikacja samochodu

Tworzenie aplikacji opartych na szablonach na systemy operacyjne Android Auto i Android Automotive.
Najnowsza aktualizacja Wersja stabilna Kandydat do wydania Wersja Beta Wydanie alfa
26 czerwca 2024 r. 1.4.0 - 1.7.0-beta01 -

Deklarowanie zależności

Aby dodać zależność do biblioteki aplikacji samochodu, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.

W pliku build.gradle aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:

Odlotowy

dependencies {
    implementation "androidx.car.app:app:1.4.0"

    // For Android Auto specific functionality
    implementation "androidx.car.app:app-projected:1.4.0"

    // For Android Automotive specific functionality
    implementation "androidx.car.app:app-automotive:1.4.0"

    // For testing
    testImplementation "androidx.car.app:app-testing:1.4.0"
}

Kotlin

dependencies {
    implementation("androidx.car.app:app:1.4.0")

    // For Android Auto specific functionality
    implementation("androidx.car.app:app-projected:1.4.0")

    // For Android Automotive specific functionality
    implementation("androidx.car.app:app-automotive:1.4.0")

    // For testing
    testImplementation("androidx.car.app:app-testing:1.4.0")
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj istniejące problemy w tej bibliotece. Możesz oddać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Tworzenie nowego numeru

Więcej informacji znajdziesz w dokumentacji narzędzia do śledzenia problemów.

Wersja 1.7

Wersja 1.7.0-beta01

26 czerwca 2024 r.

Usługa androidx.car.app:app-*:1.7.0-beta01 została zwolniona. Wersja 1.7.0-beta01 zawiera te zatwierdzenia. Funkcje są takie same jak w wersji alfa01. Poniżej znajdują się powtórzenia:

Nowe funkcje

  • Mapa z zawartością: nowy szablon – obszar roboczy mapy i szablon treści, którym obecnie może być Lista / Siatka / Panel / Wiadomość.
    • Wycofano reguły RoutePreview, PlaceListNavigation i MapTemplate. Szablony będą działać bez zmian.
    • Przykładowe aplikacje zostały zaktualizowane, tak aby wyświetlały MapWithContentużycie zamiast wycofanych szablonów
  • Element rozmowy: nowe interfejsy API do wyświetlania rozmów (komunikatorów i SMS-ów) oraz odczytu danych z Asystenta w samochodzie.
  • Wymiary pojazdu: nowy interfejs API do pobierania danych o pomiarach pojazdów (obecnie dane z AAOS).

Zmiany interfejsu API

  • Dodaj tag @ExperimentalCarApi do witryny MediaPlaybackTemplate.Builder. (IC1957).
  • Dodaje nową funkcję SectionedItemTemplate w wersji eksperymentalnej. (I5958a)
  • Poznaj CarAppApiLevel 8 (I3fa22)
  • Dodaje MediaPlaybackTemplate do wyświetlania treści podczas odtwarzania multimediów w bibliotece aplikacji w samochodzie. (I3c10D).
  • Dodano nowy interfejs API dla aplikacji wykrywający, czy system obsługuje dźwięk w tle podczas jazdy (I0f868).

Poprawki błędów

  • Naprawia niektóre wystąpienia wycieków i awarii pamięci w kodzie klienta CAL oraz w przykładowej aplikacji CAL Navigation Sample (I55e04).
  • Aby uniknąć awarii, zastąp requireNotNull instances w metodzie onDestroy w narzędziu BaseCarAppActivity testami typu „if-null”. (Iec676).

Wersja 1.7.0-alpha02

17 kwietnia 2024 r.

Usługa androidx.car.app:app-*:1.7.0-alpha02 została zwolniona. Wersja 1.7.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy wycofane flagi do szablonów opartych na mapie, które będą używane w przypadku szablonów MapWithContent.

Zmiany interfejsu API

  • Wycofanie starszych wersji usług MapTemplate, RoutePreviewNavigationTemplate, PlaceListNavigationTemplate i zachęcenie do korzystania z nowych MapWithContentTemplate (Ib0a08)

Wersja 1.7.0-alpha01

3 kwietnia 2024 r.

Usługa androidx.car.app:app-*:1.7.0-alpha01 została zwolniona. Przenieśliśmy schemat obsługi wersji biblioteki, aby pasował do aktywnej wersji CarApi. Dzięki temu chcemy uniknąć nieporozumień związanych ze schematem nazewnictwa na podstawie opinii deweloperów. Z tego powodu pominiemy wersje 1.5 / 1.6, które są bezpośrednio przenoszone do wersji 1.7 1.7.0-alfa01, która zawiera te zatwierdzenia.

Nowe funkcje

  • Mapa z zawartością: nowy szablon o nazwie MapWithContent, który obsługuje listy, siatkę, panele i wiadomości jako zawartość w mapie.
    • RoutePreview, PlaceListNavigation, szablony map zostały wycofane.
    • Przykładowe aplikacje zostały zaktualizowane, aby pokazać, jak działają wycofane szablony za pomocą interfejsu MapWithContent.
  • Element rozmowy: nowe interfejsy API do wyświetlania rozmów (komunikatorów i SMS-ów) oraz odczytu danych z Asystenta w samochodzie.
  • Vehicle Dimensions (Wymiary pojazdu): nowy interfejs API do pobierania danych o pomiarach dotyczących pojazdów (obecnie dane z AAOS).

Zmiany interfejsu API

  • Oznacz bardzo mały typ obrazu wiersza jako eksperymentalny (I5184b)
  • Dodano interfejs API CarInfo#fetchExteriorDimensions, który umożliwia dostęp do informacji o zewnętrznych wymiarach pojazdu, takich jak wysokość, szerokość itp. (Ia40c5)
  • Usunięto tag ExperimentalAPI z MapWithContentTemplate (I66db8)
  • Zaktualizuj parametr GridItem#setTitle, tak aby mógł mieć wartość null. (I3d610)
  • GetHeader API nie wymaga API 7, ponieważ jest zgodny wstecznie (I8c812)
  • Dodanie obsługi Header w ListTemplate, wycofanie headerAction, headerTitle, actionStrip (I7ae01)
  • Zrezygnuj z pakietów title, headerAction i actionStrip w usłudze GridTemplate i dodaj obsługę Header (I41a9c)
  • Usuń wymaganie na poziomie 7 dla eksperymentalnych interfejsów API: plakietka, GridTemplate rozmiar elementu i kształt obrazu (pobierz)/setters; GridItemmetody uzyskiwania/ustawiania plakietki. (Id71eb).
  • Wycofanie: title, headerAction, actionStrip w: PaneTemplate, dodanie nowej obsługi Header (I23154)
  • Zmieniono dane telemetryczne Centrum multimediów z BroadcastReceiver na działanie niestandardowe związane z przeglądaniem. (I4185f)
  • Dodano obsługę atrybutu Header w MessageTemplate. Wycofano obsługę tych zasad: ActionStrip, headerAction i title. (IE2de8).
  • Zmień stałą widoczność alertów (Icf8a8)
  • Usuń atrybut isLoading z szablonu nadrzędnego (I651e6)
  • Dodaj dodatki informujące aplikacje do multimediów o głównych parametrach interfejsu (I85ca2)
  • Dodawanie funkcji analitycznej centrum mediów do MediaExtensions (I7ce28)
  • Dodano opcję obsługi bardzo małego obrazu w wierszach. (I72c03).

Poprawki błędów

  • Zaktualizuj dokument javadoc w systemie ConversationItem, aby określić, że wiadomości powinny być sortowane w kolejności od najstarszego do najnowszego. (I77a2a)
  • Zaktualizuj logikę przycinania ListTemplate, aby usunąć najstarsze wiadomości z ConversationItem (Ie0a61)

Wersja 1.4

Wersja 1.4.0

29 maja 2024 r.

Usługa androidx.car.app:app-*:1.4.0 została zwolniona. Wersja 1.4.0 promuje wersję 1.4.0-rc02.

Ważne zmiany wprowadzone od wersji 1.3.0

  • Renderowanie mapy klastra w przypadku aplikacji do nawigacji
  • Szablon nowej karty zwiększającej wygodę obsługi i układ aplikacji
  • Obsługa adaptacyjnych limitów zadań
  • Dodatkowe działania na elementach listy

Wersja 1.4.0-rc02

13 grudnia 2023 r.

Usługa androidx.car.app:app-*:1.4.0-rc02 została zwolniona. Wersja 1.4.0-rc02 zawiera te zatwierdzenia. Tylko drobne poprawki

Poprawki błędów

  • Zaktualizuj plik javadoc w ConversationItem, aby określić, że wiadomości powinny być sortowane w kolejności od najstarszego do najnowszego (I77a2a)
  • Zaktualizuj logikę przycinania ListTemplate, aby usunąć najstarsze wiadomości z ConversationItem (Ie0a61)

Wersja 1.4.0-rc01

1 listopada 2023 roku

Wersja androidx.car.app:app-*:1.4.0-rc01 została udostępniona bez istotnych zmian. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.

Wersja 1.4.0-beta02

20 września 2023 r.

Usługa androidx.car.app:app-*:1.4.0-beta02 została zwolniona. Wersja 1.4.0-beta02 zawiera te zatwierdzenia. Jest to niemal identyczne jak w wersji beta01, ale zmniejsza wymaganie compileSdk do 33.

Poprawki błędów

  • Naprawiono błąd polegający na tym, że ekrany wczytywania na kartach nie były prawidłowo wyświetlane. (CAE860).

Wersja 1.4.0-beta01

9 sierpnia 2023 r.

Usługa androidx.car.app:app-*:1.4.0-beta01 została zwolniona. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.

Uwaga: wersja 1.4-beta01 wymaga narzędzia buildSdk34, który wciąż znajduje się w fazie dla programistów. 1.4-beta02 rozwiąże ten problem. Możesz też dodać android.suppressUnsupportedCompileSdk=34 do pliku settings.gradle projektu, aby bezpiecznie tymczasowo wyłączyć ostrzeżenie.

Nowe funkcje

Zmiany interfejsu API

  • Zobacz wersję alfa 02

Wersja 1.4.0-alpha02

26 lipca 2023 r.

Usługa androidx.car.app:app-*:1.4.0-alpha02 została zwolniona. Wersja 1.4.0-alfa02 zawiera te zatwierdzenia.

  • Wydanie wersji Alpha02 ma być przygotowaniem do nadchodzącej wersji beta01.

Nowe funkcje

  • Renderowanie mapy w klastrze przyrządów w przypadku aplikacji do nawigacji
  • Dodano karty aplikacji poprawiające działanie układu
  • Dodano opcje renderowania szablonów list i siatki
  • Dodaliśmy nowe kategorie Pogoda i Komunikacja
  • Przeniesienie kilku interfejsów API do następnej wersji CarApi 7

Zmiany interfejsu API

  • Dodawanie pól multimedialnych do aplikacji CarMessage (I5aaf6)
  • Dodaje niestandardowe działania do aplikacji ConversationItem w bibliotece aplikacji samochodowych (Ie5ed6)
  • Dodaj dodatki wskazujące, że element multimedialny jest odtwarzany w angażowym formacie audio, i pokazuje logo formatu treści (Icb5bb)
  • Dodano nowy typ działania – interfejs API ActionsConstraints, aby umożliwić obsługę przycisku tworzenia wiadomości. (I31661)
  • Wykonano set/getTemplate jako set/get ContentTemplate (Ica036)
  • Parametr szablonu ma teraz postać @NonNull. Zaktualizowano dokumentację interfejsu API MapWithContentTemplate (I0f8ed)
  • Usunięcie tagu @ExperimentalCarApi działań w ListTemplate na potrzeby uruchomienia w CAL 1.4 (I2cfcb)
  • Usuwa tag @ExperimentalCarApi dla witryny TabTemplate (Ifcb82)
  • Usuń adnotacje @ExperimentalCarApi z działań dodatkowych i dekoracji w wierszu (I8487e)
  • Dodaje identyfikator treści aktywnej karty do TabTemplate i wycofuje stan aktywności kart (I96932)
  • Dodaj usługę ItemImageShape do kampanii GridTemplate (Ibf431)
  • Dodaj do pola GridTemplate właściwość ItemSize, która steruje rozmiarem elementów siatki według względnych małych, średnich i dużych zasobników. (Icdb3b).
  • Udostępnij deweloperom dostęp do interfejsu API, aby uzyskać kopię obecnego stosu ekranów. (I48107)
  • Dodaje kategorię aplikacji pogodowych do biblioteki aplikacji w samochodzie (I2be44)
  • Dodaje kategorię aplikacji do połączeń do biblioteki aplikacji w samochodzie (Icab33)
  • Zastąpiono metodę GridItem.Builder#setBadge() przeciążonymi metodami setImage() (Id2000)
  • Dodawanie właściwości ikony do logo (I629b2)
  • Dodaj metodę ustawiania koloru tła plakietki (I6411c)
  • Dodaj właściwość plakietki do kategorii GridItem, aby umożliwić wyświetlanie plakietki nad obrazami GridItem. (I95de7)
  • Dodano eksperymentalny obiekt plakietki, który będzie reprezentować plakietkę wyświetlaną na obrazie. (I9878D)

Wersja 1.4.0-alpha01

22 lutego 2023 roku

Usługa androidx.car.app:app-*:1.4.0-alpha01 została zwolniona. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaje działania najwyższego poziomu do aplikacji GridTemplate w bibliotece aplikacji samochodowych (Id0191)
  • Dodaje działania najwyższego poziomu do aplikacji ListTemplate w bibliotece aplikacji samochodowych (I9efab)
  • Dodaj dodatki, aby połączyć podtytuł lub opis elementu multimedialnego z innymi elementami multimedialnymi (Ic84bf)
  • Zaktualizuj poziom API działań dotyczących wiersza na poziom 6. (IE0A69)
  • Dodawanie połączeń zwrotnych w ramach wiadomości do A4C (Ie3986)

Poprawki błędów

  • Dodaj brakujące odwołania do dokumentacji Java dla CarMessage. (I5db1c).
  • Zastąp equals() i hashCode() dla ConversationItem i CarMessage (I6fd10)
  • Popraw weryfikację pola ConversationItem.mMessages (wymaga wartości niepustej, wartości niepustej (Iafc51)
  • Dodawanie adnotacji @Keep do pól ConversationItem (I5d250)
  • Zaktualizuj dokumentację Java dotyczącą dekoracji wierszy i działań dodatkowych. (I000B6)

Wersja 1.3

Wersja 1.3.0-rc01

7 grudnia 2022 r.

Usługa androidx.car.app:app-*:1.3.0-rc01 została zwolniona. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.

  • Naprawiono drobne błędy z wersji beta01. Brak większych zmian.

Wersja 1.3.0-beta01

7 września 2022 roku

Udostępniono androidx.car.app:app:1.3.0-beta01, androidx.car.app:app-projected:1.3.0-beta01, androidx.car.app:app-automotive:1.3.0-beta01 i androidx.car.app:app-testing:1.3.0-beta01. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Nowe funkcje

Oprócz możliwości dodanych do Biblioteki aplikacji samochodowych w wersji 1.3.0-alfa01 dodaliśmy te funkcje w ramach wersji beta 01 (wszystkie funkcje są tu wprowadzane tylko ze zmianami po stronie hosta bez żadnych zmian w interfejsie API):

  • Pływający pasek nawigacyjny będzie nadal wyświetlany nawet wtedy, gdy użytkownik znajduje się na ekranie wyboru na podstawie mapy w usługach PlaceListNavigationTemplate, RoutePreviewNavigationTemplate i MapTemplate. Możesz to zrobić, aktualizując informacje nawigacyjne w narzędziu NavigationManager.updateTrip().
  • Włącz przycisk polecenia FLAG_DEFAULT, aby utworzyć animację z limitem czasu. Ten przycisk będzie klikany domyślnie po upływie limitu czasu. ([API 5 - All Templates])
  • Tekst Rows nie jest obcinany, gdy samochód jest zaparkowany, ale obcinany do 2 wierszy podczas jazdy. ([API 5 - All Templates])
  • Stan wyłączenia pomocy dla: Action, Toggle, Row ([API 5 - All Templates])

Zmiany interfejsu API

  • Rozszerz ograniczenia na liście MapTemplate, aby obsługiwać listy, które można wybrać (I961ed)
  • Usuń ograniczenie dotyczące działań związanych z nagłówkiem, aby umożliwić stosowanie ikon niestandardowych. (Iad28f).
  • Dodaj ograniczenie setOnClickListenerAllowed() do zakresu ActionsConstraints. Tam, gdzie Action może ustawić OnClickDelegate() na działania z wyjątkiem ikon standardowych. (TYPE_APP_ICON, TYPE_BACK i TYPE_PAN) (I3c745)

Poprawki błędów

Wersja 1.3.0-alpha01

27 lipca 2022 roku

Udostępniono androidx.car.app:app:1.3.0-alpha01, androidx.car.app:app-projected:1.3.0-alpha01, androidx.car.app:app-automotive:1.3.0-alpha01 i androidx.car.app:app-testing:1.3.0-alpha01. Wersja 1.3.0-alfa01 zawiera te zatwierdzenia.

Funkcje opisane za pomocą interfejsu API poziomu 5 są zgodne z Androidem Auto 7.9 i nowszymi.

Nowe funkcje

  • Poziom interfejsu API 5: nowy MapTemplate, którego aplikacje do nawigacji mogą używać do wyświetlania panelu lub listy treści wraz z mapą (If5826, If44b8)
  • API poziomu 5: nowy interfejs API CarAudioRecord umożliwiający nagrywanie dźwięku z mikrofonu pojazdu hosta (I5e71a)
  • API poziomu 5: nowy interfejs API SuggestionManager umożliwiający aplikacjom przekazywanie sugestii do hosta (I5c103)
  • Poziom 5: nowy interfejs API Alert do wyświetlania w powiadomieniach kontekstowych w NavigationTemplate (I163a7, I5ad70)
  • Poziom API 5: nowe komponenty Header i MapController, które ułatwiają ponowne korzystanie z różnych szablonów (If5826)
  • Dodano androidx.car.app.category.POI jako kategorię włączania aplikacji ważnych miejsc (i wycofane androidx.car.app.category.PARKING i androidx.car.app.category.CHARGING) (I59da1)

Zmiany interfejsu API

  • Poziom API 5: nowa metoda onClick w interfejsie SurfaceCallback umożliwiająca interaktywność na mapie (Ia9777)
  • Poziom interfejsu API 5: nowe flagi Action.FLAG_IS_PERSISTENT i Action.FLAG_DEFAULT do opisania elementów typu Action (I96318, I5ad70)
  • Poziom API 5: nowy stan włączenia/wyłączenia komponentów Action, Row i Toggle (obsługa hosta wkrótce w wersji 1.3.0-beta01 biblioteki) (Id8a09)
  • Poziom interfejsu API 5: preferuj nowy komponent Header za pomocą komponentu setHeader w plikach PlaceListNavigationTemplate.Builder i RoutePreviewNavigationTemplate.Builder, wycofując obecne metody setTitle i setHeaderAction (I30e6a)
  • Poziom interfejsu API 5: nowa metoda setOnContentRefreshListner na platformach PlaceListMapTemplate.Builder i PlaceListNavigationTemplate.Builder do użytku z implementacjami nowego interfejsu OnContentRefreshListner.
  • Poziom interfejsu API 5: nowe setTripText i setTripIcon w: TravelEstimate.Builder w celu dostosowania karty prognozy dotyczącej podróży (Idcc6d, Ic620d)
  • Dodaj obsługę CarIconSpan w tytule PaneTemplate (Ia1ee0)
  • Dodawanie obsługi elementów CarIconSpan w tytule i tekście elementu Row (Ic1e3c)
  • Elementy mapy ActionStrip mogą teraz mieć maksymalnie 4 działania (If3522).
  • Zaktualizuj interfejs Car App API na poziomie 5 (I26b8e)
  • Nagłówki/tytuły są teraz opcjonalne w przypadku dokumentów PlaceListMapTemplate, PlaceListNavigationTemplate, RoutePreviewNavigationTemplate, GridTemplate, ListTemplate, LongMessageTemplate, MessageTemplate, PaneTemplate i SignInTemplate (I2078d, Icadde)

Poprawki błędów

  • Zaktualizowano reguły rozmiaru obrazu PaneTemplate, aby stały się kwadratową ramką ograniczającą (Idd72e)
  • Naprawiliśmy wyjątek, który występował, gdy stos ekranów został zmodyfikowany po State.DESTROYED. (I3c8eb).
  • Dodano zerową kontrolę pobierania ikony aplikacji (I3f710).
  • Zaktualizuj interfejs Car Hardware API, aby domyślnie używał STATUS_UNKNOWN zamiast STATUS_UNAVAILABLE (Ic9444)
  • Przed utworzeniem powierzchni sprawdź, czy wyświetlacz jest dostępny (Ice027a).
  • Napraw błąd CarValue.equals() dotyczący aplikacji STATUS_UNIMPLEMENTED (I24451)

Wersja 1.2

Wersja 1.2.0

9 listopada 2022 r.

Usługa androidx.car.app:app-*:1.2.0 została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.

  • Jest to wersja ze stabilizacją i bez żadnych zmian w porównaniu z wersją 1.2.0-rc01.

Wersja 1.2.0-rc01

23 marca 2022 r.

Usługa androidx.car.app:app-*:1.2.0-rc01 została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

  • Jest to wersja stabilizacyjna. W porównaniu z wersją v1.2.0-beta02 nie wprowadzono żadnych zmian w interfejsie API. Dodaliśmy nowe funkcje eksperymentalne (poziom interfejsu API 5), które są przeznaczone dla przyszłych wersji Androida Auto i Androida Automotive.

Poprawki błędów

  • Naprawiliśmy wyjątek, który występował, gdy stos ekranów został zmodyfikowany po State.DESTROYED. (I3c8eb).
  • Zaktualizowaliśmy interfejs API CarSensors, aby wskazać, że nie są one zaimplementowane w systemie AAOS (Idd57b)
  • Zaktualizowano PlaceListMapTempalte.Builder#setCurrentLocationEnabled, by wskazać, że parametr ACCESS_COARSE_LOCATION jest wystarczający do działania tej funkcji (I510c2).
  • Numer zjazdu jest opcjonalny dla typów skrętów rondem z kątem (Ife7d1).

Wersja 1.2.0-beta02

26 stycznia 2022 r.

Usługa androidx.car.app:app-*:1.2.0-beta02 została zwolniona. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.

Aplikacje samochodowe utworzone za pomocą tej biblioteki kierowane na platformę Android Automotive OS można teraz publikować w kanale testów otwartych Sklepu Play. Więcej informacji znajdziesz w przewodniku dla programistów.

Funkcje opisane w interfejsie API na poziomie 4 lub niższym są zgodne zarówno z Android Auto w wersji 7.2, jak i z nową platformą Android Automotive OS. Zastrzeżenia znajdziesz w sekcji Known Issues poniżej.

Zmiany interfejsu API

  • Do szablonów ciekawych miejsc dodano eksperymentalny interfejs API setOnContentRefreshListener (I6bf22)

Poprawki błędów

  • Naprawiono wyciek pamięci w CarAppService po usunięciu powiązania hosta w samochodzie. (I5c9ca, b/203594731)
  • Zaktualizowano plik javadoc CarAppActivity, aby uwzględnić wymagania dotyczące trybu uruchamiania jednokrotnego zadania (Id2f95)
  • Eliminuje problemy wizualne przy wznawianiu. (Iff7e0).

Znane problemy

  • Mapy ActionStrip w regionach PlaceListNavigationTemplate i RoutePreviewNavigateTemplate zaczną być dostępne w następnych wersjach: Android Auto i Android Automotive OS.

Wersja 1.2.0-alfa02

15 grudnia 2021 roku

Usługa androidx.car.app:app-*:1.2.0-alpha02 została zwolniona. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.

Funkcje opisane w interfejsie API poziomu 4 zostały przekształcone z wersji eksperymentalnej w stabilną. Dotyczy to m.in. map ActionStrip w PlaceListNavigationTemplate i RoutePreviewNavigateTemplate, obrazu CarIcon w systemach Pane i QRCodeSignInMethod oraz możliwości ustawiania wskazówek dotyczących renderowania (np. flag) w jednostkach Action.

Nowe funkcje

  • Na Androidzie Auto 7.1 i nowszych limit produktów Pane został zwiększony z 2 do 4.

Zmiany interfejsu API

  • Do aplikacji CarUnit(I36a3b) dodano eksperymentalną metodę toString().

Poprawki błędów

  • Rozwiązaliśmy problem, który występował w CarAppPermissionActivity, gdy wywołanie zwrotne nie było dostępne (If9823).
  • Zmieniono limit domyślnych list (Pane) na 4 (I0068b)

Wersja 1.2.0-alpha01

3 listopada 2021 r.

Usługa androidx.car.app:app-*:1.2.0-alpha01 została zwolniona. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.

Wszystkie nowe funkcje v1.2.0 (API w wersji 4 i nowszych) są obecnie w wersji eksperymentalnej i są kierowane na przyszłe wersje Androida Auto i Androida Automotive. Więcej informacji znajdziesz w przewodniku dla programistów.

Zmiany interfejsu API

  • Wprowadzono eksperymentalny interfejs API AutomotiveCarInfo. (Ia13e5).
  • dodano interfejs Car App Library API poziomu 4 (I2a2e7).
  • Poziom API 4: dodano obsługę konfigurowania CarIcon w Pane (Ifcc12)
  • Poziom API 4: dodano metodę logowania za pomocą kodu QR (Ib623e)
  • Poziom interfejsu API 4: dodano flagę set/getFlags do zbioru danych Action (Ic03ab)
  • Poziom API 4: dodano obsługę przesuwania i powiększania w obszarach PlaceListNavigationTemplate i RoutePreviewNavigationTemplate (I9d8a3)

Poprawki błędów

  • Poziom interfejsu API 4: dodaj mechanizm umożliwiający aplikacjom wysyłanie aktualizacji lokalizacji do hosta samochodu (I3bad3)
  • Rozwiąż problem, który powodował, że logika weryfikacji hosta nie znalazła prawidłowo uprawnienia TEMPLATE_RENDERER (I62618)

Wersja 1.1.0

Wersja 1.1.0

15 grudnia 2021 roku

Usługa androidx.car.app:app-*:1.1.0 została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.

To jest wersja ze stabilizacją. Nic się nie zmieni w porównaniu z wersją v1.1.0-rc01. Aby dowiedzieć się więcej o nowych funkcjach biblioteki aplikacji samochodu, zapoznaj się z informacjami o wersji v1.2.0-alpha02.

Ważne zmiany wprowadzone od wersji 1.0.0

  • Poziom interfejsu API 2: SignInTemplate i LongMessageTemplate, których można używać do logowania się, gdy pojazd jest zaparkowany
  • Poziom 2 interfejsu API: obsługa interaktywności map w interfejsie NavigationTemplate
  • Poziom interfejsu API poziomu 2: obsługa tekstu o wielu długościach, dzięki czemu aplikacje mogą wyświetlać wiele wersji ciągu tekstowego w zależności od rozmiaru ekranu samochodu.
  • Poziom interfejsu API 3: CarHardwareManager, którego można używać do wysyłania zapytań dotyczących danych sprzętowych pojazdu, takich jak model i marka, poziom paliwa i inne czujniki.

Wersja 1.1.0-rc01

3 listopada 2021 r.

Usługa androidx.car.app:app-*:1.1.0-rc01 została zwolniona. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Jest to wersja stabilizacyjna. W porównaniu z wersją v1.1.0-beta01 nie wprowadzono żadnych zmian w interfejsie API. Dodaliśmy nowe funkcje eksperymentalne (poziom API 4), które są przeznaczone dla przyszłych wersji Androida Auto. Więcej informacji o eksperymentalnych interfejsach API znajdziesz w informacjach o wersji v1.2.0-alpha01.

Wersja 1.1.0-beta01

1 września 2021 roku

Usługa androidx.car.app:app-*:1.1.0-beta01 została zwolniona. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.

Wszystkie funkcje v1.1.0 (API 2 lub nowsze) są w pełni zgodne z Androidem Auto 6.7 lub nowszym. Więcej informacji znajdziesz w przewodniku dla programistów.

Zmiany interfejsu API

  • Usunięto interfejs Manager jako interfejs publiczny (Ie381b).
  • Dodano możliwość ustawienia niestandardowego tła z nazwą marki dla prośby o uprawnienia (I74b76)
  • Dodano ScreenManager.getStackSize (I0b16a)
  • Usunięto konstruktor ScreenController, który jawnie przyjmuje wartość TestCarContext (Iefebc)

Poprawki błędów

  • Dodano sprawdzanie poziomu interfejsu API podczas tworzenia CarHardwareManager (I48f9b)
  • Dodano sprawdzanie nieprawidłowego użycia atrybutu CarSpan w interfejsie API (I65ae6)
  • Rozwiązaliśmy problem, który powodował, że jeśli podczas tworzenia obiektu Screen został on oznaczony jako ukończony, pozostawał on w stanie uszkodzony (I81b13)
  • Naprawiono błąd polegający na tym, że CarNotificationManager.notify w systemie AutomotiveOS rejestrował błąd z ikonami w CarAppExtender (I3633d)
  • Dodano metodę uzgadniania połączenia dla aplikacji i hosta w celu ustanowienia wersji interfejsu API (I7d6f8).

Wersja 1.1.0-alfa02

21 lipca 2021 r.

Usługa androidx.car.app:app-*:1.1.0-alpha02 została zwolniona. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Poziom interfejsu API 3: dodano atrybut CarHardwareManager, którego można używać do wysyłania zapytań dotyczących danych sprzętowych pojazdu, takich jak model i marka, poziom paliwa i inne czujniki. Obecnie ta funkcja jest dostępna tylko na Androidzie Auto 6.7 lub nowszym w kanale testów otwartych. Aby przetestować to w środowisku komputerowym, wymagana jest nowa wersja Desktop Head Unit, która zostanie opublikowana oddzielnie. Zaglądaj na stronę testowania aplikacji na Androida w samochodach, aby dowiedzieć się, kiedy będzie dostępna nowa wersja.
  • Aby uzyskać dodatkowe informacje i wskazówki dotyczące projektowania tych funkcji na hostach samochodowych zgodnych z interfejsem API poziomu 3, postępuj zgodnie z przewodnikiem dla programistów i dokumentacją biblioteki.

Zmiany interfejsu API

  • Skonsolidowano metody cyklu życia SessionController i ScreenController w jedną metodę moveToState (I1ed00)
  • Dodano CarContext#getHostInfo() (I8977e)
  • Usunięto wycofane pola. (I67168)
  • Zaktualizowano SessionController i ScreenController, aby bezpośrednio udostępnić konstruktory (Iabf22).
  • Usunięto: PinSignInMethod.Builder i ProviderSignInMethod.Builder (I9f0cb)
  • Dodano funkcję „setCarAppResult()”, aby umożliwić korzystanie z aplikacji szablonowych „dla wyniku” w AAOS (I37741).
  • Interfejsy CarHardware z adnotacjami na @MainThread. (Ib2f85).
  • Zmieniono nazwę z OnCarDataListener na OnCarDataAvailableListener (I518ca)
  • Zaktualizowano nazwy metod CarInfo, Speed, Mileage oraz javadoc. (I86672)
  • Nazwa Toll została zmieniona na TollCard. (I3e7c8).
  • Usunięto wycofaną wartość PinSignInMethod.getPin, która została zastąpiona przez PinSignInMethod.getPinCode (I996ce).
  • Usunięto tekst OnInputCompletedListener (zastąpiony elementem InputCallback). (Ib5be1).
  • Zmieniono PinSignInMethod na CharSequence zamiast String (I275d5)

Poprawki błędów

  • Poprawki w języku Javadoc dotyczące sprzętu samochodowego. (I2abbc),

Treści tłumaczone przez użytkowników zewnętrznych

Znane problemy

  • W SignInTemplate użycie funkcji InputSignInMethod może spowodować wyświetlenie komunikatu NullPointerException na hoście samochodu. Ten problem zostanie rozwiązany w następnej wersji biblioteki. Aby obejść ten problem, dodaj ten wiersz do konfiguracji Proguard aplikacji: -keep class androidx.car.app.model.signin.InputSignInMethod { *; }

Wersja 1.1.0-alpha01

16 czerwca 2021 r.

androidx.car.app:app:1.1.0-alpha01, androidx.car.app:app-automotive:1.1.0-alpha01 i androidx.car.app:app-testing:1.1.0-alpha01 zostały udostępnione. Wersja 1.1.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Poziom interfejsu API 2: nowe SignInTemplate i LongMessageTemplate, których można używać do logowania się, gdy pojazd jest zaparkowany.
  • Poziom 2 interfejsu API: nowa interaktywność mapy w NavigationTemplate
  • Poziom interfejsu API poziomu 2: nowa obsługa tekstu o wielu długościach, dzięki której aplikacje mogą wyświetlać wiele wersji ciągu tekstowego w zależności od rozmiaru ekranu samochodu.
  • Postępuj zgodnie z przewodnikiem dla programistów i biblioteką Javadoc, aby uzyskać dodatkowe informacje i wytyczne projektowe dotyczące korzystania z tych funkcji na hostach samochodowych zgodnych z interfejsem API poziomu 2.

Zmiany interfejsu API

  • Ustawienie wszystkich metod interfejsu *Callback jako domyślne i nazwy OnRequestPermissionsCallback -> OnRequestPermissionsListener (Ib3ec9)
  • Zaktualizowaliśmy klasy (androidx.car.app.hardware), aby usunąć niepotrzebne kreatory i klasy parametrów. (I67beb)
  • Dodano klasy androidx.car.app.hardware, które zapewniają dostęp do danych dotyczących konkretnego samochodu, np. dotyczących paliwa, baterii i prędkości. (Iff3c9).
  • Dodano obsługę ActionStrip w systemie MessageTemplate (Ida657)
  • Dodano setLoading do listy MessageTemplate. (I2a4b5)
  • Zmieniono nazwę z ConnectionToCar na CarConnection (Ife9bd)
  • Zmieniono NavigationTemplate, aby zwracał wyraźną wartość PanModeDelegate (I13877).
  • Zaktualizowano kolejność parametrów dla parametru CarContext.requestPermissions (Ib890a)
  • Zaktualizowano klucz metadanych, aby określić min. poziom interfejsu API samochodu na androidx.car.api.minCarApiLevel (Ib0d41)
  • Utworzenie interfejsu API, który umożliwia obserwowanie stanu połączenia z samochodem (Ifc935).
  • Dodaliśmy obsługę ustawiania przełącznika Action i typ trybu przesuwania Action (Ica6af).
  • Utworzono CarNotificationManager do obsługi wysyłania powiadomień w samochodzie (I10d7a)
  • Dodano ConstraintManager do podawania limitów list z hosta (I8690e)
  • Dodano tryb przesuwania i interfejs API paska działań mapy w NavigationTemplate (I77aa6)
  • Dodano interfejs API przesuwania i powiększania w aplikacji SurfaceCallback dla aplikacji do nawigacji (Id5e9d)
  • Zaktualizowano CarAppApiLevel do 2 (IC1540)
  • Dodano możliwość próśb o uprawnienia z CarAppService (I5421e)
  • Dodano adnotację RequiresCarApi(2) do interfejsu API z wieloma tekstami (Iacb62)
  • W tytule szablonu półlisty (Ib8df7) zezwalano na wiele wariantów tekstowych.
  • Dodano nową wersję: LongMessageTemplate (wymaga interfejsu API samochodu na poziomie 2) (Ic5cee)

Poprawki błędów

  • Aktualizacja wymagań dotyczących rozmiaru obrazu w celu uwzględnienia większych ekranów samochodów (I116dc)
  • Niedozwolone dodawanie więcej niż 2 działań w treści szablonu (I32157)
  • Zapewnia, że wszystkie elementy PendingIntent zostały utworzone w flagach zestawów biblioteki aplikacji w samochodzie. (If84fe, b/186394900)
  • Zaktualizowano dokument javadoc, aby zezwalał na zmiany tekstu elementu Row w ramach odświeżania (If3f9c)
  • androidx.activity:activity:1.2.0 jest teraz zależnością API (Id1cb9)
  • SignInTemplate i LongMessageTemplate zostały ustawione tak, aby wymagały działań tylko zaparkowanych pojazdów, i zaktualizowaliśmy dokumentację, żeby potwierdzać, że będą wyświetlane tylko po zaparkowaniu samochodu (Iddaa9).
  • Naprawiono wyjątek, który występował podczas wyskakującego okienka Screen podczas uruchamiania (Ifcf40, b/184664896)
  • Dozwolony niestandardowy kolor tekstu w ForegroundCarColorSpan (I69e59)
  • Rozwiązaliśmy problem, który powodował, że po wartości ON_DESTROY obiektu Screen występuje ON_DESTROY na elemencie Session (I52e01, b/183696617)
  • Zaktualizowano dokument javadoc, gdy można ustawić pozostały czas TravelEstimate na nieznany czas. (I99610, b/183632456)
  • Zaktualizowano Action, aby obsługiwał ForegroundColorSpan w tytule i dowolny niestandardowy kolor tła (I578e4).
  • Nie uruchamiaj polecenia NavigationManagerCallback#onStopNavigation, jeśli wywołanie zwrotne zostanie wyczyszczone przed wykonaniem działania wykonawcy (I7fc5e, b/181143772)
  • Rozwiązaliśmy problem, który wymagał, aby aplikacja jawnie zależała od kodu lifecycle-common-java8 (I8b8c8)

Znane problemy

  • W SignInTemplate zamiast ikony „Enter” na klawiaturze ekranowej pojawia się ikona wyszukiwania, gdy użytkownik chce potwierdzić wpisany tekst. Aby obejść ten problem, użytkownicy mogą korzystać z klawiatury telefonu, która aktywuje się, gdy zaznaczone jest pole wprowadzania.
  • W Androidzie Auto w wersji 6.5 wywołania zwrotne przesuwania i powiększania w SurfaceCallback mogą być nieprawidłowo wywoływane w przypadku niektórych gestów dotykowych.

Testowanie aplikacji samochodowej w wersji 1.0.0

Wersja 1.0.0-alpha01

24 marca 2021 r.

Usługa androidx.car.app:app-testing:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

To pierwsza wersja Jetpacka z biblioteki testów zamkniętych, które były wcześniej dostępne. Informacje o tym, jak używać tej biblioteki w testach, znajdziesz w przykładach.

Nowe funkcje

  • Kontrolery klas modelu zostały usunięte. Moduły pobierania modeli są teraz częścią publicznej platformy interfejsu API, która umożliwia weryfikowanie wartości ustawionych w kreatorze.
  • Poprzednia wartość CarAppServiceController została zastąpiona nową funkcją SessionController w celu testowania logiki dotyczącej czasu trwania połączenia z urządzeniami z góry.

Wersja 1.0.0

Wersja 1.0.0

21 kwietnia 2021 r.

Usługa androidx.car.app:app:1.0.0 została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.

Główne funkcje 1.0.0

  • Na początku kwietnia ogłosiliśmy, że można zacząć publikować aplikacje w kanale produkcyjnym za pomocą androidx.car.app:app:1.0.0-rc01. Biblioteka aplikacji samochodowych w wersji 1.0.0 jest teraz stabilna i jest w pełni zgodna z Androidem Auto 6.1 i nowszymi wersjami.
  • Więcej informacji o tworzeniu aplikacji do nawigacji, parkowania i ładowania na Androidzie Auto za pomocą biblioteki znajdziesz w przewodniku dla programistów.

Poprawki błędów

  • Naprawiono wyjątek, który występował, gdy podczas uruchamiania był wyskakiwany element Screen (70aae1, b/184664896).
  • Rozwiązaliśmy problem, który powodował, że po wartości ON_DESTROY obiektu Screen (0ceecb, b/183696617) występuje ON_DESTROY na elemencie Session.

Wersja 1.0.0-rc01

24 marca 2021 r.

Usługa androidx.car.app:app:1.0.0-rc01 została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiliśmy błąd w warunkach wyścigu, który powodował, że usługa NavigationManagerCallback#onStopNavigation była wywoływana po usunięciu wywołania zwrotnego. Dzieje się tak, jeśli wywołanie zwrotne zostało usunięte przed faktycznym uruchomieniem wykonawcy wywołania zwrotnego (I7fc5e, b/181143772)
  • Rozwiązaliśmy problem, który wymagał, aby aplikacja jawnie wiązała się z zależnością od interfejsu lifecycle-common-java8 (I8b8c8)
  • Naprawiono błąd NullPointerException zgłaszany, gdy aplikacja odbiera wywołanie stopNavigation, gdy usunął już to wywołanie zwrotne (Ib8b89, b/181143772).
  • Poprawki pozwalające nie wysyłać wywołań do aplikacji, jeśli jej cykl życia nie jest przynajmniej w stanie CREATED (I86965, b/179800224, b/177921120)
  • Rozwiązaliśmy problem, który powodował, że nieprawidłowy interfejs API min. określony w pliku manifestu aplikacji powodował błąd ANR na hoście. (Iffedd, b/174231592)

Wersja 1.0.0-beta01

24 lutego 2021 r.

Usługa androidx.car.app:app:1.0.0-beta01 została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

To pierwsza wersja Jetpacka z wcześniej zamkniętej biblioteki źródłowej. Jest zgodna z Androidem Auto w wersji 6.1 lub nowszej. Szczegółowe informacje o tworzeniu aplikacji samochodowych przy użyciu biblioteki znajdziesz w przewodniku dla programistów.

Nowe funkcje

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że przy sekwencyjnym wyskakiwaniu ekranu wznawiano nieprawidłowe działanie Screen. (B/177590791)