ModuleMetadata

โมดูล ModuleMetadata มีข้อมูลเมตาเกี่ยวกับรายการโมดูลในอุปกรณ์ที่ระบุ ระบบจะแยกวิเคราะห์และแคชข้อมูลเมตาทันทีที่เซิร์ฟเวอร์ระบบเริ่มต้น

การเปลี่ยนแปลงใน Android 10

APK ของ ModuleMetadata มี ModuleInfoProvider ซึ่งใช้เมธอด getModuleInfo และ getInstalledModules จาก API ของ PackageManager เมธอดเหล่านี้ได้รับการสนับสนุนโดยข้อมูลเมตา XML ที่แยกวิเคราะห์จากแพ็กเกจผู้ให้บริการข้อมูลเมตาของโมดูล ระบบจะจัดเก็บชื่อแพ็กเกจสำหรับแพ็กเกจข้อมูลเมตาของโมดูลไว้ในค่ากำหนด config_defaultModuleMetadataProvider

ผู้ให้บริการข้อมูลเมตาของโมดูลต้องมีรายการ <metadata> สำหรับแท็ก <application> รายการข้อมูลเมตาต้องมีคีย์เดียว (android.content.pm.MODULE_METADATA) ซึ่งมีค่าเป็นการอ้างอิงไปยังทรัพยากร XML ที่มีข้อมูลเมตาเกี่ยวกับรายการโมดูลในอุปกรณ์ที่ระบุ

รูปแบบแพ็กเกจ

ระบบจะส่งโมดูล ModuleMetadata (com.android.modulemetadata) เป็นไฟล์ APK

องค์ประกอบข้อมูลเมตา

เอกสาร XML ต้องประกอบด้วยองค์ประกอบ <module-metadata> ระดับบนสุดเพียงรายการเดียวที่มีองค์ประกอบย่อยตั้งแต่ 1 รายการขึ้นไป โดยแต่ละองค์ประกอบย่อยจะเป็นองค์ประกอบ <module> ที่มีแอตทริบิวต์ต่อไปนี้

  • name คือการอ้างอิงทรัพยากรไปยังชื่อแพ็กเกจที่ผู้ใช้มองเห็นได้ แมปกับ ModuleInfo#getName
  • packageName คือชื่อแพ็กเกจของโมดูล แมปกับ ModuleInfo#getPackageName
  • isHidden ระบุว่าโมดูลซ่อนอยู่หรือไม่ แมปกับ ModuleInfo#isHidden</code>.

ตัวอย่าง

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