모바일 앱을 Android Automotive OS 기기에 가져오는 프로세스를 간소화하기 위해 특정 자동차에는 기존 모바일 앱을 자동차에 가져올 때 발생하는 일반적인 문제를 해결하는 호환성 모드가 제공됩니다.
이 호환성 모드는 자동차 지원 모바일 앱 프로그램에서 사용되지만 이 프로그램에 속하지 않은 앱도 이 모드에서 실행할 수 있습니다.
호환성 모드 이해
Android Automotive OS 호환성 모드는 일부 차량에서 Android Automotive OS에서 실행할 때 휴대기기용으로 빌드된 앱의 사용자 환경을 개선하기 위해 사용할 수 있는 소프트웨어 기능입니다.
뒤로 탐색
다른 폼 팩터와 달리 Android Automotive OS 기기에는 하드웨어 또는 소프트웨어 뒤로 어포던스가 필요하지 않습니다. 호환성 모드는 하드웨어 버튼, 소프트웨어 버튼, 동작 등 시스템에서 제공하는 뒤로 어포던스를 요구하여 이 문제를 해결합니다. 이렇게 하면 앱이 자체 UI 요소를 통해서만 탐색 가능성을 보장할 필요가 없습니다.

호환성 모드를 사용하여

호환성 모드가 적용되지 않음
안전 영역 렌더링
자동차에서는 시스템 표시줄 및 디스플레이 컷아웃과 같은 소프트웨어 및 하드웨어 요소로 인해 주로 휴대기기용으로 개발된 앱에서 가정한 사항이 적용되지 않을 수 있습니다. 호환성 모드는 앱이 안전한 영역에서 렌더링되도록 하여 이 문제를 해결합니다.
밀도 확장
자동차의 상호작용 거리는 다른 대형 화면 기기보다 길기 때문에 자동차에서 실행할 때 터치 영역과 글꼴 크기가 권장보다 작을 수 있습니다. 호환성 모드는 OEM이 앱을 렌더링할 때 사용되는 DPI 배율을 지정할 수 있도록 허용하여 이 문제를 해결합니다.
활동 수명 주기
Android Automotive OS용 주차 앱 빌드에 설명된 대로 OS는 운전자의 주의가 분산되는 것을 줄이기 위해 자동차가 운전 모드로 전환될 때 앱의 활동을 자동으로 차단합니다. 호환성 모드가 있는 기기에서는 OEM의 차단 UI가 투명해서는 안 되므로 앱이 더 이상 표시되지 않고 차단되면 중지됨 수명 주기 상태로 전환됩니다.
호환성 모드 구성
기본적으로 앱의 활동은 기기에서 호환성 모드를 지원하는 경우 호환성 모드로 실행됩니다. 다음과 같은 경우에는 활동이 호환성 모드로 실행되지 않습니다.
android.hardware.type.automotive
기능의<uses-feature>
요소가 매니페스트에 있는 경우:
<application ...>
...
<uses-feature android:name="android.hardware.type.automotive" ...>
...
</application>
- 다음
<meta-data>
요소가 포함된<activity>
매니페스트 요소가 있는 경우
<meta-data android:name="distractionOptimized" android:value="true">
이러한 조건 중 하나가 앱에 적용되지만 활동을 디스플레이 호환성 모드로 실행하려면 앱 매니페스트에 다음 <meta-data>
요소를 추가하면 됩니다.
<application ...>
...
<meta-data android:name="android.software.car.display_compatibility" android:value="true"/>
...
</application>
호환성 모드에서 앱 테스트
호환성 모드에서 앱을 테스트하려면 호환성 모드가 적용된 일반 시스템 이미지 또는 Pixel Tablet의 Android Automotive OS 시스템 이미지를 사용하면 됩니다.
기기 지원 결정
Android Automotive OS 호환 모드를 지원하는 기기는 android.software.car.display_compatibility
시스템 기능을 선언해야 합니다. 이 기능을 지원하는 기기를 확인하려면 Play Console의 기기 카탈로그를 사용하세요.