ModuleMetadata modülü, belirli bir cihazdaki modüllerin listesi hakkında meta veriler içerir. Meta veriler, sistem sunucusu başlar başlamaz ayrıştırılır ve önbelleğe alınır.
Android 10'daki değişiklikler
ModuleMetadata APK, PackageManager'ın API'sinden getModuleInfo
ve getInstalledModules
yöntemlerini uygulayan ModuleInfoProvider
öğesini içerir. Bu yöntemler, bir modül meta veri sağlayıcı paketinden ayrıştırılan XML meta verileri tarafından desteklenir. Modül meta veri paketinin paket adı, config_defaultModuleMetadataProvider
yapılandırma değerinde saklanır.
Modül meta veri sağlayıcısı bir <metadata>
<application>
etiket. Meta veri girişi, değeri belirli bir cihazdaki modüller listesi hakkında meta verileri içeren bir XML kaynağına referans olan tek bir anahtar ( android.content.pm.MODULE_METADATA
) içermelidir.
Paket formatı
ModuleMetadata modülü ( com.android.modulemetadata
) bir APK dosyası olarak teslim edilir.
Meta veri öğeleri
XML belgesi, tek bir üst düzey <module-metadata>
bir veya daha fazla çocuğu olan eleman. Her alt öğe bir <module>
aşağıdaki özellikleri içeren öğe:
-
name
, kullanıcı tarafından görülebilen bir paket adına yapılan bir kaynak referansıdır.ModuleInfo#getName
ile eşlenir. -
packageName
, modülün paket adıdır.ModuleInfo#getPackageName
ile eşlenir. -
isHidden
, modülün gizli olup olmadığını gösterir.ModuleInfo#isHidden</code>.
Örnek:
<module-metadata
<module name="@string/resource" packageName="package_name" isHidden="false|true"
<module ....
</module-metadata>