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 aModuleInfo#getName
. -
packageName
è il nome del pacchetto del modulo. Esegue il mapping aModuleInfo#getPackageName
. -
isHidden
indica se il modulo è nascosto. Mappa suModuleInfo#isHidden</code>.
Esempio:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>