البيانات الوصفية للوحدة

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