شیء میانای فروشنده

این سند طراحی شیء رابط فروشنده (شیء VINTF) را شرح می‌دهد که اطلاعات مربوط به دستگاه را جمع‌آوری می‌کند و این اطلاعات را ازطریق میانای برنامه‌سازی کاربردی پُرسمان‌پذیر دردسترس قرار می‌دهد.

طراحی شیء VINTF

شیء VINTF برخی‌از اطلاعات موردنیاز خود را مستقیماً از دستگاه جمع‌آوری می‌کند. جنبه‌های دیگر، مانند مانیفست‌ها، به‌صورت ایستا در XML شرح داده شده‌اند.

شکل ۱. مانیفست‌ها، ماتریس‌های سازگاری، و اطلاعات قابل‌جمع‌آوری در زمان اجرا.

طراحی شیء VINTF موارد زیر را برای مؤلفه‌های چارچوب و دستگاه ارائه می‌دهد:

برای دستگاه برای چارچوب
  • طرحواره‌ای برای عنصر ایستا (فایل مانیفست دستگاه) تعریف می‌کند.
  • پشتیبانی زمان ساخت را برای تعریف فایل مانیفست دستگاه برای دستگاه معینی اضافه می‌کند.
  • میانای برنامه‌سازی کاربردی قابل‌پرس‌وجو را در زمان اجرا تعریف می‌کند که فایل مانیفست دستگاه را (همراه با سایر اطلاعات قابل‌جمع‌آوری در زمان اجرا) بازیابی می‌کند و آن‌ها را در نتیجه پُرس‌وجو بسته‌بندی می‌کند.
  • طرح‌واره‌ای برای عنصر ایستا (فایل مانیفست چارچوب) تعریف می‌کند.
  • قابل‌پرسش API را در زمان اجرا تعریف می‌کند که فایل مانیفست چارچوب را بازیابی می‌کند و آن را در نتیجه پُرسمان بسته‌بندی می‌کند.

شیء VINTF باید قابل‌اعتماد باشد و اطلاعات کامل یکسانی را بدون توجه به زمان درخواست شیء ارائه دهد (به هشدارها مراجعه کنید).

مانیفست‌ها و ماتریس‌ها

از Android 8.0، یک میانای برنامه‌سازی کاربردی زمان اجرا آنچه را در دستگاه است جستجو می‌کند و آن اطلاعات را به سرور به‌روزرسانی ازطریق هوا (OTA) و دیگر طرف‌های ذینفع (مانند CTS DeviceInfo) ارسال می‌کند. برخی‌از اطلاعات در زمان اجرا بازیابی می‌شود و برخی‌از آن به‌صورت ایستا تعریف می‌شود.

  • مانیفست دستگاه مؤلفه ایستا را برای آنچه دستگاه می‌تواند به چارچوب ارائه دهد توصیف می‌کند.
  • ماتریس سازگاری چارچوب توضیح می‌دهد که چارچوب Android چه انتظاری از یک دستگاه معین دارد. ماتریس یک نهاد ایستا است که ترکیب آن به‌صورت دستی درطول توسعه نسخه پخش بعدی چارچوب Android تعیین می‌شود.
  • مانیفست چارچوب سرویس‌های سطح بالایی را که چارچوب می‌تواند به دستگاه ارائه دهد توصیف می‌کند.
  • ماتریس سازگاری دستگاه سرویس‌هایی را که تصویر فروشنده از چارچوب نیاز دارد شرح می‌دهد. ترکیب آن به‌صورت دستی درطول توسعه دستگاه تعیین می‌شود.

این دو جفت مانیفست و ماتریس باید در زمان OTA تطبیق داده شوند تا اطمینان حاصل شود که دستگاه می‌تواند به‌روزرسانی‌های چارچوبی را دریافت کند که با قابلیت‌های دستگاه سازگار هستند. به‌طورکلی، مانیفست آنچه را که ارائه می‌شود توصیف می‌کند و ماتریس سازگاری آنچه را که لازم است توصیف می‌کند.

این بخش شامل جزئیات زیر درباره مانیفست‌ها و ماتریس‌ها است:

  • مانیفست‌ها مانیفست دستگاه، مانیفست چارچوب، و طرحواره فایل مانیفست را تعریف می‌کند.
  • سازگاری ماتریس‌ها طرحواره ماتریس سازگاری را تعریف می‌کند.
  • جزئیات چرخه حیات FCM نحوه منسوخ و حذف شدن HIDL HALs و نحوه اصلاح فایل‌های FCM را برای بازتاب وضعیت «نسخه HAL» نشان می‌دهد.
  • توسعه DM توضیح می‌دهد فروشندگان چگونه می‌توانند «نسخه هدف FCM» را در مانیفست دستگاه برای دستگاه‌های جدید تعریف و اعلام کنند یا نسخه‌های جدید HAL را پیاده‌سازی کنند و هنگام ارتقا دادن تصویر فروشنده برای دستگاه‌های قدیمی، «نسخه هدف FCM» را افزایش دهند.
  • قوانین مطابقت قوانین مطابقت موفق بین ماتریس سازگاری و مانیفست را تعریف می‌کند.