ModuleMetadata

Mô-đun ModuleMetadata chứa siêu dữ liệu về danh sách các mô-đun trên một thiết bị nhất định. Siêu dữ liệu được phân tích cú pháp và lưu vào bộ nhớ đệm ngay khi máy chủ hệ thống khởi động.

Các thay đổi trong Android 10

APK ModuleMetadata chứa ModuleInfoProvider, triển khai các phương thức getModuleInfogetInstalledModules từ API của PackageManager. Các phương thức này được hỗ trợ bằng siêu dữ liệu XML được phân tích cú pháp từ một gói trình cung cấp siêu dữ liệu mô-đun. Tên gói cho gói siêu dữ liệu mô-đun được lưu trữ trong giá trị cấu hình config_defaultModuleMetadataProvider.

Trình cung cấp siêu dữ liệu mô-đun phải chứa một mục <metadata> cho thẻ <application>. Mục siêu dữ liệu phải chứa một khoá duy nhất (android.content.pm.MODULE_METADATA) có giá trị là một mã tham chiếu đến tài nguyên XML chứa siêu dữ liệu về danh sách mô-đun trên một thiết bị nhất định.

Định dạng gói

Mô-đun ModuleMetadata (com.android.modulemetadata) được phân phối dưới dạng tệp APK.

Các phần tử siêu dữ liệu

Tài liệu XML phải bao gồm một phần tử <module-metadata> duy nhất ở cấp cao nhất có một hoặc nhiều phần tử con. Mỗi phần tử con là một phần tử <module> chứa các thuộc tính sau:

  • name là một tài nguyên tham chiếu đến tên gói mà người dùng thấy được. Bản đồ đến ModuleInfo#getName.
  • packageName là tên gói của mô-đun. Bản đồ đến ModuleInfo#getPackageName.
  • isHidden cho biết liệu mô-đun có bị ẩn hay không. Ánh xạ đến ModuleInfo#isHidden</code>.

Ví dụ:

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