شیء رابط فروشنده

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

طراحی شی VINTF

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

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

طراحی شی VINTF موارد زیر را برای اجزای دستگاه و چارچوب فراهم می کند:

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

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

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

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

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

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

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

  • Manifests مانیفست دستگاه، مانیفست چارچوب و طرح فایل مانیفست را تعریف می کند.
  • Compatibility Matrixes طرحی را برای ماتریس سازگاری تعریف می کند.
  • FCM Lifecycle نحوه منسوخ شدن و حذف HIDL HAL ها و نحوه تغییر فایل های FCM برای منعکس کردن وضعیت نسخه HAL را توضیح می دهد.
  • DM Development توضیح می‌دهد که چگونه فروشندگان می‌توانند نسخه FCM هدف را در مانیفست دستگاه برای دستگاه‌های جدید تعریف و اعلام کنند یا نسخه‌های HAL جدید را پیاده‌سازی کنند و هنگام ارتقای تصویر فروشنده برای دستگاه‌های قدیمی، نسخه FCM هدف را افزایش دهند.
  • قوانین تطبیق قوانینی را برای تطابق موفق بین ماتریس سازگاری و مانیفست تعریف می کند.