تحتوي وحدة ModuleMetadata على بيانات وصفية عن قائمة الوحدات على جهاز معيّن. يتم تحليل البيانات الوصفية وتخزينها مؤقتًا فور بدء تشغيل "خادم النظام".
التغييرات في Android 10
يحتوي ملف APK الخاص بـ ModuleMetadata على ModuleInfoProvider
، الذي
ينفِّذ الطريقتَين getModuleInfo
وgetInstalledModules
من واجهة برمجة التطبيقات 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>