ModuleMetadata modülü, belirli bir cihazdaki modül listesinin meta verilerini içerir. Sistem sunucusu başlar başlamaz meta veriler ayrıştırılır ve önbelleğe alınır.
Android 10'daki değişiklikler
ModuleMetadata APK'sı, PackageManager API'sindeki getModuleInfo
ve getInstalledModules
yöntemlerini uygulayan ModuleInfoProvider
sınıfını içerir. Bu yöntemler, 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 tek bir anahtar (android.content.pm.MODULE_METADATA
) içermelidir. Bu anahtarın değeri, belirli bir cihazdaki modül listesiyle ilgili meta verileri içeren XML kaynağına başvurudur.
Paket biçimi
ModuleMetadata modülü (com.android.modulemetadata
), APK dosyası olarak yayınlanır.
Meta veri öğeleri
XML dokümanı, bir veya daha fazla alt öğesi olan tek bir üst düzey <module-metadata>
öğesinden oluşmalıdır. Her alt öğe, aşağıdaki özellikleri içeren bir <module>
öğesidir:
name
, kullanıcının görebildiği paket adına kaynak referansıdır.ModuleInfo#getName
hedefine Haritalar.packageName
, modülün paket adıdır.ModuleInfo#getPackageName
'e giden haritalarisHidden
, modülün gizli olup olmadığını gösterir. Haritalar ileModuleInfo#isHidden</code>.
Örnek:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>