ModuleMetadata

ModuleMetadata 모듈에는 지정된 기기의 모듈 목록에 관한 메타데이터가 포함됩니다. 메타데이터는 시스템 서버가 시작되는 즉시 파싱 및 캐시됩니다.

Android 10 변경사항

ModuleMetadata APK에는 PackageManager의 API의 getModuleInfogetInstalledModules 메서드를 구현한 ModuleInfoProvider가 포함됩니다. 이러한 메서드는 모듈 메타데이터 제공자 패키지에서 파싱된 XML 메타데이터를 기반으로 합니다. 모듈 메타데이터 패키지의 패키지 이름은 config_defaultModuleMetadataProvider 구성 값에 저장됩니다.

모듈 메타데이터 제공자는 <application> 태그의 <metadata> 항목을 포함해야 합니다. 메타데이터 항목에는 단일 키(android.content.pm.MODULE_METADATA)가 있어야 하며 키의 값은 지정된 기기 모듈 목록의 메타데이터를 포함하는 XML 리소스에 관한 참조입니다.

패키지 형식

ModuleMetadata 모듈(com.google.android.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>