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

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

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

protected boolean mFastbootEnabled

ผู้รับเหมาก่อสร้างสาธารณะ

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

public DeviceManager ()

DeviceManager ควรถูกดึงมาจาก GlobalConfiguration

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

เพิ่มอุปกรณ์ที่มีอยู่

public void addAvailableDevice (IDevice stubDevice)

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

เพิ่มDeviceMonitor

public void addDeviceMonitor (IDeviceMonitor mon)

เพิ่ม IDeviceMonitor

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

เพิ่มอุปกรณ์ Fastboot

public void addFastbootDevice (DeviceManager.FastbootDevice fastbootDevice)

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

เพิ่ม FastbootListener

public void addFastbootListener (IDeviceManager.IFastbootListener listener)

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

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

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

เพิ่มการตรวจสอบ 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 หากไม่มี

เชื่อมต่อไปยัง TcpDevice

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

ดำเนินการ 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 สำหรับอุปกรณ์ที่เลือก หรือเป็นค่าว่างหากซีเรียลไม่ตรงกับอุปกรณ์ที่รู้จัก

รับ 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 ()

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

คือโปรแกรมจำลอง

public boolean isEmulator (String serial)

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

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

การส่งคืน
boolean

isFileSystemMountCheckEnabled

public boolean isFileSystemMountCheckEnabled ()

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

การส่งคืน
boolean

เป็นNullDevice

public boolean isNullDevice (String serial)

ตรวจสอบว่าอนุกรมที่กำหนดแสดงถึงอุปกรณ์ว่างหรือไม่

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

การส่งคืน
boolean

ฆ่าEmulator

public void killEmulator (ITestDevice device)

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

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

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

ขว้าง
DeviceNotAvailableException

เปิดตัวEmulator

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 สำหรับอุปกรณ์ที่รู้จักทั้งหมด

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

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

public boolean waitForFirstDeviceAdded (long timeout)

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

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

การส่งคืน
boolean