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)