OEM은 최대한 빨리 car-ui-lib-plugin-apis
의 최신 버전(1.2.0 이상)으로 전환해야 합니다. OEM은 이전 버전을 사용하는 플러그인을 제공하지 않는 것이 좋습니다.
업데이트가 필요한 이유는 무엇인가요?
Java 8 이상 API는 Java 8 이상 API 디슈가링 지원을 통해 이전 버전의 Android에서 지원됩니다. 누락된 API의 구현은 앱으로 컴파일되고 APK의 바이트 코드는 플랫폼의 라이브러리 대신 구현을 참조하도록 다시 작성됩니다.
자동차 UI 라이브러리 플러그인에서 UI 구성요소의 OEM 구현을 로드하려면 car-ui-lib-plugin-apis
인터페이스에서 정의한 메서드를 참조해야 합니다. 이러한 메서드 참조는 메서드 서명이 앱 및 플러그인 구현에서 동일하다고 예상하고 앱에서 자동차 UI 라이브러리 플러그인으로 런타임에 만들어집니다.
일부 빌드 시스템은 특정 최소 SDK 수준의 요구사항으로 인해 항상 API 디슈가링을 사용 설정합니다. car-ui-lib-plugin-apis
인터페이스의 디슈가링된 메서드 서명은 디슈가링되지 않은 OEM 플러그인 구현의 서명과 일치하지 않을 수 있으며 이 경우 플러그인이 로드되지 않습니다.
결과적으로 내부 Google 빌드 시스템으로 컴파일된 일부 GAS 앱은 자동차 UI 라이브러리 플러그인과 호환되지 않습니다. 따라서 디슈가링이 필요한 자바 8 이상 API의 모든 종속 항목을 삭제했습니다. 이 변경사항을 적용하려면 car-ui-lib-plugin-apis
에서 정의된 인터페이스의 API를 업데이트해야 합니다.
OEM 플러그인의 필수 단계
다음 단계를 따라 API를 업데이트하세요.
최신 버전의
car-ui-lib-plugin-apis
를 사용하도록 플러그인 구현을 업데이트합니다. 최신 버전(1.2.0 이상)을 다운로드하려면 Google Maven 저장소를 참고하세요.PluginFactoryOEMV4
인터페이스를 구현하도록 플러그인 구현을 업데이트합니다. 이 변경사항을 적용하려면 OEM 플러그인에서 구성요소를 구현할 때 다음 단계가 필요합니다. 다음 OEM 구현을 업데이트합니다.툴바:
ToolbarControllerOEMV2
를 구현합니다.콘텐츠 목록 항목:
ContentListItemOEMV2
를 확장합니다.IME 검색결과 처리:
ImeSearchInterfaceOEMV2
를 확장합니다.
최신 버전의 자동차 UI 라이브러리를 사용하도록 앱을 업데이트합니다.
이 업데이트가 적용되지 않으면 어떻게 되나요?
이 페이지에 제공된 OEM 플러그인에 관한 단계를 완료하지 않으면 Google Automotive 서비스(GAS)와 같은 디슈가링된 앱이 자동차 UI 라이브러리 플러그인 구현을 로드하지 못하고 OEM 맞춤설정이 플러그인 메커니즘을 통해 적용되지 않습니다.
자동차 UI 라이브러리의 기존 RRO 맞춤설정은 이 문제의 영향을 받지 않으며 평소처럼 계속 작동합니다.