ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
ทำงานกับอุปกรณ์ใน TF
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
Trade Federation ใช้การแยกความคิดที่เรียกว่า ITestDevice
เพื่อทำการทดสอบ การแยกความคิดนี้ทำให้อุปกรณ์ Android ที่ใช้ได้ทุกรุ่นมีลักษณะดังนี้
- มีหมายเลขซีเรียล
- โดยจะมีสถานะเป็น "ออนไลน์" "พร้อมใช้งาน" "กำลังกู้คืน" หรือ "ไม่พร้อมใช้งาน"
- แนวคิดนี้มีความน่าเชื่อถืออยู่บ้าง ตัวอย่างเช่น หากเรียกใช้คําสั่ง เราจะแยกแยะได้ระหว่างกรณีที่คําสั่งยังไม่เสร็จสิ้น กรณีที่อุปกรณ์ไม่รองรับการเรียกใช้คําสั่ง และกรณีที่อุปกรณ์ไม่ตอบสนองขณะเรียกใช้คําสั่ง
คลาสอุปกรณ์
การใช้งาน ITestDevice
หลัก 3 รูปแบบแสดงถึงกรณีการใช้งานทั่วไป 3 กรณี
อุปกรณ์จริง
อุปกรณ์นี้เป็นฮาร์ดแวร์จริงที่เชื่อมต่อกับเครื่องโฮสต์ TF ผ่าน USB หรือใช้ฟีเจอร์ TCP ของ adb คลาส TestDevice อยู่เหนือไลบรารี ddmlib ซึ่งเป็นอินเทอร์เฟซ Java สำหรับ adb ดังนั้นอุปกรณ์จริงที่แสดงใน adb devices
จึงสามารถสร้างอินสแตนซ์และใช้เป็น TestDevice
ได้
โปรแกรมจำลอง
TF จะจัดการโปรแกรมจำลองเป็นพิเศษเนื่องจากทำงานในกระบวนการอื่น หากต้องการโต้ตอบกับโปรแกรมจำลอง ให้ระบุอาร์กิวเมนต์ --emulator
สำหรับคำสั่ง ดูข้อมูลเพิ่มเติมได้ที่ LocalSdkBuildProvider และ SdkAvdPreparer
ไม่มีอุปกรณ์
สมมติว่าคุณมีชุดทดสอบที่ไม่ได้โต้ตอบกับอุปกรณ์เลย เช่น การดำเนินการอาจเพียงแค่ดาวน์โหลดไฟล์จากบริการบางอย่างและยืนยันว่าไฟล์นั้นถูกต้อง NullDevice เป็น ITestDevice
ที่เป็นแค่สแต็บ ไฟล์จะมีหมายเลขซีเรียล เช่น
null-device-N
และการดำเนินการส่วนใหญ่ที่พยายามจะดำเนินการจะไม่มีการดําเนินการใดๆ เลยหรือจะแสดงข้อผิดพลาด
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา 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,["# Work with devices in TF\n\nTrade Federation uses an abstraction called\n[ITestDevice](/reference/com/android/tradefed/device/ITestDevice) to\nrun tests. This abstraction objectifies the lowest-common-denominator Android device:\n\n- It has a serial number\n- It has a state: Online, Available, Recovery, or Not Available\n- It has some notion of reliability. For instance, if we run a command, we can differentiate between the case where the command hasn't finished yet, the case where the device doesn't support running commands, and the case where the device has become unresponsive while running the command.\n\nDevice classes\n--------------\n\nThe three primary implementations of `ITestDevice` represent three common\nusecases.\n\n### Physical device\n\nThis is an actual piece of hardware, connected to the TF host machine either by USB, or by using\nadb's TCP feature. The [TestDevice](/reference/com/android/tradefed/device/TestDevice) class sits atop the ddmlib library, which is a Java interface to adb. So any\nphysical device listed in `adb devices` can be instantiated and used as a\n`TestDevice`.\n\n### Emulator\n\nEmulators are handled specially by TF because they live in another process. To interact with an\nEmulator, specify the `--emulator` argument for the command. See\n[LocalSdkBuildProvider](/reference/com/android/tradefed/build/LocalSdkBuildProvider) and\n[SdkAvdPreparer](/reference/com/android/tradefed/targetprep/SdkAvdPreparer) for more info.\n\n### No device\n\nSuppose you have a test that doesn't interact with a device at all. For instance, it might just\ndownload a file from some service and verify that the file itself is valid. The\n[NullDevice](/reference/com/android/tradefed/device/NullDevice) is an `ITestDevice` that is just a stub. It has a serial number like\n`null-device-N`, and most attempted operations either no-op silently or throw."]]