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łęzicar-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
onTransitionw taguFocuszapewnia 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 (
=adbshell).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#cannotGetSmsRoleHolderForAnotherUserCtsMediaHostTestCases:AudioServiceRebootHostTest#testVolumePersists_AfterRebootCtsPermissionUiTestCases: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