ModuleMetadata

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