โปรแกรมจัดการอุปกรณ์

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)

แจ้งผู้จัดการว่าผู้ฟังสนใจการเปลี่ยนสถานะ 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(com.android.tradefed.device.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 void init(IDeviceSelection globalDeviceFilter, 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, emulatorArgs)

เมธอด Helper ในการเปิดโปรแกรมจำลอง

abstract listAllDevices(boolean shortDescriptor)

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

abstract 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 อีกต่อไป

abstract void restartAdbBridge()

รีสตาร์ท (หากมีการเรียก stopAdbBridge()) adb Bridge และบริการขึ้นอยู่กับ 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)

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

วิธีการสาธารณะ

เพิ่มการตรวจสอบอุปกรณ์

public abstract void addDeviceMonitor (IDeviceMonitor mon)

เพิ่ม IDeviceMonitor

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

addFastbootListener

public abstract void addFastbootListener (IDeviceManager.IFastbootListener listener)

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

ปัจจุบัน IDeviceManager จะตรวจสอบอุปกรณ์ใน Fastboot ก็ต่อเมื่อมี ผู้ฟังที่มีความเคลื่อนไหวมากขึ้น

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

เพิ่มการตรวจสอบ TcpFastbootDevice

public abstract void addMonitoringTcpFastbootDevice (String serial, 
                String fastboot_serial)

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

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

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

จัดสรรอุปกรณ์

public abstract ITestDevice allocateDevice (IDeviceSelection options, 
                boolean isTemporary)

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

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

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

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

จัดสรรอุปกรณ์

public abstract ITestDevice allocateDevice (IDeviceSelection options)

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

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

คิกรีเทิร์น
ITestDevice ITestDevice สำหรับการทดสอบ หรือ null หากมี ไม่พร้อมใช้งาน

จัดสรรอุปกรณ์

public abstract ITestDevice allocateDevice ()

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

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

เชื่อมต่อกับ TcpDevice

public abstract ITestDevice connectToTcpDevice (String ipAndPort)

เชื่อมต่อกับอุปกรณ์ที่มี adb-over-tcp

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

ITestDevice ที่แสดงผลจะออนไลน์ แต่อาจไม่มีการตอบสนอง

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

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

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

ยกเลิกการเชื่อมต่อจาก TcpDevice

public abstract boolean disconnectFromTcpDevice (ITestDevice tcpDevice)

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

เปลี่ยนอุปกรณ์กลับเป็นโหมด USB และทำให้อุปกรณ์ว่าง

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

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

แสดงข้อมูลอุปกรณ์

public abstract void displayDevicesInfo (PrintWriter printWriter, 
                boolean includeStub)

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

พารามิเตอร์
printWriter PrintWriter: ERROR(/PrintWriter) เพื่อแสดงคำอธิบาย

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

ดำเนินการCmdOnavailableDevice

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

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

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

command String: คำสั่ง Shell

timeout long: ระยะเวลาที่คำสั่งใช้ในการดำเนินการ

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

คิกรีเทิร์น
CommandResult CommandResult

บังคับจัดสรรอุปกรณ์

public abstract ITestDevice forceAllocateDevice (String serial)

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

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

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

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

อุปกรณ์ฟรี

public abstract void freeDevice (ITestDevice device, 
                FreeDeviceState state)

นำอุปกรณ์กลับไปยังสระว่ายน้ำ

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

พารามิเตอร์
device ITestDevice: ITestDevice ที่จะยกเลิก

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

getAdbPath

public abstract String getAdbPath ()

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

คิกรีเทิร์น
String

เวอร์ชันของ getAdb

public abstract String getAdbVersion ()

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

คิกรีเทิร์น
String

getDeviceDescriptor

public abstract DeviceDescriptor getDeviceDescriptor (String serial)

แสดงผล DeviceDescriptor ด้วยอนุกรมที่ระบุ

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

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

getFastbootPath

public abstract String getFastbootPath ()

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

คิกรีเทิร์น
String

Init

public abstract void init (IDeviceSelection globalDeviceFilter, 
                 deviceMonitors)

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

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

deviceMonitors

Init

public abstract void init ()

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

isEmulator

public abstract boolean isEmulator (String serial)

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

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

คิกรีเทิร์น
boolean

isFileSystemMountCheckEnabled

public boolean isFileSystemMountCheckEnabled ()

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

คิกรีเทิร์น
boolean

อุปกรณ์ isNull

public abstract boolean isNullDevice (String serial)

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

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

คิกรีเทิร์น
boolean

KillEmulator

public abstract void killEmulator (ITestDevice device)

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

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

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

การขว้าง
DeviceNotAvailableException ถ้าโปรแกรมจำลองปิดไม่ได้

LauncherEmulator

public abstract void launchEmulator (ITestDevice device, 
                long bootTimeout, 
                IRunUtil runUtil, 
                 emulatorArgs)

เมธอด Helper ในการเปิดโปรแกรมจำลอง

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

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

bootTimeout long: เวลาในหน่วยมิลลิวินาทีในการรอให้โปรแกรมจำลองเปิดเครื่อง

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

การขว้าง
DeviceNotAvailableException หากโปรแกรมจำลองเปิดเครื่องไม่ได้หรือออนไลน์

รายการอุปกรณ์ทั้งหมด

public abstract  listAllDevices (boolean shortDescriptor)

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

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

คิกรีเทิร์น
ลิสต์DeviceDescriptorของอุปกรณ์ที่รู้จักทั้งหมด

รายการอุปกรณ์ทั้งหมด

public abstract  listAllDevices ()

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

คิกรีเทิร์น
ลิสต์DeviceDescriptorของอุปกรณ์ที่รู้จักทั้งหมด

เชื่อมต่ออุปกรณ์กับ Tcp อีกครั้ง

public abstract ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)

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

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

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

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

นำการตรวจสอบอุปกรณ์ออก

public abstract void removeDeviceMonitor (IDeviceMonitor mon)

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

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

removeFastbootListener

public abstract void removeFastbootListener (IDeviceManager.IFastbootListener listener)

แจ้งผู้จัดการว่าผู้ฟังไม่สนใจการเปลี่ยนแปลงสถานะ Fastboot อีกต่อไป

รีสตาร์ทAdbBridge

public abstract void restartAdbBridge ()

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

StopAdbBbridge

public abstract void stopAdbBridge ()

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

สิ้นสุด

public abstract void terminate ()

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

โดยต้องแจ้งเมื่อมีการยุติการสมัคร

ดูเพิ่มเติม

สิ้นสุดการตรวจสอบอุปกรณ์

public abstract void terminateDeviceMonitor ()

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

สิ้นสุดการกู้คืนอุปกรณ์

public abstract void terminateDeviceRecovery ()

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

สิ้นสุดได้ยาก

public void terminateHard (String reason)

เช่น terminateHard()

พารามิเตอร์
reason String: เหตุผลเสริมที่ระบุไว้สำหรับการสิ้นสุด

สิ้นสุดได้ยาก

public abstract void terminateHard ()

เหมือนกับ terminate() แต่พยายามปิด adb อย่างบังคับให้ปิดด้วย

เพิ่มอุปกรณ์ครั้งแรกแล้ว

public abstract boolean waitForFirstDeviceAdded (long timeout)

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

พารามิเตอร์
timeout long: เวลาที่ต้องรอในหน่วยมิลลิวินาทีก่อนแสดงผลเป็น false

คิกรีเทิร์น
boolean