Objek antarmuka vendor

Dokumen ini menjelaskan desain objek antarmuka vendor (objek VINTF), yang menggabungkan informasi yang relevan tentang perangkat dan menyediakan informasi tersebut melalui API yang dapat dikueri.

Desain objek VINTF

Objek VINTF mengumpulkan beberapa informasi yang diperlukannya langsung dari perangkat. Aspek lainnya, seperti manifes, dijelaskan secara statis dalam XML.

Gambar 1. Manifes, matriks kompatibilitas, dan informasi yang dapat dikumpulkan runtime.

Desain objek VINTF menyediakan hal berikut untuk komponen perangkat dan framework:

Untuk Perangkat Untuk Framework
  • Menentukan skema untuk komponen statis (file manifes perangkat).
  • Menambahkan dukungan waktu build untuk menentukan file manifes perangkat untuk perangkat tertentu.
  • Menentukan API yang dapat dikueri saat runtime yang mengambil file manifes perangkat (beserta informasi runtime lainnya yang dapat dikumpulkan) dan mengemasnya ke dalam hasil kueri.

Objek VINTF harus andal dan memberikan informasi lengkap yang sama terlepas dari kapan objek diminta (lihat Perhatian).

Manifes dan matriks

Mulai Android 8.0, API runtime membuat kueri tentang apa yang ada di perangkat dan mengirim informasi tersebut ke server update Over-the-Air (OTA) dan pihak lain yang berkepentingan (seperti CTS DeviceInfo). Beberapa informasi diambil saat runtime dan beberapa didefinisikan secara statis.

  • Manifes perangkat menjelaskan komponen statis dari apa yang dapat disediakan perangkat ke framework.
  • Matriks kompatibilitas framework menjelaskan hal yang diharapkan framework Android dari perangkat tertentu. Matriks adalah entity statis yang komposisinya ditentukan secara manual selama pengembangan rilis berikutnya dari framework Android.
  • Manifes framework menjelaskan layanan tingkat tinggi yang dapat disediakan framework ke perangkat.
  • Matriks kompatibilitas perangkat menjelaskan layanan yang diperlukan image vendor dari framework. Komposisinya ditentukan secara manual selama pengembangan perangkat.

Kedua pasangan manifes dan matriks ini harus direkonsiliasi pada waktu OTA untuk memastikan perangkat dapat mendapatkan update framework yang kompatibel dengan kemampuan perangkat. Secara umum, manifes menjelaskan apa yang disediakan dan matriks kompatibilitas menjelaskan apa yang diperlukan.

Bagian ini mencakup detail berikut tentang manifes dan matriks:

  • Manifes menentukan manifes perangkat, manifes framework, dan skema file manifes.
  • Matriks Kompatibilitas menentukan skema untuk matriks kompatibilitas.
  • Siklus Proses FCM menjelaskan cara HAL HIDL tidak digunakan lagi dan dihapus serta cara file FCM diubah untuk mencerminkan status Versi HAL.
  • Pengembangan DM menjelaskan cara vendor dapat menentukan dan mendeklarasikan Versi FCM Target dalam manifes perangkat untuk perangkat baru atau menerapkan versi HAL baru dan menambahkan Versi FCM Target saat mengupgrade image vendor untuk perangkat lama.
  • Aturan Pencocokan menentukan aturan untuk pencocokan yang berhasil antara matriks kompatibilitas dan manifes.