ModuleMetadata 모듈에는 지정된 기기의 모듈 목록에 관한 메타데이터가 포함됩니다. 메타데이터는 시스템 서버가 시작되는 즉시 파싱 및 캐시됩니다.
Android 10 변경사항
ModuleMetadata APK에는 PackageManager
API의 getModuleInfo
및 getInstalledModules
메서드를 구현한 ModuleInfoProvider
가 포함됩니다. 이러한 메서드는 모듈 메타데이터 제공자 패키지에서 파싱된 XML 메타데이터를 기반으로 합니다. 모듈 메타데이터 패키지의 패키지 이름은 config_defaultModuleMetadataProvider
구성 값에 저장됩니다.
모듈 메타데이터 제공자는 <application>
태그의 <metadata>
항목을 포함해야 합니다. 메타데이터 항목에는 단일 키(android.content.pm.MODULE_METADATA
)가 있어야 하며 키의 값은 지정된 기기 모듈 목록의 메타데이터를 포함하는 XML 리소스에 관한 참조입니다.
형식 및 종속 항목
ModuleMetadata 모듈은 APK 파일로 제공됩니다. XML 문서에서 메타데이터에는 하나 이상의 하위 요소가 있는 단일 최상위 <module-metadata>
요소가 포함됩니다. 각 하위 요소는 다음 속성을 포함하는 <module>
요소입니다.
name
은 사용자에게 표시되는 패키지 이름을 나타내는 리소스 참조입니다.ModuleInfo#getName
에 매핑됩니다.packageName
은 모듈의 패키지 이름입니다.ModuleInfo#getPackageName
에 매핑됩니다.isHidden
은 모듈이 숨겨져 있는지 나타냅니다.ModuleInfo#isHidden
에 매핑됩니다.
예:
<module-metadata> <module name="@string/resource" packageName="package_name" isHidden="false|true" /> <module .... /> </module-metadata>