ماژول 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>