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

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 addFastbootDevice ( DeviceManager.FastbootDevice fastbootDevice)
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)

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

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 bridge และบริการขึ้นอยู่กับการเชื่อมต่อ 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

แสดงสตริงสำหรับคุณสมบัติที่ไม่รู้จัก

mDvcจ

protected DeviceMonitorMultiplexer mDvcMon

เปิดใช้งาน mFastboot แล้ว

protected boolean mFastbootEnabled

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

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

public DeviceManager ()

ควรดึง DeviceManager จาก GlobalConfiguration

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

addAvailableDevice

public void addAvailableDevice (IDevice stubDevice)

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

เพิ่มDeviceMonitor

public void addDeviceMonitor (IDeviceMonitor mon)

เพิ่ม IDeviceMonitor

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

เพิ่ม FastbootDevice

public void addFastbootDevice (DeviceManager.FastbootDevice fastbootDevice)

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

เพิ่ม FastbootListener

public void addFastbootListener (IDeviceManager.IFastbootListener listener)

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

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

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

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

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 สำเร็จ

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

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 ใช้เพื่อควบคุมว่าอุปกรณ์จะถูกส่งกลับไปยังพูลอุปกรณ์ที่มีอยู่หรือไม่

รับ AdbPath

public String getAdbPath ()

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

ส่งคืน
String

getAdbVersion

public String getAdbVersion ()

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

ส่งคืน
String

getDeviceDescriptor

public DeviceDescriptor getDeviceDescriptor (String serial)

ส่งกลับ DeviceDescriptor พร้อมซีเรียลที่กำหนด

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

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

รับ FastbootPath

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)

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

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

ส่งคืน
boolean

killEmulator

public void killEmulator (ITestDevice device)

ปิดโปรแกรมจำลองที่กำหนด

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

พารามิเตอร์
device ITestDevice : ITestDevice เป็นตัวแทนของโปรแกรมจำลองเพื่อปิดตัวลง

พ่น
DeviceNotAvailableException

เปิดตัวโปรแกรมจำลอง

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 : ว่าจะจำกัดตัวอธิบายเป็นข้อมูลขั้นต่ำหรือไม่

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

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

public  listAllDevices ()

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

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

เชื่อมต่อ DeviceToTcp อีกครั้ง

public ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)

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

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

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

พ่น
DeviceNotAvailableException

ลบDeviceMonitor

public void removeDeviceMonitor (IDeviceMonitor mon)

ลบ IDeviceMonitor ที่เพิ่มไว้ก่อนหน้านี้ ไม่มีผลหากไม่ได้เพิ่มจันทร์

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

ลบ FastbootListener

public void removeFastbootListener (IDeviceManager.IFastbootListener listener)

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

รีสตาร์ท AdbBridge

public void restartAdbBridge ()

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

หยุด AdbBridge

public void stopAdbBridge ()

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

เพิ่ม waitForFirstDevice แล้ว

public boolean waitForFirstDeviceAdded (long timeout)

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

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

ส่งคืน
boolean