Obiekt interfejsu dostawcy

W tym dokumencie opisano projekt obiektu interfejsu dostawcy (obiekt VINTF), który agreguje istotne informacje o urządzeniu i udostępnia je za pośrednictwem interfejsu API z możliwością wysyłania zapytań .

Projekt obiektu VINTF

Obiekt VINTF zbiera część potrzebnych informacji bezpośrednio z urządzenia. Inne aspekty, takie jak manifesty, są opisane statycznie w formacie XML.

Rysunek 1. Manifesty, macierze zgodności i informacje zbierane w czasie wykonywania

Projekt obiektowy VINTF zapewnia następujące elementy dla komponentów urządzeń i szkieletu:

Dla urządzenia Dla Ram
  • Definiuje schemat komponentu statycznego ( plik manifestu urządzenia ).
  • Dodaje obsługę czasu kompilacji w celu definiowania pliku manifestu urządzenia dla danego urządzenia.
  • Definiuje interfejs API, z którym można wykonywać zapytania, w czasie wykonywania, który pobiera plik manifestu urządzenia (wraz z innymi informacjami zbieranymi w czasie wykonywania) i pakuje je w wynik zapytania.

Obiekt VINTF musi być niezawodny i dostarczać tych samych pełnych informacji niezależnie od tego, kiedy zażądano obiektu (patrz Zastrzeżenia ).

Manifesty i matryce

Począwszy od wersji Androida 8.0, interfejs API środowiska wykonawczego pyta o zawartość urządzenia i wysyła te informacje do serwera aktualizacji OTA (Over-the-Air) i innych zainteresowanych stron (takich jak CTS DeviceInfo ). Niektóre informacje są pobierane w czasie wykonywania, a niektóre są definiowane statycznie.

  • Manifest urządzenia opisuje statyczny komponent tego, co urządzenie może udostępnić platformie.
  • Macierz kompatybilności frameworka opisuje, czego framework Android oczekuje od danego urządzenia. Matryca jest statyczną jednostką, której skład jest ustalany ręcznie podczas tworzenia kolejnej wersji frameworka Android.
  • Manifest struktury opisuje usługi wysokiego poziomu, które platforma może zapewnić urządzeniu.
  • Macierz kompatybilności urządzeń opisuje usługi, których obraz dostawcy wymaga od platformy. Jego skład ustalany jest ręcznie podczas opracowywania urządzenia.

Te dwie pary manifestów i macierzy muszą zostać uzgodnione w czasie OTA, aby mieć pewność, że urządzenie będzie mogło uzyskać aktualizacje platformy zgodne z możliwościami urządzenia. Ogólnie rzecz biorąc, manifest opisuje, co jest dostarczane, a macierz zgodności opisuje, co jest wymagane.

Ta sekcja zawiera następujące szczegóły dotyczące manifestów i macierzy:

  • Manifesty definiują manifest urządzenia, manifest struktury i schemat pliku manifestu.
  • Matryce zgodności definiuje schemat macierzy zgodności.
  • Cykl życia FCM szczegółowo opisuje, w jaki sposób warstwy HAL HIDL są przestarzałe i usuwane oraz w jaki sposób pliki FCM są modyfikowane w celu odzwierciedlenia stanu wersji HAL.
  • DM Development opisuje, w jaki sposób dostawcy mogą definiować i deklarować docelową wersję FCM w manifeście urządzenia dla nowych urządzeń lub wdrażać nowe wersje HAL i zwiększać docelową wersję FCM podczas aktualizacji obrazu dostawcy dla starych urządzeń.
  • Reguły dopasowywania definiują reguły pomyślnego dopasowania między macierzą zgodności a manifestem.