Automotive

Android app support in Car

chbae 2023. 10. 18. 05:11
728x90

자동차 회사들이 안드로드이 앱을 차량용 인포테인먼트에서 지원하려고 많이들 노력하고 있다. 이 글에서는 안드로이드 앱을 지원하는 방법들에 대해서 알아보려고 한다.

 

Mercedes-Benz 2024 New E-Class

 

벤츠 2024 E 클래스 풀체인지에서 틱톡, Zoom, Angry Bird와 같은 안드로이드 앱을 MBUX 위에서 지원한다. 이를 지원하는 방법은 여러가지가 있다. 그중 가장 많이 사용하는 3가지 방법에 대해서 이야기보고자 한다.

1. Full Android Automotive OS

 

전체 인포테인먼트 플랫폼을 안드로이드 오토모티브를 사용하는 방법이다. 많은 OEM에서 플랫폼 유지보수 비용을 줄이고 구글의 최신 기술을 계속 받아들이고자 사용하고 있다. 단점으로는 구글에 바이어스가 될 수 있다는 점이 있고 플랫폼 주도권을 직접 가지고 가지 못한다. 구글 인증을 받아 GAS (Google Automotive Suite)을 사용하는 OEM이 있고, 인증은 받지 않고 앱스토어와 같은 핵심 기능을 자체 구현해서 사용하는 OEM도 있다. Volvo나 Polestar 등이 실제 제품을 출시해서 사용 중에 있다. 현재 자체 플랫폼을 사용하지만 안드로이드 오토모티브로 움직이는 OEM들도 꽤 있다.

2. 하이퍼바이저 기반 Guest OS로 안드로이드 오토모티브 OS

출처: https://www.esol.com/press/press_94.html

하이퍼바이저를 사용하여 리눅스나 다른 OS를 메인으로 사용하고 안드로이드 오토모티브를 Guest OS로 올려 사용하는 방법도 있다. 장점은 다른 OS에 의존성이 크게 없이 하이퍼바이저 위에 올라가면 안드로이드만 독립적으로 운영될 수 있고 업데이트가 가능하다는 점이고 단점은 하이퍼바이저 위에 하나의 GuestOS가 더 올라가서 리소스 소모가 더 된다는 것이다. 또한 3번째 옵션인 컨테이너 위에 올리는 방법과 비슷하게 그래픽과 오디오 등을 다른 메인 OS와 공유하는 기술이 필요하다는 것이고 필자가 아는 바로 이에 대한 표준은 아직 없다.

3. 컨테이너 기반 안드로이드 오토모티브 OS

다른 OS위에 lxc, docker, podman등과 같은 컨테이너에 안드로이드를 올리고 그래픽등을 메인 OS와 공유하는 방법이다. 이 방법은 하이퍼바이저 솔루션과 상대적으로 가볍지만 업그레이드 시 메인 OS와 의존성 (예, 커널)이 있고 안드로이드만을 위해 리소스 할당하는것이 어렵다. https://devblog.blackberry.com/en/2021/09/containers-and-hypervisors-complementary-technologies-and-strategies 가 위의 그림 출처이고 2, 3번 솔루션에 대한 비교가 간단히 적혀 있다.

 

세가지 솔루션 모두 장단점이 있어서 각자 회사와 프로젝트에 맞는 솔루션을 찾아서 가면 된다. 안드로이드 앱을 지원하는 것은 중국시장의 요구사항이 크고 많은 개발자 생태계가 있어서 점점 활성화가 될 것으로 보인다.

 

직접 솔루션을 가지고 있지 않으면 SoC 벤더나 Tier 1과 이야기해보면 1,2,3 옵션 모두 각자 PoC 수준의 것들은 대부분 가지고 있는 것으로 알고 있다.