DeviceManager
public
class
DeviceManager
extends Object
implements
IDeviceManager
java.lang.Object | |
↳ | com.android.tradefed.device.DeviceManager |
Summary
Nested classes | |
---|---|
class |
DeviceManager.FastbootDevice
|
Constants | |
---|---|
String |
UNKNOWN_DISPLAY_STRING
Display string for unknown properties |
Fields | |
---|---|
static
final
IDeviceSelection |
ANY_DEVICE_OPTIONS
a |
protected
DeviceMonitorMultiplexer |
mDvcMon
|
protected
boolean |
mFastbootEnabled
|
Public constructors | |
---|---|
DeviceManager()
The DeviceManager should be retrieved from the |
Public methods | |
---|---|
void
|
addAvailableDevice(IDevice stubDevice)
|
void
|
addDeviceMonitor(IDeviceMonitor mon)
Adds a |
void
|
addFastbootListener(IDeviceManager.IFastbootListener listener)
Informs the manager that a listener is interested in fastboot state changes. |
ITestDevice
|
allocateDevice(IDeviceSelection options)
Request a device for testing that meets certain criteria. |
ITestDevice
|
allocateDevice()
Request a physical device for testing |
ITestDevice
|
connectToTcpDevice(String ipAndPort)
Connect to a device with adb-over-tcp This method allocates a new device, which should eventually be freed viadisconnectFromTcpDevice(ITestDevice)
The returned ITestDevice will be online, but may not be responsive.
|
boolean
|
disconnectFromTcpDevice(ITestDevice tcpDevice)
Disconnect from an adb-over-tcp connected device. |
void
|
displayDevicesInfo(PrintWriter stream)
Output a user-friendly description containing list of known devices, their state, and
values for commonly used |
String
|
executeGlobalAdbCommand(String... cmdArgs)
Execute a adb command not targeted to a particular device eg. |
ITestDevice
|
forceAllocateDevice(String serial)
Rudely allocate a device, even if its not currently available. |
void
|
freeDevice(ITestDevice device, FreeDeviceState deviceState)
Return a device to the pool Attempts to return a device that hasn't been previously allocated will be ignored. |
String
|
getAdbVersion()
Get the adb version currently in use by the device manager. |
int
|
getAvailableFlashingPermits()
Get the number of available flashing permits |
String
|
getFastbootPath()
Returns the path to the fastboot binary path to use. |
void
|
init(IDeviceSelection globalDeviceFilter, List<IDeviceMonitor> globalDeviceMonitors, IManagedTestDeviceFactory deviceFactory)
Initialize the device manager. |
void
|
init(IDeviceSelection globalDeviceFilter, List<IDeviceMonitor> globalDeviceMonitors)
Initialize the device manager. |
void
|
init()
Initialize the device manager. |
boolean
|
isEmulator(String serial)
Determine if given serial represents a emulator |
boolean
|
isNullDevice(String serial)
Determine if given serial represents a null device |
void
|
killEmulator(ITestDevice device)
Shut down the given emulator. |
void
|
launchEmulator(ITestDevice device, long bootTimeout, IRunUtil runUtil, List<String> emulatorArgs)
Helper method to launch emulator. |
List<DeviceDescriptor>
|
listAllDevices()
Returns a map of all known devices and their state |
ITestDevice
|
reconnectDeviceToTcp(ITestDevice usbDevice)
A helper method that switches the given usb device to adb-over-tcp mode, and then connects to
it via |
void
|
removeDeviceMonitor(IDeviceMonitor mon)
Removes a previously added |
void
|
removeFastbootListener(IDeviceManager.IFastbootListener listener)
Informs the manager that a listener is no longer interested in fastboot state changes. |
void
|
restartAdbBridge()
Restart (if |
void
|
returnFlashingPermit()
Restore a flashing permit that we acquired previously |
void
|
stopAdbBridge()
Stop adb bridge and services depend on adb connections. |
void
|
takeFlashingPermit()
Request permission to flash. |
void
|
terminate()
Stops device monitoring services, and terminates the ddm library. |
void
|
terminateDeviceMonitor()
Stop the Device Monitors. |
void
|
terminateDeviceRecovery()
Stops the device recovery thread. |
void
|
terminateHard()
Like |
boolean
|
waitForFirstDeviceAdded(long timeout)
Wait until a first physical device is connected. |
Constants
UNKNOWN_DISPLAY_STRING
public static final String UNKNOWN_DISPLAY_STRING
Display string for unknown properties
Constant Value: "unknown"
Fields
ANY_DEVICE_OPTIONS
static final IDeviceSelection ANY_DEVICE_OPTIONS
a DeviceSelectionOptions
that matches any device. Visible for testing.
mFastbootEnabled
protected boolean mFastbootEnabled
Public constructors
DeviceManager
public DeviceManager ()
The DeviceManager should be retrieved from the GlobalConfiguration
Public methods
addAvailableDevice
public void addAvailableDevice (IDevice stubDevice)
Parameters | |
---|---|
stubDevice |
IDevice |
addDeviceMonitor
public void addDeviceMonitor (IDeviceMonitor mon)
Adds a IDeviceMonitor
Parameters | |
---|---|
mon |
IDeviceMonitor |
addFastbootListener
public void addFastbootListener (IDeviceManager.IFastbootListener listener)
Informs the manager that a listener is interested in fastboot state changes.
Currently aIDeviceManager
will only monitor devices in fastboot if there are one or
more active listeners.
TODO: this is a bit of a hack - find a better solution
allocateDevice
public ITestDevice allocateDevice (IDeviceSelection options)
Request a device for testing that meets certain criteria.
Parameters | |
---|---|
options |
IDeviceSelection : the IDeviceSelection the device should meet. |
Returns | |
---|---|
ITestDevice |
a ITestDevice for testing, or null if one
is not available
|
allocateDevice
public ITestDevice allocateDevice ()
Request a physical device for testing
Returns | |
---|---|
ITestDevice |
a ITestDevice for testing, or null if one is not available
|
connectToTcpDevice
public ITestDevice connectToTcpDevice (String ipAndPort)
Connect to a device with adb-over-tcp
This method allocates a new device, which should eventually be freed viadisconnectFromTcpDevice(ITestDevice)
The returned ITestDevice
will be online, but may not be responsive.
Note that performing action such as a reboot on a tcp connected device, will sever the
tcp connection to the device, and result in a DeviceNotAvailableException
Parameters | |
---|---|
ipAndPort |
String : the original ip address and port of the device to connect to |
Returns | |
---|---|
ITestDevice |
the ITestDevice or null if a tcp connection could not be formed
|
disconnectFromTcpDevice
public boolean disconnectFromTcpDevice (ITestDevice tcpDevice)
Disconnect from an adb-over-tcp connected device.
Switches the device back to usb mode, and frees it.Parameters | |
---|---|
tcpDevice |
ITestDevice : the device currently in tcp mode, previously allocated via
connectToTcpDevice(String) |
Returns | |
---|---|
boolean |
true if switch to usb mode was successful
|
displayDevicesInfo
public void displayDevicesInfo (PrintWriter stream)
Output a user-friendly description containing list of known devices, their state, and
values for commonly used IDeviceSelection
options.
Parameters | |
---|---|
stream |
PrintWriter : the PrintWriter to output the description to
|
executeGlobalAdbCommand
public String executeGlobalAdbCommand (String... cmdArgs)
Execute a adb command not targeted to a particular device eg. 'adb connect'
Returns | |
---|---|
String |
std output if the command succeedm null otherwise. |
forceAllocateDevice
public ITestDevice forceAllocateDevice (String serial)
Rudely allocate a device, even if its not currently available.
Will have no effect if device is already allocated.Parameters | |
---|---|
serial |
String : the device serial to allocate |
Returns | |
---|---|
ITestDevice |
the ITestDevice , or null if it could not be allocated
|
freeDevice
public void freeDevice (ITestDevice device, FreeDeviceState deviceState)
Return a device to the pool
Attempts to return a device that hasn't been previously allocated will be ignored.Parameters | |
---|---|
device |
ITestDevice : the ITestDevice to free |
deviceState |
FreeDeviceState : the FreeDeviceState . Used to control if
device is returned to available device pool.
|
getAdbVersion
public String getAdbVersion ()
Get the adb version currently in use by the device manager.
Returns | |
---|---|
String |
getAvailableFlashingPermits
public int getAvailableFlashingPermits ()
Get the number of available flashing permits
Returns | |
---|---|
int |
Number of available flashing permits or Integer.MAX_VALUE if not available. |
getFastbootPath
public String getFastbootPath ()
Returns the path to the fastboot binary path to use.
Returns | |
---|---|
String |
init
public void init (IDeviceSelection globalDeviceFilter, List<IDeviceMonitor> globalDeviceMonitors, IManagedTestDeviceFactory deviceFactory)
Initialize the device manager. This must be called once and only once before any other methods are called.
Parameters | |
---|---|
globalDeviceFilter |
IDeviceSelection |
globalDeviceMonitors |
List |
deviceFactory |
IManagedTestDeviceFactory |
init
public void init (IDeviceSelection globalDeviceFilter, List<IDeviceMonitor> globalDeviceMonitors)
Initialize the device manager. This must be called once and only once before any other methods are called.
Parameters | |
---|---|
globalDeviceFilter |
IDeviceSelection : the device filter
|
globalDeviceMonitors |
List |
init
public void init ()
Initialize the device manager. This must be called once and only once before any other methods are called.
isEmulator
public boolean isEmulator (String serial)
Determine if given serial represents a emulator
Parameters | |
---|---|
serial |
String |
Returns | |
---|---|
boolean |
isNullDevice
public boolean isNullDevice (String serial)
Determine if given serial represents a null device
Parameters | |
---|---|
serial |
String |
Returns | |
---|---|
boolean |
killEmulator
public void killEmulator (ITestDevice device)
Shut down the given emulator.
Blocks until emulator disappears from adb. Will have no effect if emulator is already not available.Parameters | |
---|---|
device |
ITestDevice : the ITestDevice representing emulator to shut down |
Throws | |
---|---|
DeviceNotAvailableException |
launchEmulator
public void launchEmulator (ITestDevice device, long bootTimeout, IRunUtil runUtil, List<String> emulatorArgs)
Helper method to launch emulator.
Will launch the emulator as specified by the callerParameters | |
---|---|
device |
ITestDevice : the placeholder ITestDevice representing allocated emulator device |
bootTimeout |
long : the time in ms to wait for the emulator to boot |
emulatorArgs |
List : command line arguments to launch the emulator |
Throws | |
---|---|
DeviceNotAvailableException |
listAllDevices
public List<DeviceDescriptor> listAllDevices ()
Returns a map of all known devices and their state
Returns | |
---|---|
List<DeviceDescriptor> |
a list of device serials and their DeviceAllocationState
|
reconnectDeviceToTcp
public ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)
A helper method that switches the given usb device to adb-over-tcp mode, and then connects to
it via connectToTcpDevice(String)
.
Parameters | |
---|---|
usbDevice |
ITestDevice : the device currently in usb mode |
Returns | |
---|---|
ITestDevice |
the newly allocated ITestDevice in tcp mode or null if a tcp
connection could not be formed |
Throws | |
---|---|
DeviceNotAvailableException |
removeDeviceMonitor
public void removeDeviceMonitor (IDeviceMonitor mon)
Removes a previously added IDeviceMonitor
. Has no effect if mon has not been added.
Parameters | |
---|---|
mon |
IDeviceMonitor |
removeFastbootListener
public void removeFastbootListener (IDeviceManager.IFastbootListener listener)
Informs the manager that a listener is no longer interested in fastboot state changes.
restartAdbBridge
public void restartAdbBridge ()
Restart (if stopAdbBridge()
was called) adb bridge and services depend on adb
connections.
returnFlashingPermit
public void returnFlashingPermit ()
Restore a flashing permit that we acquired previously
stopAdbBridge
public void stopAdbBridge ()
Stop adb bridge and services depend on adb connections.
takeFlashingPermit
public void takeFlashingPermit ()
Request permission to flash. If the number of concurrent flashers is limited, this will wait in line in order to remain under the flash limit count.
terminate
public void terminate ()
Stops device monitoring services, and terminates the ddm library.
This must be called upon application termination.terminateDeviceMonitor
public void terminateDeviceMonitor ()
Stop the Device Monitors.
terminateDeviceRecovery
public void terminateDeviceRecovery ()
Stops the device recovery thread.
terminateHard
public void terminateHard ()
Like terminate()
, but attempts to forcefully shut down adb as well.
waitForFirstDeviceAdded
public boolean waitForFirstDeviceAdded (long timeout)
Wait until a first physical device is connected. If a device was connected before, it returns directly True. If no device was added, it returns false after timeout.
Parameters | |
---|---|
timeout |
long : time to wait in millisecond before returning false.
|
Returns | |
---|---|
boolean |
Interfaces
- IAndroidDebugBridge
- IBatteryTemperature
- IDeviceManager
- IDeviceManager.IFastbootListener
- IDeviceMonitor
- IDeviceRecovery
- IDeviceSelection
- IDeviceStateMonitor
- IFileEntry
- ILogcatReceiver
- IManagedTestDevice
- IManagedTestDeviceFactory
- IMultiDeviceRecovery
- INativeDevice
- ITestDevice
- ITestDeviceMutator
- IWifiHelper
- NativeDevice.DeviceAction
Classes
- AndroidDebugBridgeWrapper
- BackgroundDeviceAction
- BatteryTemperature
- BatteryTemperature.DumpsysBatteryTemperatureReceiver
- CollectingByteOutputReceiver
- CollectingOutputReceiver
- CpuStatsCollector
- CpuStatsCollector.CpuStats
- CpuStatsCollector.CpuStatsReceiver
- DeviceDiagTest
- DeviceManager
- DeviceManager.FastbootDevice
- DeviceMonitorMultiplexer
- DeviceProperties
- DeviceSelectionOptions
- DeviceStateMonitor
- DeviceUtilStatsMonitor
- DeviceUtilStatsMonitor.UtilizationDesc
- DumpsysPackageReceiver
- FastbootHelper
- FileEntryWrapper
- IDeviceMonitor.DeviceLister
- IManagedTestDevice.DeviceEventResponse
- ITestDevice.MountPointInfo
- LargeOutputReceiver
- LogcatReceiver
- ManagedDeviceList
- ManagedTestDeviceFactory
- NativeDevice
- NativeDevice.AdbAction
- NativeDevice.AdbShellAction
- NativeDeviceStateMonitor
- NullDevice
- PackageInfo
- ReconnectingRecovery
- RemoteAndroidDevice
- RetryingWaitDeviceRecovery
- StubDevice
- TcpDevice
- TestDevice
- TestDeviceMutator
- TestDeviceOptions
- TopHelper
- TopHelper.TopReceiver
- TopHelper.TopStats
- WaitDeviceRecovery
- WifiHelper
Enums
Exceptions
Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.