Android Automotive 25Q4

Na tej stronie opisujemy funkcje i ulepszenia w wersji systemu operacyjnego Android Automotive (AAOS) 25Q4. AAOS 25Q4 to oficjalna wersja finalna. Wersja 25Q4 zawiera 8 nowych funkcji i rozwiązuje 180 problemów.

AAOS w IV kwartale 2025 r. korzysta z poziomu API 36.

Funkcje

Ta wersja AAOS zawiera nowe funkcje opisane poniżej.

Platforma

Obsługa pokrętła w Jetpack Compose:

  • Android 14 i nowsze: AAOS zapewnia podstawową wbudowaną obsługę pokrętła w interfejsach użytkownika Jetpack Compose, w tym obracanie i poprawianie położenia kontrolera.

  • Android 12, Android 12L i Android 13: AAOS zapewnia ograniczone wsparcie dla interfejsów Compose w przypadku sterowania obrotowego. Obracanie kontrolera działa z obejściem po stronie aplikacji. Nie obsługujemy przypominania.

    Więcej informacji znajdziesz w demonstracji View Compose Activity w aplikacji [RotaryPlayground][1]. Kod źródłowy tej aplikacji znajdziesz w gałęzi car-apps-dev.

Wydajność i stan systemu

  • Zatrzymywanie aplikacji poprzednich użytkowników: aby zmniejszyć opóźnienie przełączania użytkowników i zajętość pamięci, system zatrzymuje aplikacje poprzedniego użytkownika wcześniej w procesie przełączania użytkowników.

Jakość systemu

Skalowalny interfejs

AAOS dodaje rozwiązanie do obsługi okien przeznaczone dla branży motoryzacyjnej, aby pomóc producentom OEM w opracowywaniu [zaawansowanych funkcji obsługi okien z skalowalnym interfejsem][2] w bezpieczny, zgodny z przepisami i opłacalny sposób. Umożliwia on deweloperom projektowanie struktury okien za pomocą języka deklaratywnego w konfiguracjach XML.

  • Skupienie na zadaniu w skalowalnym interfejsie: wprowadza zestaw reguł określających, które zadanie ma być aktywne w środowisku z wieloma oknami (np. podczas otwierania i zamykania paneli). Nowy atrybut onTransition w tagu Focus zapewnia większą kontrolę.

  • Mechanizm automatycznego ponownego uruchamiania w skalowalnym interfejsie: panele skalowalnego interfejsu teraz prawidłowo obsługują awarie aplikacji, ponownie uruchamiając wadliwe aplikacje. Wprowadzamy mechanizm automatycznego ponownego uruchamiania zadań, aby rozwiązać problem z nieoczekiwanym zakończeniem zadań w panelach interfejsu. Konfigurujesz go za pomocą nowego tagu XML <Restart>, aby zdefiniować zasadę ponownego uruchamiania i maksymalną liczbę ponownych prób.

  • Ulepszenia wydajności podczas przeciągania paneli dekoracyjnych i instrumentacja wydajności: AAOS zapewnia wzrost wydajności w przypadku animacji przeciągania interaktywnych paneli. Dodatkowo dodaje instrumentację do biblioteki skalowalnego interfejsu, aby mierzyć dysonans podczas kluczowych ścieżek użytkownika.

    Ślady OEM Perfetto zawierają dodatkowe metadane dotyczące tego, co dzieje się w oknach i w bibliotece Scalable UI.

  • Widoki dekoracji panelu dostosowują się do zmian motywu: motyw panelu dostosowuje się do zmian motywu. Na przykład między trybem jasnym a ciemnym lub innymi zmianami motywu na poziomie interfejsu systemowego.

Polecenia debugowania użytkownika i narzędzia dla programistów:

  • Polecenia powłoki zwracają bieżący stan panelu i wysyłają zdarzenia za pomocą adb: używaj poleceń adb, aby zmieniać stany wizualne panelu, np. otwierać lub zamykać panel.

    Polecenie powłoki wywołuje zdarzenie w systemie. Aby na przykład zamknąć panel siatki aplikacji, gdy jest otwarty, uruchom adb shell cmd statusbar carsysui-dispatch-event close_app_grid.

  • Stan panelu jest uwzględniony w danych wyjściowych polecenia dumpsys: dane wyjściowe polecenia dumpsys zawierają stan panelu. Użyj narzędzi do debugowania (narzędzie adb), aby uzyskać stany panelu za pomocą polecenia dumpsys (=adb shell).

    Polecenie wyświetla bieżące stany paneli, gdy nie występuje żadne działanie wizualne. Użyj polecenia:

    adb shell cmd statusbar carsysui-dump-panelstates
    

Rejestrowanie i śledzenie danych przez producenta OEM

  • Dodaje rejestrowanie do zdarzeń subskrypcji danych o samochodzie. Aby ulepszyć śledzenie danych, włączamy rejestrowanie połączeń użytkowników dla producentów OEM.

Podstawowe aplikacje

Aby pomóc w weryfikacji zgodności z dokumentem CDD i CTS w przypadku aplikacji mobilnych zgodnych z samochodami (CaRMA), ulepszamy zgodność i użyteczność aplikacji innych firm w środowiskach motoryzacyjnych. Aby zademonstrować sprawdzone metody płynnej nawigacji, dodajemy przykłady referencyjne dotyczące funkcji powrotu.

  • Ulepszenia blokowania aktywności (ABA): aby ulepszyć zarządzanie cyklem życia, AAOS udoskonala działanie ABA w przypadku funkcji OnStop.

  • Bezpieczny prostokąt do renderowania aplikacji. Aby ułatwić weryfikację widoczności treści i uniknąć zasłaniania, AAOS określa wyznaczony obszar wyświetlania aplikacji.

  • Skalowanie DPI: AAOS optymalizuje elementy interfejsu na podstawie rozdzielczości wyświetlacza i odległości oglądania.

  • Zastępowanie ustawień poszczególnych aplikacji: AAOS umożliwia kontrolowanie działania aplikacji, np. orientacji i formatu obrazu.

  • Ulepszenia zgodności: AAOS zawiera podstawowe funkcje Androida, takie jak DocumentsUI, i dodaje ulepszenia zgodności z aplikacjami innych firm.

  • Alternatywne sterowanie aplikacjami: AAOS umożliwia użytkownikom sterowanie dźwiękiem z aplikacji innych niż centrum multimediów podczas jazdy, w szczególności z aplikacji do komunikacji.

Właściwości VHAL

  • Tag wyliczenia właściwości @SystemApi: AAOS umożliwia aplikacjom innych firm dostęp do wyliczeń, które zostały niedawno oznaczone jako dostępne dla aplikacji innych firm.

Audio

  • Interfejsy Fade i Balance: AAOS ulepsza aplikacje własne, aby pobierać bieżące ustawienia zanikania i równowagi dźwięku użytkownika. Te poziomy dźwięku są zachowywane dla każdego użytkownika w kolejnych cyklach zapłonu. Ta aktualizacja zapewnia spójność z innymi ustawieniami dźwięku w interfejsach API audio w samochodzie, które są kontrolowane przez użytkownika.

Prywatność

  • Blokowanie dostępu do aplikacji na podstawie Warunków korzystania z usług Google: możesz wyłączyć aplikacje do momentu zaakceptowania przez użytkownika Warunków korzystania z usług Google. Ikony wyłączonych aplikacji są szare, co oznacza, że są nieaktywne.

    Kliknięcie wyłączonej aplikacji powoduje wyświetlenie prośby o zaakceptowanie Warunków korzystania z usług Google.

    W IV kwartale 2025 r. ta funkcja będzie zgodna z rozwiązaniami OEM, które umieszczają trwałe funkcje Google na panelu tła skonfigurowanym za pomocą skalowalnego interfejsu. Na przykład trwała aktywność w Mapach Google ustawiona jako ekran Główny jest wyszarzona, dopóki użytkownik nie zaakceptuje Warunków korzystania z usług Google.

Zgodność

Testy zgodności AAOS z Androidem są przeprowadzane na urządzeniach Cuttlefish i wewnętrznym sprzęcie referencyjnym za pomocą tych pakietów testowych na GSI: CTS, CTS-V, ATS, ATS-V, STS, VTS i CTS na GSI.

Żadne błędy nie wymagają poprawek w kodzie Androida 16 (android16-release) ani w gałęzi testowej Androida 16 (android16-m1-tests-dev), z wyjątkiem problemów wymienionych poniżej.

Planujemy rozwiązać te problemy związane z zgodnością w najbliższej wersji AOSP.

  • CtsAppSecurityHostTestCases: RoleSecurityTest#cannotGetSmsRoleHolderForAnotherUser

  • CtsMediaHostTestCases: AudioServiceRebootHostTest#testVolumePersists_AfterReboot

  • CtsPermissionUiTestCases: PermissionTest23#testInteractiveGrant

Nieudane testy w 4 kwartale 2025 r.

W tej sekcji znajdziesz przypadki testowe, które nie przeszły testów na Androidzie 25Q4 i są specyficzne tylko dla Cuttlefish. Testy, które się nie powiodły, przechodzą na wewnętrznym sprzęcie referencyjnym. Potwierdzamy wszelkie niespójne przypadki testowe na platformie Cuttlefish i wewnętrznym sprzęcie referencyjnym.

Niespójność testu określamy na podstawie wyników 15 kolejnych kompilacji, podczas których występuje wiele grup błędów testu.

Element testowania Wystąpienia
CtsWindowManagerBackgroundActivityTestCases 6
CtsJvmtiAttachingHostTestCases 5
CtsViewTestCases 5
CtsStagedInstallHostTestCases 3
CtsUiRenderingTestCases27 2
CtsWindowManagerDeviceActivity 2
CtsAppOpsTestCases 1
CtsNetTestCasesLegacyApi22 1
CtsStatsdAtomHostTestCases 1
CtsUiRenderingTestCases 1

[1]: https://cs.android.com/android/platform/superproject/+/ub-automotive-master-20250910:packages/apps/Car/tests/RotaryPlayground/src/com/android/car/rotaryplayground/ViewComposeActivity.kt [2]: /docs/automotive/scalableui/implement