IDeviceManager

public interface IDeviceManager

com.android.tradefed.device.IDeviceManager


อินเทอร์เฟซสำหรับจัดการชุดอุปกรณ์ที่พร้อมใช้งานสำหรับการทดสอบ

สรุป

คลาสที่ซ้อนกัน

interface IDeviceManager.IFastbootListener

Listener สำหรับการเปลี่ยนแปลงสถานะ Fastboot 

เมธอดสาธารณะ

abstract void addDeviceMonitor(IDeviceMonitor mon)

เพิ่ม IDeviceMonitor

abstract void addFastbootListener(IDeviceManager.IFastbootListener listener)

แจ้งให้ผู้จัดการทราบว่า Listener สนใจการเปลี่ยนแปลงสถานะ Fastboot

abstract void addMonitoringTcpFastbootDevice(String serial, String fastboot_serial)

เพิ่มอุปกรณ์ไปยัง Fastboot Monitor

abstract ITestDevice allocateDevice(IDeviceSelection options, boolean isTemporary)

ขออุปกรณ์สำหรับการทดสอบที่มีคุณสมบัติตรงตามเกณฑ์ที่กำหนด

abstract ITestDevice allocateDevice(IDeviceSelection options)

ขออุปกรณ์สำหรับการทดสอบที่มีคุณสมบัติตรงตามเกณฑ์ที่กำหนด

abstract ITestDevice allocateDevice()

ขออุปกรณ์จริงเพื่อทำการทดสอบ

abstract ITestDevice connectToTcpDevice(String ipAndPort)

เชื่อมต่อกับอุปกรณ์ด้วย adb-over-tcp

วิธีนี้จะจัดสรรอุปกรณ์ใหม่ ซึ่งควรจะว่างในที่สุดผ่าน disconnectFromTcpDevice(ITestDevice)

ITestDevice ที่ส่งคืนจะออนไลน์ แต่ไม่ตอบสนอง

abstract boolean disconnectFromTcpDevice(ITestDevice tcpDevice)

ยกเลิกการเชื่อมต่อจากอุปกรณ์ที่เชื่อมต่อผ่าน adb-over-tcp

abstract void displayDevicesInfo(PrintWriter printWriter, boolean includeStub)

แสดงคำอธิบายที่ใช้งานง่ายซึ่งมีรายการอุปกรณ์ที่รู้จัก สถานะ และค่า สำหรับIDeviceSelectionตัวเลือกที่ใช้กันโดยทั่วไป

abstract CommandResult executeCmdOnAvailableDevice(String serial, String command, long timeout, TimeUnit timeUnit)

เมธอดตัวช่วยในการเรียกใช้คำสั่ง Shell ในอุปกรณ์ที่พร้อมใช้งาน

abstract ITestDevice forceAllocateDevice(String serial)

จัดสรรอุปกรณ์อย่างไม่สุภาพ แม้ว่าอุปกรณ์นั้นจะยังไม่พร้อมใช้งานก็ตาม

abstract void freeDevice(ITestDevice device, FreeDeviceState state)

ส่งคืนอุปกรณ์ไปยังสระ

ระบบจะไม่สนใจการพยายามคืนอุปกรณ์ที่ไม่ได้จัดสรรไว้ก่อนหน้านี้

abstract String getAdbPath()

แสดงเส้นทางไปยังไบนารี adb ที่จะใช้

abstract String getAdbVersion()

รับเวอร์ชัน adb ที่ตัวจัดการอุปกรณ์ใช้อยู่ในปัจจุบัน

abstract DeviceDescriptor getDeviceDescriptor(String serial)

แสดงผล DeviceDescriptor ที่มีหมายเลขซีเรียลที่ระบุ

abstract String getFastbootPath()

แสดงผลเส้นทางไปยังไบนารี fastboot ที่จะใช้

abstract long getShellCheckCmdTime()

รับการหมดเวลาเป็นมิลลิวินาทีของคำสั่งตรวจสอบความพร้อมใช้งานของเชลล์

abstract void init(IDeviceSelection globalDeviceFilter, List<IDeviceMonitor> deviceMonitors)

เริ่มต้นตัวจัดการอุปกรณ์ด้วยตัวกรองอุปกรณ์

abstract void init()

เริ่มต้นตัวจัดการอุปกรณ์

abstract boolean isEmulator(String serial)

พิจารณาว่าหมายเลขซีเรียลที่ระบุแสดงถึงโปรแกรมจำลองหรือไม่

default boolean isFileSystemMountCheckEnabled()

ส่งคืนว่าเราควรตรวจสอบว่าNativeDeviceStateMonitorระบบไฟล์มีการติดตั้งอย่างถูกต้องหรือไม่

abstract boolean isNullDevice(String serial)

ตรวจสอบว่าหมายเลขซีเรียลที่ระบุแสดงถึงอุปกรณ์ Null หรือไม่

abstract void killEmulator(ITestDevice device)

ปิดโปรแกรมจำลองที่ระบุ

abstract void launchEmulator(ITestDevice device, long bootTimeout, IRunUtil runUtil, List<String> emulatorArgs)

วิธีการช่วยเปิดโปรแกรมจำลอง

abstract List<DeviceDescriptor> listAllDevices(boolean shortDescriptor)

แสดงรายการ DeviceDescriptor สำหรับอุปกรณ์ที่รู้จักทั้งหมด

abstract List<DeviceDescriptor> listAllDevices()

แสดงรายการ DeviceDescriptor สำหรับอุปกรณ์ที่รู้จักทั้งหมด

abstract ITestDevice reconnectDeviceToTcp(ITestDevice usbDevice)

เมธอดตัวช่วยที่เปลี่ยนอุปกรณ์ USB ที่ระบุเป็นโหมด adb-over-tcp แล้วเชื่อมต่อกับ อุปกรณ์ผ่าน connectToTcpDevice(String)

abstract void removeDeviceMonitor(IDeviceMonitor mon)

นำ IDeviceMonitor ที่เพิ่มไว้ก่อนหน้านี้ออก

abstract void removeFastbootListener(IDeviceManager.IFastbootListener listener)

แจ้งให้ตัวจัดการทราบว่า Listener ไม่สนใจการเปลี่ยนแปลงสถานะ Fastboot อีกต่อไป

default void removeMonitoringTcpFastbootDevice(String serial)
abstract void restartAdbBridge()

รีสตาร์ท (หากมีการเรียกใช้ stopAdbBridge()) สะพานและบริการ adb ขึ้นอยู่กับการเชื่อมต่อ adb

abstract void stopAdbBridge()

หยุด adb bridge และบริการที่ขึ้นอยู่กับการเชื่อมต่อ adb

abstract void terminate()

หยุดบริการตรวจสอบอุปกรณ์และสิ้นสุดการทำงานของไลบรารี ddm

abstract void terminateDeviceMonitor()

หยุดการตรวจสอบอุปกรณ์

abstract void terminateDeviceRecovery()

หยุดเธรดการกู้คืนอุปกรณ์

default void terminateHard(String reason)

แนวเดียวกับ terminateHard()

abstract void terminateHard()

เช่น terminate() แต่พยายามปิด adb โดยบังคับด้วย

abstract boolean waitForFirstDeviceAdded(long timeout)

รอจนกว่าจะเชื่อมต่ออุปกรณ์จริงเครื่องแรก

เมธอดสาธารณะ

addDeviceMonitor

public abstract void addDeviceMonitor (IDeviceMonitor mon)

เพิ่ม IDeviceMonitor

พารามิเตอร์
mon IDeviceMonitor

addFastbootListener

public abstract void addFastbootListener (IDeviceManager.IFastbootListener listener)

แจ้งให้ผู้จัดการทราบว่า Listener สนใจการเปลี่ยนแปลงสถานะ Fastboot

ปัจจุบัน IDeviceManager จะตรวจสอบเฉพาะอุปกรณ์ใน Fastboot หากมีผู้ฟังที่ใช้งานอยู่อย่างน้อย 1 คน

สิ่งที่ต้องทำ: นี่เป็นวิธีแก้ปัญหาชั่วคราว โปรดหาวิธีที่ดีกว่านี้

addMonitoringTcpFastbootDevice

public abstract void addMonitoringTcpFastbootDevice (String serial, 
                String fastboot_serial)

เพิ่มอุปกรณ์ไปยัง Fastboot Monitor โปรแกรมตรวจสอบ fastboot จะใช้ "fastboot_serial" เพื่อ สื่อสารกับอุปกรณ์

พารามิเตอร์
serial String: หมายเลขซีเรียลของอุปกรณ์

fastboot_serial String: หมายเลขซีเรียลของอุปกรณ์ในโหมด Fastboot

allocateDevice

public abstract ITestDevice allocateDevice (IDeviceSelection options, 
                boolean isTemporary)

ขออุปกรณ์สำหรับการทดสอบที่มีคุณสมบัติตรงตามเกณฑ์ที่กำหนด

พารามิเตอร์
options IDeviceSelection: IDeviceSelection ที่อุปกรณ์ควรมี

isTemporary boolean: ควรสร้าง NullDevice ชั่วคราวหรือไม่

การคืนสินค้า
ITestDevice ITestDevice สำหรับการทดสอบ หรือ null หากไม่มี

allocateDevice

public abstract ITestDevice allocateDevice (IDeviceSelection options)

ขออุปกรณ์สำหรับการทดสอบที่มีคุณสมบัติตรงตามเกณฑ์ที่กำหนด

พารามิเตอร์
options IDeviceSelection: IDeviceSelection ที่อุปกรณ์ควรมี

การคืนสินค้า
ITestDevice ITestDevice สำหรับการทดสอบ หรือ null หากไม่มี

allocateDevice

public abstract ITestDevice allocateDevice ()

ขออุปกรณ์จริงเพื่อทำการทดสอบ

การคืนสินค้า
ITestDevice ITestDevice สำหรับการทดสอบ หรือ null หากไม่มี

connectToTcpDevice

public abstract ITestDevice connectToTcpDevice (String ipAndPort)

เชื่อมต่อกับอุปกรณ์ด้วย adb-over-tcp

วิธีนี้จะจัดสรรอุปกรณ์ใหม่ ซึ่งควรจะว่างในที่สุดผ่าน disconnectFromTcpDevice(ITestDevice)

ITestDevice ที่ส่งคืนจะออนไลน์ แต่ไม่ตอบสนอง

โปรดทราบว่าการดำเนินการต่างๆ เช่น การรีบูตอุปกรณ์ที่เชื่อมต่อ tcp จะตัดการเชื่อมต่อ tcp กับอุปกรณ์ และส่งผลให้เกิด DeviceNotAvailableException

พารามิเตอร์
ipAndPort String: ที่อยู่ IP และพอร์ตเดิมของอุปกรณ์ที่จะเชื่อมต่อ

การคืนสินค้า
ITestDevice ITestDevice หรือ null หากสร้างการเชื่อมต่อ TCP ไม่ได้

disconnectFromTcpDevice

public abstract boolean disconnectFromTcpDevice (ITestDevice tcpDevice)

ยกเลิกการเชื่อมต่อจากอุปกรณ์ที่เชื่อมต่อผ่าน adb-over-tcp

เปลี่ยนอุปกรณ์กลับเป็นโหมด USB และยกเลิกการเชื่อมต่อ

พารามิเตอร์
tcpDevice ITestDevice: อุปกรณ์ที่อยู่ในโหมด TCP ในปัจจุบัน ซึ่งก่อนหน้านี้จัดสรรผ่าน connectToTcpDevice(String)

การคืนสินค้า
boolean true หากเปลี่ยนเป็นโหมด USB สำเร็จ

displayDevicesInfo

public abstract void displayDevicesInfo (PrintWriter printWriter, 
                boolean includeStub)

แสดงคำอธิบายที่ใช้งานง่ายซึ่งมีรายการอุปกรณ์ที่รู้จัก สถานะ และค่า สำหรับIDeviceSelectionตัวเลือกที่ใช้กันโดยทั่วไป

พารามิเตอร์
printWriter PrintWriter: PrintWriter ที่จะแสดงคำอธิบาย

includeStub boolean: จะแสดงอุปกรณ์ Stub ด้วยหรือไม่

executeCmdOnAvailableDevice

public abstract CommandResult executeCmdOnAvailableDevice (String serial, 
                String command, 
                long timeout, 
                TimeUnit timeUnit)

เมธอดตัวช่วยในการเรียกใช้คำสั่ง Shell ในอุปกรณ์ที่พร้อมใช้งาน

พารามิเตอร์
serial String: ซีเรียลของอุปกรณ์

command String: คำสั่งเชลล์

timeout long: ระยะเวลาที่ใช้ในการดำเนินการคำสั่งให้เสร็จสมบูรณ์

timeUnit TimeUnit: หน่วยสำหรับระยะหมดเวลา

การคืนสินค้า
CommandResult A CommandResult

forceAllocateDevice

public abstract ITestDevice forceAllocateDevice (String serial)

จัดสรรอุปกรณ์อย่างไม่สุภาพ แม้ว่าอุปกรณ์นั้นจะยังไม่พร้อมใช้งานก็ตาม

จะไม่มีผลหากมีการจัดสรรอุปกรณ์แล้ว

พารามิเตอร์
serial String: หมายเลขซีเรียลของอุปกรณ์ที่จะจัดสรร

การคืนสินค้า
ITestDevice ITestDevice หรือ null หากจัดสรรไม่ได้

freeDevice

public abstract void freeDevice (ITestDevice device, 
                FreeDeviceState state)

ส่งคืนอุปกรณ์ไปยังสระ

ระบบจะไม่สนใจการพยายามคืนอุปกรณ์ที่ไม่ได้จัดสรรไว้ก่อนหน้านี้

พารามิเตอร์
device ITestDevice: ITestDevice ฟรี

state FreeDeviceState: FreeDeviceState ใช้เพื่อควบคุมว่า จะส่งคืนอุปกรณ์ไปยังพูลอุปกรณ์ที่พร้อมใช้งานหรือไม่

getAdbPath

public abstract String getAdbPath ()

แสดงเส้นทางไปยังไบนารี adb ที่จะใช้

การคืนสินค้า
String

getAdbVersion

public abstract String getAdbVersion ()

รับเวอร์ชัน adb ที่ตัวจัดการอุปกรณ์ใช้อยู่ในปัจจุบัน

การคืนสินค้า
String

getDeviceDescriptor

public abstract DeviceDescriptor getDeviceDescriptor (String serial)

แสดงผล DeviceDescriptor ที่มีหมายเลขซีเรียลที่ระบุ

พารามิเตอร์
serial String: หมายเลขซีเรียลของอุปกรณ์ที่จะรับ

การคืนสินค้า
DeviceDescriptor DeviceDescriptor สำหรับอุปกรณ์ที่เลือก หรือ null หากซีเรียลไม่ตรงกับอุปกรณ์ที่รู้จัก

getFastbootPath

public abstract String getFastbootPath ()

แสดงผลเส้นทางไปยังไบนารี fastboot ที่จะใช้

การคืนสินค้า
String

getShellCheckCmdTime

public abstract long getShellCheckCmdTime ()

รับการหมดเวลาเป็นมิลลิวินาทีของคำสั่งตรวจสอบความพร้อมใช้งานของเชลล์

การคืนสินค้า
long

init

public abstract void init (IDeviceSelection globalDeviceFilter, 
                List<IDeviceMonitor> deviceMonitors)

เริ่มต้นตัวจัดการอุปกรณ์ด้วยตัวกรองอุปกรณ์ ตัวกรองนี้ใช้เพื่อสั่งให้ DeviceManager ละเว้นอุปกรณ์ที่เชื่อมต่อบางอย่างได้

พารามิเตอร์
globalDeviceFilter IDeviceSelection: ตัวกรองอุปกรณ์

deviceMonitors List

init

public abstract void init ()

เริ่มต้นตัวจัดการอุปกรณ์ ต้องเรียกใช้ฟังก์ชันนี้เพียงครั้งเดียวก่อนที่จะเรียกใช้เมธอดอื่นๆ

isEmulator

public abstract boolean isEmulator (String serial)

พิจารณาว่าหมายเลขซีเรียลที่ระบุแสดงถึงโปรแกรมจำลองหรือไม่

พารามิเตอร์
serial String

การคืนสินค้า
boolean

isFileSystemMountCheckEnabled

public boolean isFileSystemMountCheckEnabled ()

ส่งคืนว่าเราควรตรวจสอบว่าNativeDeviceStateMonitorระบบไฟล์มีการติดตั้งอย่างถูกต้องหรือไม่

การคืนสินค้า
boolean

isNullDevice

public abstract boolean isNullDevice (String serial)

ตรวจสอบว่าหมายเลขซีเรียลที่ระบุแสดงถึงอุปกรณ์ Null หรือไม่

พารามิเตอร์
serial String

การคืนสินค้า
boolean

killEmulator

public abstract void killEmulator (ITestDevice device)

ปิดโปรแกรมจำลองที่ระบุ

บล็อกจนกว่าโปรแกรมจำลองจะหายไปจาก adb จะไม่มีผลหากไม่มีโปรแกรมจำลองอยู่แล้ว

พารามิเตอร์
device ITestDevice: ITestDevice ที่แสดงถึงโปรแกรมจำลองที่จะปิด

ส่ง
DeviceNotAvailableException หากโปรแกรมจำลองปิดไม่สำเร็จ

launchEmulator

public abstract void launchEmulator (ITestDevice device, 
                long bootTimeout, 
                IRunUtil runUtil, 
                List<String> emulatorArgs)

วิธีการช่วยเปิดโปรแกรมจำลอง

จะเปิดโปรแกรมจำลองตามที่ผู้เรียกใช้ระบุ

พารามิเตอร์
device ITestDevice: ตัวยึดตำแหน่ง ITestDevice ที่แสดงถึงอุปกรณ์โปรแกรมจำลองที่จัดสรร

bootTimeout long: เวลาเป็นมิลลิวินาทีที่รอให้โปรแกรมจำลองบูต

emulatorArgs List: อาร์กิวเมนต์บรรทัดคำสั่งเพื่อเปิดโปรแกรมจำลอง

ส่ง
DeviceNotAvailableException หากโปรแกรมจำลองบูตหรือออนไลน์ไม่สำเร็จ

listAllDevices

public abstract List<DeviceDescriptor> listAllDevices (boolean shortDescriptor)

แสดงรายการ DeviceDescriptor สำหรับอุปกรณ์ที่รู้จักทั้งหมด

พารามิเตอร์
shortDescriptor boolean: จะจำกัดตัวอธิบายให้มีข้อมูลขั้นต่ำหรือไม่

การคืนสินค้า
List<DeviceDescriptor> รายการ DeviceDescriptor สำหรับอุปกรณ์ที่รู้จักทั้งหมด

listAllDevices

public abstract List<DeviceDescriptor> listAllDevices ()

แสดงรายการ DeviceDescriptor สำหรับอุปกรณ์ที่รู้จักทั้งหมด

การคืนสินค้า
List<DeviceDescriptor> รายการ DeviceDescriptor สำหรับอุปกรณ์ที่รู้จักทั้งหมด

reconnectDeviceToTcp

public abstract ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)

เมธอดตัวช่วยที่เปลี่ยนอุปกรณ์ USB ที่ระบุเป็นโหมด adb-over-tcp แล้วเชื่อมต่อกับ อุปกรณ์ผ่าน connectToTcpDevice(String)

พารามิเตอร์
usbDevice ITestDevice: อุปกรณ์ที่อยู่ในโหมด USB ในขณะนี้

การคืนสินค้า
ITestDevice ITestDevice ที่จัดสรรใหม่ในโหมด TCP หรือ null หากสร้างการเชื่อมต่อ TCP ไม่ได้

ส่ง
DeviceNotAvailableException หากการเชื่อมต่อกับ usbDevice ขาดหายไปและ กู้คืนไม่ได้

removeDeviceMonitor

public abstract void removeDeviceMonitor (IDeviceMonitor mon)

นำ IDeviceMonitor ที่เพิ่มไว้ก่อนหน้านี้ออก จะไม่มีผลหากไม่ได้เพิ่มจอภาพ

พารามิเตอร์
mon IDeviceMonitor

removeFastbootListener

public abstract void removeFastbootListener (IDeviceManager.IFastbootListener listener)

แจ้งให้ตัวจัดการทราบว่า Listener ไม่สนใจการเปลี่ยนแปลงสถานะ Fastboot อีกต่อไป

removeMonitoringTcpFastbootDevice

public void removeMonitoringTcpFastbootDevice (String serial)

พารามิเตอร์
serial String

restartAdbBridge

public abstract void restartAdbBridge ()

รีสตาร์ท (หากมีการเรียกใช้ stopAdbBridge()) สะพานและบริการ adb ขึ้นอยู่กับการเชื่อมต่อ adb

stopAdbBridge

public abstract void stopAdbBridge ()

หยุด adb bridge และบริการที่ขึ้นอยู่กับการเชื่อมต่อ adb

ยกเลิก

public abstract void terminate ()

หยุดบริการตรวจสอบอุปกรณ์และสิ้นสุดการทำงานของไลบรารี ddm

ต้องเรียกใช้เมื่อแอปพลิเคชันสิ้นสุดการทำงาน

ดูเพิ่มเติม:

terminateDeviceMonitor

public abstract void terminateDeviceMonitor ()

หยุดการตรวจสอบอุปกรณ์

terminateDeviceRecovery

public abstract void terminateDeviceRecovery ()

หยุดเธรดการกู้คืนอุปกรณ์

terminateHard

public void terminateHard (String reason)

แนวเดียวกับ terminateHard()

พารามิเตอร์
reason String: เหตุผลในการสิ้นสุดการดำเนินงาน (ไม่บังคับ)

terminateHard

public abstract void terminateHard ()

เช่น terminate() แต่พยายามปิด adb โดยบังคับด้วย

waitForFirstDeviceAdded

public abstract boolean waitForFirstDeviceAdded (long timeout)

รอจนกว่าจะเชื่อมต่ออุปกรณ์จริงเครื่องแรก หากอุปกรณ์เชื่อมต่ออยู่ก่อนหน้านี้ ฟังก์ชันจะแสดงค่าเป็น True โดยตรง หากไม่มีการเพิ่มอุปกรณ์ ระบบจะแสดงผลเป็นเท็จหลังจากหมดเวลา

พารามิเตอร์
timeout long: เวลาที่รอเป็นมิลลิวินาทีก่อนที่จะส่งคืนค่าเป็นเท็จ

การคืนสินค้า
boolean