이 문서에서는 공급업체 인터페이스 객체(VINTF 객체)의 설계에 관해 설명합니다. 이 객체는 기기에 관한 관련 정보를 집계하고 쿼리 가능한 API를 통해 정보를 제공합니다.
VINTF 객체 설계
VINTF 객체는 필요한 정보를 기기에서 직접 수집합니다. 매니페스트와 같은 다른 측면은 XML에 통계적으로 설명되어 있습니다.
![](https://source.android.google.cn/docs/core/architecture/images/treble_vintf_mm.png?authuser=2&hl=ko)
VINTF 객체 설계는 기기 및 프레임워크 구성요소와 관련하여 다음을 실행합니다.
기기 | 프레임워크 |
---|---|
|
|
VINTF 객체는 신뢰할 수 있어야 하며 객체 요청 시점과 상관없이 항상 온전한 정보를 제공해야 합니다(주의사항 참조).
매니페스트 및 매트릭스
Android 8.0부터는 런타임 API가 기기의 콘텐츠를 쿼리하고 이 정보를 OTA(Over-the-Air) 업데이트 서버와 관계 당사자(CTS DeviceInfo
등)에게 전송합니다. 일부 정보는 런타임 시에 검색되며 여기서 일부는 정적으로 정의됩니다.
- 기기 매니페스트는 기기가 프레임워크에 제공할 수 있는 콘텐츠의 정적 구성요소를 설명합니다.
- 프레임워크 호환성 매트릭스는 Android 프레임워크가 기기로부터 무엇을 기대하는지 설명합니다. 매트릭스는 Android 프레임워크의 다음 버전이 개발되는 동안 구성이 결정되는 정적 항목입니다.
- 프레임워크 매니페스트는 프레임워크가 기기에 제공할 수 있는 높은 수준의 서비스를 설명합니다.
- 기기 호환성 매트릭스는 공급업체 이미지가 프레임워크에 요구하는 서비스를 설명합니다. 구성은 기기가 개발되는 동안 수동으로 결정됩니다.
이러한 두 쌍의 매니페스트와 매트릭스는 기기가 기기의 기능과 호환되는 프레임워크 업데이트를 받을 수 있도록 OTA 시간에 조정되어야 합니다. 일반적으로 매니페스트는 무엇이 제공되는지를 설명하고 호환성 매트릭스는 무엇이 요구되는지를 설명합니다.
이 섹션에는 다음과 같은 매니페스트 및 매트릭스 관련 세부정보가 포함되어 있습니다.
- 매니페스트는 기기 매니페스트, 프레임워크 매니페스트 및 매니페스트 파일 체계를 정의합니다.
- 호환성 매트릭스는 호환성 매트릭스의 체계를 정의합니다.
- FCM 수명 주기는 HIDL HAL이 어떻게 지원 중단되고 제거되는지, 그리고 FCM 파일이 어떻게 HAL 버전의 상태를 반영하도록 수정되는지를 설명합니다.
- DM 개발은 공급업체가 어떻게 새 기기의 기기 매니페스트에 타겟 FCM 버전을 정의하고 선언할 수 있는지, 그리고 기존 기기의 공급업체 이미지를 업그레이드할 때 타겟 FCM 버전을 어떻게 구현할 수 있는지에 관해 설명합니다.
- 매칭 규칙은 호환성 매트릭스와 매니페스트 간의 성공적인 매칭을 위한 규칙을 정의합니다.