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