ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
ModuleMetadata
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
โมดูล ModuleMetadata มีข้อมูลเมตาเกี่ยวกับรายการโมดูลในอุปกรณ์หนึ่งๆ ระบบจะแยกวิเคราะห์และแคชข้อมูลเมตาทันทีที่เซิร์ฟเวอร์ของระบบเริ่มทำงาน
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>
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-27 UTC"],[],[],null,["# ModuleMetadata\n\nThe ModuleMetadata module contains metadata about the list of modules on a\ngiven device. The metadata is parsed and cached as soon as the system server\nstarts.\n\nChanges in Android 10\n---------------------\n\nThe ModuleMetadata APK contains `ModuleInfoProvider`, which\nimplements the `getModuleInfo` and `getInstalledModules`\nmethods from the PackageManager's API. These methods are backed\nby XML metadata parsed from a module metadata provider package. The package\nname for the module metadata package is stored in the\n`config_defaultModuleMetadataProvider` config value.\n\nThe module metadata provider must contain a `\u003cmetadata\u003e`\nentry for its `\u003capplication\u003e` tag. The metadata entry must\ncontain a single key (`android.content.pm.MODULE_METADATA`) whose\nvalue is a reference to an XML resource that contains metadata about the list\nof modules on a given device.\n\nPackage format\n--------------\n\nThe ModuleMetadata module (`com.android.modulemetadata`) is delivered\nas an APK file.\n\nMetadata elements\n-----------------\n\nThe XML document must consist of a single top level `\u003cmodule-metadata\u003e`\nelement with one or more children. Each child is a `\u003cmodule\u003e`\nelement that contains the following attributes:\n\n- `name` is a resource reference to a user-visible package name. Maps to `ModuleInfo#getName`.\n- `packageName` is the package name of the module. Maps to `ModuleInfo#getPackageName`.\n- `isHidden` indicates whether the module is hidden. Maps to `ModuleInfo#isHidden\u003c/code\u003e.`\n\nExample: \n\n \u003cmodule-metadata\u003e\n \u003cmodule name=\"@string/resource\" packageName=\"package_name\" isHidden=\"false|true\"\u003e\n \u003cmodule .... \u003e\n \u003c/module-metadata\u003e"]]