โมดูล 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>