ModuleMetadata

تحتوي وحدة ModuleMetadata على بيانات وصفية حول قائمة الوحدات على جهاز معيّن. تتم معالجة بيانات التعريف وتخزينها مؤقتًا فور بدء تشغيل خادم النظام.

التغييرات في Android 10

يحتوي ملف ModuleMetadata APK على 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>