DeviceManager

public class DeviceManager
extends Object implements IDeviceManager

java.lang.Object
   ↳ com.android.tradefed.device.DeviceManager


สรุป

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

class DeviceManager.FastbootDevice

การแสดงอุปกรณ์ใน Fastboot Mode 

ค่าคงที่

String UNKNOWN_DISPLAY_STRING

แสดงสตริงสำหรับพร็อพเพอร์ตี้ที่ไม่รู้จัก

ช่อง

protected DeviceMonitorMultiplexer mDvcMon

protected boolean mFastbootEnabled

เครื่องมือสร้างสาธารณะ

DeviceManager()

คุณควรดึงข้อมูล DeviceManager จาก GlobalConfiguration

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

void addAvailableDevice(IDevice stubDevice)
void addAvailableNativeDevice(IDevice stubDevice)
void addDeviceMonitor(IDeviceMonitor mon)

เพิ่ม IDeviceMonitor

void addFastbootDevice(DeviceManager.FastbootDevice fastbootDevice)
void addFastbootListener(IDeviceManager.IFastbootListener listener)

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

void addMonitoringTcpFastbootDevice(String serial, String fastbootSerial)

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

ITestDevice allocateDevice(IDeviceSelection options, boolean isTemporary)

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

ITestDevice allocateDevice(IDeviceSelection options)

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

ITestDevice allocateDevice()

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

ITestDevice connectToTcpDevice(String ipAndPort)

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

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

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

boolean disconnectFromTcpDevice(ITestDevice tcpDevice)

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

void displayDevicesInfo(PrintWriter stream, boolean includeStub)

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

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

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

String executeGlobalAdbCommand(String... cmdArgs)

เรียกใช้คำสั่ง adb ที่ไม่ได้กำหนดเป้าหมายไปยังอุปกรณ์ใดอุปกรณ์หนึ่ง เช่น

ITestDevice forceAllocateDevice(String serial)

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

void freeDevice(ITestDevice device, FreeDeviceState deviceState)

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

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

String getAdbPath()

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

String getAdbVersion()

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

DeviceDescriptor getDeviceDescriptor(String serial)

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

String getFastbootPath()

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

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors, IManagedTestDeviceFactory deviceFactory)

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

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors)

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

void init()

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

boolean isEmulator(String serial)

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

boolean isFileSystemMountCheckEnabled()

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

boolean isNullDevice(String serial)

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

void killEmulator(ITestDevice device)

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

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

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

listAllDevices(boolean shortDescriptor)

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

listAllDevices()

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

ITestDevice reconnectDeviceToTcp(ITestDevice usbDevice)

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

void removeDeviceMonitor(IDeviceMonitor mon)

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

void removeFastbootListener(IDeviceManager.IFastbootListener listener)

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

void removeMonitoringTcpFastbootDevice(String serial)

void restartAdbBridge()

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

void stopAdbBridge()

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

void terminate()

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

void terminateDeviceMonitor()

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

void terminateDeviceRecovery()

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

void terminateHard(String reason)

เช่น terminateHard()

void terminateHard()

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

boolean waitForFirstDeviceAdded(long timeout)

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

ค่าคงที่

UNKNOWN_DISPLAY_STRING

public static final String UNKNOWN_DISPLAY_STRING

แสดงสตริงสำหรับพร็อพเพอร์ตี้ที่ไม่รู้จัก

ค่าคงที่: "unknown"

ช่อง

mDvcMon

protected DeviceMonitorMultiplexer mDvcMon

mFastbootEnabled

protected boolean mFastbootEnabled

เครื่องมือสร้างสาธารณะ

DeviceManager

public DeviceManager ()

คุณควรดึงข้อมูล DeviceManager จาก GlobalConfiguration

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

addAvailableDevice

public void addAvailableDevice (IDevice stubDevice)

พารามิเตอร์
stubDevice IDevice

addAvailableNativeDevice

public void addAvailableNativeDevice (IDevice stubDevice)

พารามิเตอร์
stubDevice IDevice

addDeviceMonitor

public void addDeviceMonitor (IDeviceMonitor mon)

เพิ่ม IDeviceMonitor

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

addFastbootDevice

public void addFastbootDevice (DeviceManager.FastbootDevice fastbootDevice)

พารามิเตอร์
fastbootDevice DeviceManager.FastbootDevice

addFastbootListener

public void addFastbootListener (IDeviceManager.IFastbootListener listener)

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

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

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

addMonitoringTcpFastbootDevice

public void addMonitoringTcpFastbootDevice (String serial, 
                String fastbootSerial)

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

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

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

allocateDevice

public ITestDevice allocateDevice (IDeviceSelection options, 
                boolean isTemporary)

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

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

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

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

allocateDevice

public ITestDevice allocateDevice (IDeviceSelection options)

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

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

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

allocateDevice

public ITestDevice allocateDevice ()

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

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

connectToTcpDevice

public ITestDevice connectToTcpDevice (String ipAndPort)

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

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

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

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

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

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

disconnectFromTcpDevice

public boolean disconnectFromTcpDevice (ITestDevice tcpDevice)

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

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

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

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

displayDevicesInfo

public void displayDevicesInfo (PrintWriter stream, 
                boolean includeStub)

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

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

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

executeCmdOnAvailableDevice

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

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

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

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

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

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

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

executeGlobalAdbCommand

public String executeGlobalAdbCommand (String... cmdArgs)

เรียกใช้คำสั่ง adb ที่ไม่ได้กำหนดเป้าหมายไปยังอุปกรณ์ใดอุปกรณ์หนึ่ง เช่น "adb connect"

คิกรีเทิร์น
String เอาต์พุตมาตรฐานหากคำสั่งสำเร็จ ไม่เช่นนั้นจะเป็น null

forceAllocateDevice

public ITestDevice forceAllocateDevice (String serial)

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

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

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

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

freeDevice

public void freeDevice (ITestDevice device, 
                FreeDeviceState deviceState)

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

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

พารามิเตอร์
device ITestDevice: ITestDevice เพื่อให้ว่าง

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

getAdbPath

public String getAdbPath ()

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

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

getAdbVersion

public String getAdbVersion ()

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

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

getDeviceDescriptor

public DeviceDescriptor getDeviceDescriptor (String serial)

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

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

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

getFastbootPath

public String getFastbootPath ()

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

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

init

public void init (IDeviceSelection globalDeviceFilter, 
                 globalDeviceMonitors, 
                IManagedTestDeviceFactory deviceFactory)

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

พารามิเตอร์
globalDeviceFilter IDeviceSelection

globalDeviceMonitors

deviceFactory IManagedTestDeviceFactory

init

public void init (IDeviceSelection globalDeviceFilter, 
                 globalDeviceMonitors)

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

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

globalDeviceMonitors

init

public void init ()

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

isEmulator

public boolean isEmulator (String serial)

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

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

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

isFileSystemMountCheckEnabled

public boolean isFileSystemMountCheckEnabled ()

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

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

isNullDevice

public boolean isNullDevice (String serial)

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

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

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

killEmulator

public void killEmulator (ITestDevice device)

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

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

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

การขว้าง
DeviceNotAvailableException

launchEmulator

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

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

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

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

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

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

การขว้าง
DeviceNotAvailableException

listAllDevices

public  listAllDevices (boolean shortDescriptor)

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

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

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

listAllDevices

public  listAllDevices ()

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

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

reconnectDeviceToTcp

public ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)

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

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

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

การขว้าง
DeviceNotAvailableException

removeDeviceMonitor

public void removeDeviceMonitor (IDeviceMonitor mon)

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

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

removeFastbootListener

public void removeFastbootListener (IDeviceManager.IFastbootListener listener)

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

removeMonitoringTcpFastbootDevice

public void removeMonitoringTcpFastbootDevice (String serial)

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

restartAdbBridge

public void restartAdbBridge ()

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

stopAdbBridge

public void stopAdbBridge ()

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

สิ้นสุด

public void terminate ()

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

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

terminateDeviceMonitor

public void terminateDeviceMonitor ()

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

terminateDeviceRecovery

public void terminateDeviceRecovery ()

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

terminateHard

public void terminateHard (String reason)

เช่น terminateHard()

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

terminateHard

public void terminateHard ()

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

waitForFirstDeviceAdded

public boolean waitForFirstDeviceAdded (long timeout)

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

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

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