adbdevice

This module includes AdbDevice class used on device with given serial.

class simpleadb.adbdevice.AdbDevice(device_id: str, port: Optional[int] = None, **kwargs)

AdbDevice is a class representation of adb commands used on device with given serial.

Parameters
  • device_id (str) – Device ID or Host address.

  • port (Optional[int]) – Port, default is 5555.

Keyword Arguments

path (str) – Adb binary path.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device = simpleadb.AdbDevice('emulator-5554', path='/usr/bin/adb')
>>> device = simpleadb.AdbDevice('192.168.42.42', 5555)
broadcast(intent: str) None

Send broadcast.

Parameters

intent (str) – Intent argument.

Raise

AdbCommandError: When failed.

Return type

int

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.broadcast('am dummy_intent')
clear_logcat(*buffers: str) None

Clear logcat.

Parameters

*buffers (str) – Additional logcat buffers to clear.

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.clear_logcat()
>>> device.clear_logcat('main')
>>> device.clear_logcat('main', 'kernel')
dump_logcat(*buffers: str) str

Dump logcat.

Parameters

*buffers (str) – Additional logcat buffers to dump.

Raise

AdbCommandError: When failed.

Returns

Logcat output string.

Return type

str

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> dumped_logcat = device.dump_logcat()
>>> logcat = device.dump_logcat('main')
>>> logcat = device.clear_logcat('main', 'kernel')
enable_verity(enabled: bool) None

Enable/Disable verity.

Parameters

enabled (bool) – If true enable verity, otherwise disable

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.root()
>>> device.enable_verity(False)
>>> device.remount()
get_app_pid(package_name: str) int

Return the PID of the application.

Parameters

package_name (str) – Package name.

Raise

AdbCommandError: When failed.

Returns

Package PID.

Return type

int

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.get_app_pid('com.dummy.app')
4367
get_devpath() str

Get device path.

Raise

AdbCommandError: When failed.

Returns

Device path.

Return type

str

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.get_devpath()
'usb:3383384308X'
get_id() str

Get target device id. Return the device id used in constructor.

Returns

Device id.

Return type

str

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.get_id()
'emulator-5554'
get_ip(interface: Optional[str] = 'wlan0') str

Return the device IP address.

Parameters

interface (Optional[str]) – Network interface, default wlan0.

Raise

AdbCommandError: When failed.

Returns

Device ip address.

Return type

str

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.get_ip('wlan0')
'192.168.42.42'
get_serialno() str

Get target device serial number.

Raise

AdbCommandError: When failed.

Returns

Serial number.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.get_serialno()
'emulator-5554'
get_state() str

Get device state. Print offline, bootloader or disconnect.

Raise

AdbCommandError: When failed.

Returns

State offline, bootloader or device.

Return type

str

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.get_state()
'device'
getprop(prop: str) str

Get android system property value.

Parameters

prop (str) – Property name.

Raise

AdbCommandError: When failed.

Returns

System property value.

Return type

str

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.setprop('persist.dummy.prop 42')
>>> device.getprop('persist.dummy.prop')
'42'
install(apk: str) None

Push package to the device and install.

Parameters

apk (str) – Package path.

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.install('dummy.apk')
is_available() bool

Check if device is available.

Returns

True if available, otherwise False.

Return type

bool

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.is_available()
True
is_root() bool

Check if device has root permissions (experimental). Not guarantee to work ‘su’ must be installed on device.

Returns

True if device is rooted, False otherwise.

Return type

bool

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.root()
>>> device.is_root()
True
pm_grant(package: str, permission: str) str

Grant permission.

Parameters
  • package (str) – Package name.

  • permission (str) – Android permission.

Returns

0 if success, error code otherwise.

Return type

int

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.pm_grant('com.dummy.app', 'android.permission.PERMISSION')
pull(source: str, dest: Optional[str] = '.') None

Pull files or directories from remote device.

Parameters
  • source (str) – Remote path.

  • dest (Optional[str]) – Local path, default is '.'.

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.push('dummy_file.txt', '/sdcard/Downloads/')
>>> device.pull('/sdcard/Downloads/dummy_file.txt')
>>> device.pull('/sdcard/Downloads/dummy_file.txt', '/tmp')
push(source: str, dest: str) int

Copy local files/dirs to device.

Parameters
  • source (str) – Local path.

  • dest (str) – Remote path.

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.push('dummy_file.txt', '/sdcard/Downloads/')
reboot() int

Reboot the device. Defaults to booting system image.

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.reboot()
remount() int

Remout partition read-write.

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.root()
>>> device.remount()
rm(remote_path: str) None

Remove file in adb device.

Parameters

remote_path (str) – Remote path.

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.rm('/sdcard/dummy_file')
root(timeout_sec: Optional[int] = None) None

Restart adb with root permission if device has one. Wait for device to be in ‘device’ state.

Parameters

timeout_sec (Optional[int]) – Timeout in seconds.

Raise

AdbCommandError: When failed.

Raises

TimeoutExpired – When timeout.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.root()
screencap(**kwargs) None

Capture screenshot.

Keyword Arguments
  • remote (str) – Remote path.

  • local (str) – Local path.

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.screencap()
setprop(prop: str, value: str) None

Set property.

Parameters
  • prop (str) – Property name.

  • value (str) – Property Value.

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.setprop('persist.dummy_prop', 'true')
shell(args: str) None

Run remote shell command interface.

Parameters

args (str) – Adb shell arguments.

Raise

AdbCommandError: When failed.

Returns

Serial number.

Return type

str

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.shell('ls')
swipe(pos_x1: int, pos_y1: int, pos_x2: int, pos_y2: int) None

Swipe screen.

Param

int pos_x1: Start x position.

Param

int pos_y1: Start y position.

Param

int pos_x2: End x position.

Param

int pos_y2: End y position.

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.swipe(0, 0, 42, 42)
tap(pos_x: int, pos_y: int) None

Tap screen.

Parameters
  • pos_x (int) – x position.

  • pos_y (int) – y position.

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.tap(42, 42)
tcpip(port: Union[int, str]) None

Restart adb server listening on TCP on PORT.

Parameters

port (Union[[int, str]) – Port.

Raise

AdbCommandError: When failed.

Returns

0 if success, otherwise error code.

Return type

int

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.tcpip(5555)
uninstall(package: str) None

Remove app package from the device.

Parameters

apk (str) – Package name.

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.uninstall('dummy.apk')
unroot(timeout_sec: Optional[int] = None) None

Restart adb without root permission.

Parameters

timeout_sec (Optional[int]) – Timeout in seconds.

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.unroot()
usb() None

Restart adb server listening on USB.

Raise

AdbCommandError: When failed.

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.usb()
wait_for_device(timeout_sec: Optional[int] = None) int

Wait for device available.

Keyword Arguments

timeout (int) – Timeout in sec, default ‘inf’

Raise

AdbCommandError: When failed.

Raises

TimeoutExpired – When timeout.

Returns

0 if success, error code otherwise.

Return type

int

Example

>>> import simpleadb
>>> device = simpleadb.AdbDevice('emulator-5554')
>>> device.wait_for_device()
>>> device.wait_for_device(timeout=5)