โมดูลโมดูล

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