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>