ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
ผู้เตรียมข้อมูลหลายเป้าหมาย
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
เครื่องมือเตรียมอุปกรณ์เป้าหมายหลายรายการช่วยให้ตั้งค่าอุปกรณ์หลายเครื่องพร้อมกันได้ ซึ่งคล้ายกับเครื่องมือเตรียมอุปกรณ์เป้าหมาย เช่น ระบบจะใช้แอตทริบิวต์นี้เมื่อเชื่อมต่ออุปกรณ์ 2 เครื่องด้วยบลูทูธเพื่อทดสอบ
อินเทอร์เฟซพื้นฐาน
อินเทอร์เฟซพื้นฐานคือ IMultiTargetPreparer
ซึ่งช่วยให้สามารถใช้งานเมธอด setUp
ได้ เราขอแนะนำให้ใช้คลาสนามธรรมพื้นฐานของเรา BaseMultiTargetPreparer
ซึ่งมีฟีเจอร์ปิดใช้ในตัวเพื่อให้ปิดใช้ผู้เตรียมข้อมูลได้ง่ายๆ
ผู้เตรียมข้อมูลหลายเป้าหมายจะระบุเมธอด tearDown
โดยตรงสําหรับการดำเนินการล้างข้อมูล
คำแนะนำ
เราขอแนะนำให้จำกัดผู้เตรียมแต่ละคนให้มีฟังก์ชันหลักเพียงฟังก์ชันเดียว ซึ่งช่วยให้ใช้ผู้เตรียมเอกสารซ้ำได้ง่ายขึ้น
นอกจากนี้ ให้ตรวจสอบรายการผู้เตรียมความพร้อมที่มีอยู่ก่อนที่จะเพิ่มผู้เตรียมความพร้อมรายใหม่เพื่อหลีกเลี่ยงการทำงานซ้ำ ผู้จัดทำแบบฟอร์มมีให้บริการใน
tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/
อุปกรณ์ที่ผู้เตรียมอุปกรณ์แบบหลายเป้าหมายตั้งค่าได้นั้นไม่มีขีดจำกัด อุปกรณ์ทั้งหมดมีอยู่ในIInvocationContext
ของอินเทอร์เฟซที่จะติดตั้งใช้งาน
การกําหนดค่า XML
แท็กออบเจ็กต์คือ multi_target_preparer
เช่น
<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>
คําสั่งการดําเนินการ
multi_target_preparer
เรียกใช้ setUp
หลังจาก target_preparer
multi_target_preparer
เรียกใช้ tearDown
ก่อนเครื่องมือล้างเป้าหมาย
การดำเนินการนี้อาจไม่อนุญาตให้ทำตามขั้นตอนการตั้งค่าทั้งหมดได้เสมอไป คุณจึงกำหนดค่าเตรียมความพร้อมแบบหลายเป้าหมายเป็น multi_pre_target_preparer
ใน XML และดำเนินการก่อนอินสแตนซ์ target_preparer
ได้
<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>
ลำดับการดำเนินการโดยรวมมีดังนี้
multi_pre_target_preparer setUp
target_preparer setUp
multi_target_preparer setUp
multi_target_preparer tearDown
target_preparer tearDown
multi_pre_target_preparer tearDown
คุณสามารถประกาศตัวเตรียมข้อมูลแบบหลายเป้าหมายเป็น multi_target_preparer
หรือ multi_pre_target_preparer
ก็ได้ ทั้งนี้ขึ้นอยู่กับลำดับการตั้งค่าที่ต้องการ
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา 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,["# Multi-target preparers\n\nSimilar to a\n[target preparer](/docs/core/tests/tradefed/architecture/target-preparer), a\nmulti-target preparer allows setup of multiple devices together. For example,\nthis would be used when connecting two devices with Bluetooth for testing.\n\nBase interface\n--------------\n\nThe base interface is\n[`IMultiTargetPreparer`](https://android.googlesource.com/platform/tools/tradefederation/+/refs/heads/android16-release/src/com/android/tradefed/targetprep/multi/IMultiTargetPreparer.java),\nwhich allows implementing a `setUp` method to be executed. We recommend\nimplementing our basic abstract class\n[`BaseMultiTargetPreparer`](https://android.googlesource.com/platform/tools/tradefederation/+/refs/heads/android16-release/src/com/android/tradefed/targetprep/multi/BaseMultiTargetPreparer.java),\nwhich provides a built-in disablement feature to easily disable a preparer.\n\nMulti-target preparers also directly provide a `tearDown` method for any cleanup\noperation.\n\nRecommendation\n--------------\n\nWe recommend limiting each preparer to a single main function. This allows\nfor easier reuse of preparers.\n\nAlso check the list of available preparers before adding a new one, to\navoid duplicating work. Preparers are available in\n[`tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/`](https://android.googlesource.com/platform/tools/tradefederation/+/refs/heads/android16-release/src/com/android/tradefed/targetprep/multi).\n\nThere's no limit to the number of devices that a multi-target preparer can\nset up. All the devices are available in `IInvocationContext` of the\ninterface to implement.\n\nXML configuration\n-----------------\n\nThe object tag is `multi_target_preparer`, for example: \n\n \u003cmulti_target_preparer class=\"com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer\"\u003e\n \u003c/multi_target_preparer\u003e\n\nOperation order\n---------------\n\n1. `multi_target_preparer` executes `setUp` **after** `target_preparer`.\n2. `multi_target_preparer` executes `tearDown` **before** target cleaners.\n\nThis doesn't always allow for performance of all setup steps, so it's possible\nin the XML to define the multi-target preparer as `multi_pre_target_preparer`\nand execute it before `target_preparer` instances. \n\n \u003cmulti_pre_target_preparer class=\"com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer\"\u003e\n \u003c/multi_pre_target_preparer\u003e\n\nThe overall operation order is as followed:\n\n1. `multi_pre_target_preparer setUp`\n2. `target_preparer setUp`\n3. `multi_target_preparer setUp`\n4. `multi_target_preparer tearDown`\n5. `target_preparer tearDown`\n6. `multi_pre_target_preparer tearDown`\n\nAny multi-target preparer can be declared as `multi_target_preparer` or\n`multi_pre_target_preparer` depending of what order of setup is required."]]