ModuleMetadata modülü, belirli bir cihazdaki modül listesiyle ilgili meta verileri içerir. Meta veriler, sistem sunucusu başlatılır başlatılmaz 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ı, <metadata>
etiketi için <application>
girişi içermelidir. Meta veri girişi, değeri belirli bir cihazdaki modül listesiyle ilgili meta verileri 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 sunulur.
Meta veri öğeleri
XML dokümanı, bir veya daha fazla alt öğe içeren 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 kaynak referansıdır.ModuleInfo#getName
ile eşleşir.packageName
, modülün paket adıdır. Şununla eşleşir:ModuleInfo#getPackageName
.isHidden
, modülün gizli olup olmadığını gösterir. Şununla eşleşir:ModuleInfo#isHidden</code>.
Örnek:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>