המודול ModuleMetadata מכיל מטא-נתונים על רשימת המודולים במכשיר נתון. המטא-נתונים מנותחים ונשמרים במטמון ברגע ששרת המערכת מתחיל.
שינויים ב-Android 10
ה-APK של ModuleMetadata מכיל ModuleInfoProvider
,
מטמיעים את getModuleInfo
ואת getInstalledModules
מ-API של 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>