Android Automotive 25Q4

이 페이지에서는 Android Automotive OS(AAOS) 25Q4 출시의 기능과 개선사항을 설명합니다. AAOS 25Q4는 공식 골든 출시입니다. 25Q4는 8가지 새로운 기능을 제공하고 180가지 문제를 해결합니다.

AAOS 25Q4는 API 수준 16.1을 사용합니다.

기능

이 AAOS 출시에서는 여기에 설명된 새로운 기능을 제공합니다.

프레임워크

Jetpack Compose용 로터리 지원:

  • Android 14 이상: AAOS는 컨트롤러 회전 및 이동을 비롯한 Jetpack Compose 사용자 인터페이스를 위한 기본 제공 로터리 지원을 제공합니다.

  • Android 12, Android 12L, Android 13: AAOS는 Compose UI에 제한된 로터리 지원을 제공합니다. 컨트롤러 회전은 앱 측 해결 방법과 함께 작동합니다. 이동은 지원되지 않습니다.

    자세한 내용은 RotaryPlayground 앱의 View Compose Activity 데모를 참고하세요. car-apps-dev 브랜치에서 이 앱의 소스 코드를 가져옵니다.

성능 및 시스템 상태

  • 이전 사용자의 앱 중지: 사용자 전환 지연 시간과 메모리 공간을 줄이기 위해 시스템은 사용자 전환 프로세스에서 이전 사용자의 앱을 더 일찍 중지합니다.

시스템 환경

확장 가능한 UI

AAOS는 OEM이 확장 가능한 UI를 사용하여 고급 창 환경을 안전하고 규정을 준수하며 비용 효율적인 방식으로 개발할 수 있도록 자동차 전용 창 솔루션을 추가합니다. 이 프레임워크를 사용하면 개발자가 XML 구성에서 선언적 언어로 창 구조를 설계할 수 있습니다.

  • 확장 가능한 UI의 작업 포커스: 멀티 윈도우 환경 (예: 패널 열기 및 닫기)에서 포커스를 받는 작업을 결정하는 규칙 집합을 도입합니다. Focus 태그의 새로운 onTransition 속성은 더 세분화된 제어를 제공합니다.

  • 확장 가능한 UI의 자동 다시 시작 메커니즘: 확장 가능한 UI 패널은 결함이 있는 앱을 다시 실행하여 앱 비정상 종료를 정상적으로 처리합니다. UI 패널에서 예기치 않은 작업 종료를 해결하려면 새 <Restart> XML 태그로 자동 작업 다시 시작 메커니즘을 구성하여 다시 시작 정책과 최대 재시도 횟수를 정의합니다.

  • 장식 패널 드래그 및 성능 계측 시 성능 개선: AAOS는 대화형 패널 드래그 애니메이션의 성능을 개선하고 주요 사용자 여정 중에 불협화음을 측정하기 위해 확장 가능한 UI 라이브러리에 계측을 추가합니다.

    OEM Perfetto 트레이스는 창 및 확장 가능한 UI 라이브러리에서 발생하는 상황과 관련된 추가 메타데이터 보고를 제공합니다.

  • 패널 장식 뷰는 테마 변경에 맞게 조정되고 응답합니다. 패널 테마는 밝은 모드와 어두운 모드 간 전환 또는 SysUI 수준의 기타 테마 업데이트와 같은 테마 변경에 맞게 조정됩니다.

사용자 디버깅 명령어 및 개발자 도구:

  • 셸 명령어는 현재 패널 상태를 출력하고 adb를 통해 이벤트를 전송합니다. adb 명령어를 사용하여 패널 열기 또는 닫기와 같은 시각적 패널 상태를 변경합니다.

    셸 명령어는 시스템에서 이벤트를 트리거합니다. 예를 들어 앱 그리드 패널이 열려 있을 때 닫으려면 를 실행합니다.adb shell cmd statusbar carsysui-dispatch-event close_app_grid

  • 패널 상태가 활동 dumpsys에 포함됩니다. 활동 dumpsys에는 패널 상태가 포함됩니다. 디버깅 도구를 사용하여 dumpsys adb 셸 명령어로 패널 상태를 가져옵니다.

    이 명령어는 시각적 작업이 발생하지 않을 때 현재 패널 상태를 표시합니다. 명령어는 다음과 같습니다.

    adb shell cmd statusbar carsysui-dump-panelstates
    

OEM 로깅 및 데이터 추적

  • 자동차 데이터 구독 이벤트에 로깅 추가: 데이터 추적을 개선하기 위해 OEM에서 사용자 연결 로깅을 사용할 수 있습니다.

핵심 앱

자동차 지원 모바일 앱의 호환성 정의 문서 (CDD) 및 호환성 테스트 모음 (CTS) 규정 준수를 확인하는 데 도움이 되도록 자동차 환경에서 서드 파티 앱 호환성 및 사용성이 개선되었습니다. 원활한 탐색을 위한 권장사항을 보여주기 위해 뒤로 어포던스에 참조 샘플을 사용할 수 있습니다.

  • 활동 차단 활동 (ABA) 개선사항: 수명 주기 관리를 개선하기 위해 AAOS는 OnStop ABA 동작을 개선합니다.

  • 앱 렌더링을 위한 안전한 직사각형: 콘텐츠 공개 상태를 확인하고 폐색을 방지하기 위해 AAOS는 지정된 앱 표시 영역을 정의합니다.

  • DPI 확장: AAOS는 디스플레이 해상도와 시청 거리를 기반으로 UI 요소를 최적화합니다.

  • 앱별 재정의: AAOS를 사용하면 방향 및 가로세로 비율과 같은 앱 동작을 제어할 수 있습니다.

  • 호환성 개선사항: AAOS에는 DocumentsUI와 같은 핵심 Android 기능이 포함되어 있으며 서드 파티, 앱 관련 호환성이 개선되었습니다.

  • 대체 앱 컨트롤: AAOS를 사용하면 사용자가 운전 중에 특히 커뮤니케이션 앱에서 미디어 센터 오디오가 아닌 오디오를 제어할 수 있습니다.

VHAL 속성

  • 속성 enum @SystemApi 태그: AAOS를 사용하면 서드 파티 앱이 서드 파티 앱에 액세스할 수 있도록 지정된 속성 enum에 액세스할 수 있습니다.

오디오

  • 페이드 및 밸런스 API: AAOS는 퍼스트 파티 앱을 업데이트하여 사용자의 현재 페이드 및 밸런스 설정을 가져옵니다. 이러한 오디오 수준은 점화 주기 전반에서 사용자별로 유지됩니다. 이 업데이트는 자동차 오디오 API의 다른 사용자 제어 오디오 설정과 패리티를 제공합니다.

개인 정보 보호

  • Google 서비스 약관 게이팅: 사용자가 Google 서비스 약관에 동의할 때까지 앱을 사용 중지할 수 있습니다. 사용 중지된 앱의 아이콘은 비활성 상태를 나타내기 위해 회색으로 표시됩니다.

    사용 중지된 앱을 탭하면 사용자에게 Google 서비스 약관에 동의하라는 메시지가 표시됩니다.

    Android 25Q4에서 이 기능은 확장 가능한 UI를 사용하여 구성된 백그라운드 패널에 영구적인 Google 환경을 배치하는 OEM 환경과 호환됩니다. 예를 들어 화면 환경으로 설정된 영구적인 Google 지도 활동은 사용자가 Google 서비스 약관 게이팅에 동의할 때까지 회색으로 표시됩니다.

규정 준수

AAOS는 GSI의 CTS, CTS-V, ATS, ATS-V, STS, VTS, CTS on GSI 테스트 모음을 사용하여 Cuttlefish 및 내부 참조 하드웨어에서 Android 규정 준수를 테스트합니다.

아래에 나열된 문제를 제외하고 Android 16 코드 (android16-release) 또는 Android 16 테스트 브랜치 (android16-m1-tests-dev)에서 수정이 필요한 실패는 없습니다.

향후 AOSP 출시에서 이러한 규정 준수 문제를 해결할 계획입니다.

  • CtsAppSecurityHostTestCases: RoleSecurityTest#cannotGetSmsRoleHolderForAnotherUser

  • CtsMediaHostTestCases: AudioServiceRebootHostTest#testVolumePersists_AfterReboot

  • CtsPermissionUiTestCases: PermissionTest23#testInteractiveGrant

Android 25Q4 테스트 실패

이 섹션에는 Cuttlefish에만 해당하는 Android 25Q4의 실패한 테스트 사례가 나열되어 있습니다. 실패한 테스트는 내부 참조 하드웨어에서 통과합니다. Cuttlefish 및 내부 참조 하드웨어에서 일관되지 않은 테스트 사례를 확인합니다.

테스트 불일치는 여러 그룹의 테스트 실패가 발생하는 15개의 연속 빌드의 결과를 평가하여 결정합니다.

테스트 사례 발생 횟수
CtsWindowManagerBackgroundActivityTestCases 6
CtsJvmtiAttachingHostTestCases 5
CtsViewTestCases 5
CtsStagedInstallHostTestCases 3
CtsUiRenderingTestCases27 2
CtsWindowManagerDeviceActivity 2
CtsAppOpsTestCases 1
CtsNetTestCasesLegacyApi22 1
CtsStatsdAtomHostTestCases 1
CtsUiRenderingTestCases 1