ModuleMetadata modülü, belirli bir cihazdaki modüllerin listesi hakkında meta veriler 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, PackageManager'ın API'sinden 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 verileri tarafından desteklenir. Modül meta veri paketi için paket adı, config_defaultModuleMetadataProvider
yapılandırma değerinde depolanı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 aygıttaki modüllerin 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, bir veya daha fazla alt öğeye sahip tek bir üst düzey <module-metadata>
öğesinden oluşmalıdır. Her alt öğe, aşağıdaki öznitelikleri içeren bir <module>
öğesidir:
-
name
kullanıcı tarafından görülebilen bir paket adına 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>