โมดูล ModuleMetadata มีข้อมูลเมตาเกี่ยวกับรายการโมดูลบนอุปกรณ์ที่กำหนด ข้อมูลเมตาจะถูกแยกวิเคราะห์และแคชทันทีที่เซิร์ฟเวอร์ระบบเริ่มทำงาน
การเปลี่ยนแปลงใน Android 10
ModuleMetadata APK มี 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>