המודול 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
הוא שם החבילה של המודול. מפות Google לModuleInfo#getPackageName
.isHidden
מציין אם המודול מוסתר. מפות אלModuleInfo#isHidden</code>.
דוגמה:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>