Google is committed to advancing racial equity for Black communities. See how.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Objeto de interfaz de proveedor

Este documento describe el diseño del objeto de interfaz del proveedor ( objeto VINTF), que agrega información relevante sobre un dispositivo y hace que esa información esté disponible a través de una API consultable .

Diseño de objetos VINTF

Un objeto VINTF recopila parte de la información que necesita directamente del dispositivo. Otros aspectos, como los manifiestos, se describen estáticamente en XML.

Figura 1. Manifiestos, matrices de compatibilidad e información recopilable en tiempo de ejecución

El diseño de objetos VINTF proporciona lo siguiente para los componentes del dispositivo y del marco:

Para el dispositivo Para el marco
  • Define un esquema para el componente estático (el archivo de manifiesto del dispositivo ).
  • Agrega soporte de tiempo de compilación para definir el archivo de manifiesto del dispositivo para un dispositivo determinado.
  • Define la API consultable en tiempo de ejecución que recupera el archivo de manifiesto del dispositivo (junto con el resto de información recopilable en tiempo de ejecución) y los empaqueta en el resultado de la consulta.
  • Define un esquema para el componente estático (el archivo de manifiesto del marco ).
  • Define la API consultable en tiempo de ejecución que recupera el archivo de manifiesto del marco y lo empaqueta en el resultado de la consulta.

El objeto VINTF debe ser confiable y proporcionar la misma información completa independientemente de cuándo se solicite el objeto (consulte Advertencias ).

Manifiestos y matrices

A partir de Android 8.0, una API en tiempo de ejecución consulta lo que hay en el dispositivo y envía esa información al servidor de actualización Over-the-Air (OTA) y otras partes interesadas (como CTS DeviceInfo ). Parte de la información se recupera en tiempo de ejecución y parte de ella está definida estáticamente.

  • El manifiesto del dispositivo describe el componente estático de lo que el dispositivo puede proporcionar al marco.
  • La matriz de compatibilidad del marco describe lo que el marco de Android espera de un dispositivo determinado. La matriz es una entidad estática cuya composición se determina manualmente durante el desarrollo de la próxima versión del marco de Android.
  • El manifiesto del marco describe los servicios de alto nivel que el marco puede proporcionar al dispositivo.
  • La matriz de compatibilidad de dispositivos describe los servicios que la imagen del proveedor requiere del marco. Su composición se determina manualmente durante el desarrollo del dispositivo.

Estos dos pares de manifiestos y matrices deben conciliarse en el momento de la OTA para garantizar que un dispositivo pueda obtener actualizaciones del marco que sean compatibles con las capacidades del dispositivo. En general, un manifiesto describe lo que se proporciona y una matriz de compatibilidad describe lo que se requiere.

Esta sección incluye los siguientes detalles sobre manifiestos y matrices:

  • Manifests define el manifiesto del dispositivo, el manifiesto del marco y el esquema del archivo de manifiesto.
  • Matrices de compatibilidad define el esquema de la matriz de compatibilidad.
  • El ciclo de vida de FCM detalla cómo las HIDL HAL quedan obsoletas y se eliminan y cómo se modifican los archivos FCM para reflejar el estado de la versión HAL.
  • DM Development describe cómo los proveedores pueden definir y declarar la versión Target FCM en el manifiesto del dispositivo para nuevos dispositivos o implementar nuevas versiones de HAL e incrementar la versión Target FCM al actualizar la imagen del proveedor para dispositivos antiguos.
  • Matching Rules define las reglas para una coincidencia exitosa entre una matriz de compatibilidad y un manifiesto.