Metadati modulo

Il modulo ModuleMetadata contiene metadati sull'elenco dei moduli su un determinato dispositivo. I metadati vengono analizzati e memorizzati nella cache non appena viene avviato il server di sistema.

Cambiamenti in Android 10

L'APK ModuleMetadata contiene ModuleInfoProvider , che implementa i metodi getModuleInfo e getInstalledModules dall'API di PackageManager. Questi metodi sono supportati da metadati XML analizzati da un pacchetto del provider di metadati del modulo. Il nome del pacchetto di metadati del modulo è archiviato nel valore di configurazione config_defaultModuleMetadataProvider .

Il provider di metadati del modulo deve contenere una voce <metadata> per il tag <application> . La voce di metadati deve contenere una singola chiave ( android.content.pm.MODULE_METADATA ) il cui valore è un riferimento a una risorsa XML che contiene metadati sull'elenco di moduli su un determinato dispositivo.

Formato del pacchetto

Il modulo ModuleMetadata ( com.android.modulemetadata ) viene fornito come file APK.

Elementi di metadati

Il documento XML deve essere costituito da un singolo elemento <module-metadata> di livello superiore con uno o più elementi secondari. Ogni figlio è un elemento <module> che contiene i seguenti attributi:

  • name è un riferimento di risorsa a un nome di pacchetto visibile all'utente. Esegue il mapping a ModuleInfo#getName .
  • packageName è il nome del pacchetto del modulo. Esegue il mapping a ModuleInfo#getPackageName .
  • isHidden indica se il modulo è nascosto. Mappa su ModuleInfo#isHidden</code>.

Esempio:

<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>