ModuleMetadata

ماژول ModuleMetadata شامل فراداده‌هایی درباره فهرست ماژول‌های موجود در یک دستگاه مشخص است. این فراداده‌ها به محض شروع به کار سرور سیستم، تجزیه و ذخیره می‌شوند.

تغییرات در اندروید ۱۰

فایل APK مربوط به ModuleMetadata شامل ModuleInfoProvider است که متدهای getModuleInfo و getInstalledModules را از API مربوط به PackageManager پیاده‌سازی می‌کند. این متدها توسط متادیتای XML که از یک بسته‌ی ارائه‌دهنده‌ی متادیتای ماژول تجزیه شده است، پشتیبانی می‌شوند. نام بسته‌ی متادیتای ماژول در مقدار پیکربندی config_defaultModuleMetadataProvider ذخیره می‌شود.

ارائه‌دهنده‌ی فراداده‌ی ماژول باید شامل یک ورودی <metadata> برای تگ <application> خود باشد. ورودی فراداده باید شامل یک کلید ( android.content.pm.MODULE_METADATA ) باشد که مقدار آن ارجاعی به یک منبع XML است که شامل فراداده‌هایی در مورد لیست ماژول‌های موجود در یک دستگاه مشخص است.

قالب بسته

ماژول ModuleMetadata ( com.android.modulemetadata ) به صورت یک فایل APK ارائه می‌شود.

عناصر فراداده

سند XML باید شامل یک عنصر سطح بالای <module-metadata> با یک یا چند فرزند باشد. هر فرزند یک عنصر <module> است که شامل ویژگی‌های زیر است:

  • name یک ارجاع منبع به نام بسته‌ای است که توسط کاربر قابل مشاهده است. به ModuleInfo#getName نگاشت می‌شود.
  • packageName نام بسته ماژول است. به ModuleInfo#getPackageName نگاشت می‌شود.
  • isHidden نشان می‌دهد که آیا ماژول پنهان است یا خیر. به ModuleInfo#isHidden</code>.

مثال:

<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>