ตัวจัดการอุปกรณ์

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 addDeviceMonitor ( IDeviceMonitor mon)

เพิ่ม IDeviceMonitor

void addFastbootListener ( IDeviceManager.IFastbootListener listener)

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

void addMonitoringTcpFastbootDevice (String serial, String fastboot_serial)

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

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)

เมธอดตัวช่วยเพื่อรันคำสั่งเชลล์บนอุปกรณ์ที่มีอยู่

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) init ( IDeviceSelection globalDeviceFilter, globalDeviceMonitors, IManagedTestDeviceFactory deviceFactory)

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

void init ( IDeviceSelection globalDeviceFilter, globalDeviceMonitors) 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) 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)

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

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

ผู้สร้างสาธารณะ

ตัวจัดการอุปกรณ์

public DeviceManager ()

ควรดึง DeviceManager จาก GlobalConfiguration

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

addAvailableDevice

public void addAvailableDevice (IDevice stubDevice)

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

addDeviceMonitor

public void addDeviceMonitor (IDeviceMonitor mon)

เพิ่ม IDeviceMonitor

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

addFastbootListener

public void addFastbootListener (IDeviceManager.IFastbootListener listener)

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

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

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

addMonitoringTcpFastbootDevice

public void addMonitoringTcpFastbootDevice (String serial, 
                String fastboot_serial)

เพิ่มอุปกรณ์ในการตรวจสอบ fastboot จอภาพ fastboot จะใช้ 'fastboot_serial' เพื่อสื่อสารกับอุปกรณ์

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

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

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

public ITestDevice allocateDevice (IDeviceSelection options, 
                boolean isTemporary)

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

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

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

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

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

public ITestDevice allocateDevice (IDeviceSelection options)

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

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

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

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

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 ได้

ตัดการเชื่อมต่อจากTcpDevice

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 : แสดงอุปกรณ์ต้นขั้วด้วยหรือไม่

รันCmdOnAvailableDevice

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

เมธอดตัวช่วยเพื่อรันคำสั่งเชลล์บนอุปกรณ์ที่มีอยู่

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

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

timeout long : ระยะเวลาที่คำสั่งจะเสร็จสมบูรณ์

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

คืนสินค้า
CommandResult ผลลัพธ์คำ CommandResult

ดำเนินการGlobalAdbCommand

public String executeGlobalAdbCommand (String... cmdArgs)

ดำเนินการคำสั่ง adb ที่ไม่ได้กำหนดเป้าหมายไปยังอุปกรณ์เฉพาะเช่น 'เชื่อมต่อ adb'

คืนสินค้า
String เอาต์พุต std หากคำสั่งไม่สำเร็จเป็นโมฆะ

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

public ITestDevice forceAllocateDevice (String serial)

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

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

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

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

ฟรีอุปกรณ์

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

ในนั้น

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

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

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

globalDeviceMonitors

deviceFactory IManagedTestDeviceFactory

ในนั้น

public void init (IDeviceSelection globalDeviceFilter, 
                 globalDeviceMonitors)

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

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

globalDeviceMonitors

ในนั้น

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 : เวลาในหน่วย ms เพื่อรอให้โปรแกรมจำลองบูต

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

ขว้าง
DeviceNotAvailableException

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

public  listAllDevices (boolean shortDescriptor)

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

พารามิเตอร์
shortDescriptor boolean : จะจำกัด descriptors เป็นข้อมูลขั้นต่ำหรือไม่

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

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

public  listAllDevices ()

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

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

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

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)

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

รีสตาร์ทAdbBridge

public void restartAdbBridge ()

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

หยุดAdbBridge

public void stopAdbBridge ()

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

ยุติ

public void terminate ()

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

สิ่งนี้จะต้องถูกเรียกเมื่อสิ้นสุดการสมัคร

สิ้นสุดDeviceMonitor

public void terminateDeviceMonitor ()

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

ยุติการกู้คืนอุปกรณ์

public void terminateDeviceRecovery ()

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

ยุติฮาร์ด

public void terminateHard (String reason)

เช่น terminateHard()

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

ยุติฮาร์ด

public void terminateHard ()

เช่นเดียวกับ terminate() แต่พยายามปิด adb อย่างแรงเช่นกัน

waitForFirstDeviceAdded

public boolean waitForFirstDeviceAdded (long timeout)

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

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

คืนสินค้า
boolean