En este documento, se describe el diseño del objeto de interfaz de proveedor (objeto VINTF), que agrega información relevante sobre un dispositivo y la pone a disposición a través de una API consultable.
Diseño del objeto VINTF
Un objeto VINTF recopila parte de la información que necesita directamente del dispositivo. Otros aspectos, como los manifiestos, se describen de forma estática en XML.

Figura 1: Manifiestos, matrices de compatibilidad y la información que se puede recopilar en el entorno de ejecución
El diseño de objetos VINTF proporciona lo siguiente para los componentes del dispositivo y del framework:
Para el dispositivo | Para el framework |
---|---|
|
|
El objeto VINTF debe ser confiable y proporcionar la misma información completa sin importar cuándo se solicite (consulta las Advertencias).
Manifiestos y matrices
A partir de Android 8.0, una API de entorno de ejecución consulta lo que hay en el dispositivo y envía esa información al servidor de actualizaciones inalámbricas (OTA) y a otras partes interesadas (como CTS DeviceInfo
). Parte de la información se recupera durante el tiempo de ejecución y parte se define de forma estática.
- El manifiesto del dispositivo describe el componente estático de lo que el dispositivo puede proporcionar al framework.
- La matriz de compatibilidad del framework describe lo que el framework de Android espera de un dispositivo determinado. La matriz es una entidad estática cuya composición se determina de forma manual durante el desarrollo de la próxima versión del framework de Android.
- En el manifiesto del framework, se describen los servicios de alto nivel que el framework puede proporcionar al dispositivo.
- La matriz de compatibilidad de dispositivos describe los servicios que la imagen del proveedor requiere del framework. Su composición se determina de forma manual durante el desarrollo del dispositivo.
Estos dos pares de manifiestos y matrices deben reconciliarse en el momento de la actualización inalámbrica para garantizar que un dispositivo pueda obtener actualizaciones de framework que sean compatibles con sus capacidades. En general, un manifiesto describe lo que se proporciona y una matriz de compatibilidad describe lo que se requiere.
En esta sección, se incluyen los siguientes detalles sobre los manifiestos y las matrices:
- Manifiestos define el manifiesto del dispositivo, el manifiesto del framework y el esquema del archivo de manifiesto.
- Matrices de compatibilidad define el esquema de la matriz de compatibilidad.
- En el Ciclo de vida de FCM, se detalla cómo se dan de baja y se quitan los HAL de HIDL, y cómo se modifican los archivos de FCM para reflejar el estado de la versión de HAL.
- En Desarrollo de DM, se describe cómo los proveedores pueden definir y declarar la versión objetivo de FCM en el manifiesto del dispositivo para dispositivos nuevos, o bien implementar nuevas versiones de HAL y aumentar la versión objetivo de FCM cuando se actualiza la imagen del proveedor para dispositivos antiguos.
- Matching Rules define las reglas para que se establezca una coincidencia correcta entre una matriz de compatibilidad y un manifiesto.