ModuleMetadata

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>