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'sı, PackageManager'ın API'sindeki getModuleInfo
ve getInstalledModules
yöntemlerini uygulayan ModuleInfoProvider
içerir. Bu yöntemler, bir modül meta veri sağlayıcı paketinden ayrıştırılan XML meta verileriyle 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ı, <application>
etiketi için bir <metadata>
girişi içermelidir. Meta veri girişi, değeri belirli bir cihazdaki modüllerin listesi hakkında meta veriler 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, bir veya daha fazla alt öğeye sahip tek bir üst düzey <module-metadata>
öğesinden oluşmalıdır. Her çocuk aşağıdaki nitelikleri içeren bir <module>
öğesidir:
-
name
kullanıcının görebileceği bir paket adına yapılan kaynak referansıdır.ModuleInfo#getName
ile eşleşir. -
packageName
modülün paket adıdır.ModuleInfo#getPackageName
ile eşleşir. -
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>