ModuleMetadata modülü, belirli bir cihazdaki modül listesinin meta verilerini 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 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, değeri belirli bir cihazdaki modül listesi hakkında meta veriler içeren bir XML kaynağına referans olan tek bir anahtar (android.content.pm.MODULE_METADATA
) içermelidir.
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ı tarafından görülebilen bir paket adına yönelik bir kaynak referansı.ModuleInfo#getName
ile eşleşir.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>.
ile eşleştirilir
Örnek:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>