تحتوي وحدة 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>