DeviceManager

public class DeviceManager
extends Object implements IDeviceManager

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


สรุป

ชั้นเรียนที่ซ้อนกัน

class DeviceManager.FastbootDevice

การนําเสนออุปกรณ์ในโหมด Fastboot 

ช่อง

public static final 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)

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

void addMonitoringTcpFastbootDevice(String serial, String fastboot_serial)

เพิ่มอุปกรณ์ในเครื่องมือตรวจสอบการรีบูตระบบ

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)

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

void killEmulator(ITestDevice device)

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

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

เมธอดตัวช่วยเพื่อเปิดโปรแกรมจำลอง

listAllDevices(boolean shortDescriptor)

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

listAllDevices()

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

ITestDevice reconnectDeviceToTcp(ITestDevice usbDevice)

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

void removeDeviceMonitor(IDeviceMonitor mon)

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

void removeFastbootListener(IDeviceManager.IFastbootListener listener)

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

void restartAdbBridge()

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

void stopAdbBridge()

หยุดบริดจ์ adb และบริการที่ขึ้นอยู่กับการเชื่อมต่อ 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

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

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)

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

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

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

addMonitoringTcpFastbootDevice

public void addMonitoringTcpFastbootDevice (String serial, 
                String fastboot_serial)

เพิ่มอุปกรณ์ในเครื่องมือตรวจสอบการรีบูตระบบ เครื่องมือตรวจสอบ Fastboot จะใช้ "fastboot_serial" เพื่อสื่อสารกับอุปกรณ์

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

fastboot_serial 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: แสดงอุปกรณ์จำลองด้วยหรือไม่

executeCmdOnAvailableDevice

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

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

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

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

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

timeUnit TimeUnit: หน่วยของเวลาหมด

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

executeGlobalAdbCommand

public String executeGlobalAdbCommand (String... cmdArgs)

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

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

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)

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

พารามิเตอร์
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)

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

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

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

listAllDevices

public  listAllDevices ()

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

คิกรีเทิร์น
รายการ 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

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

removeFastbootListener

public void removeFastbootListener (IDeviceManager.IFastbootListener listener)

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

restartAdbBridge

public void restartAdbBridge ()

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

stopAdbBridge

public void stopAdbBridge ()

หยุดบริดจ์ adb และบริการที่ขึ้นอยู่กับการเชื่อมต่อ 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)

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

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

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