A Python implementation of ADB with shell and FileSync functionality.
.. image:: https://travis-ci.com/JeffLIrion/adbshell.svg?branch=master :target: https://travis-ci.com/JeffLIrion/adbshell
.. image:: https://coveralls.io/repos/github/JeffLIrion/adbshell/badge.svg?branch=master :target: https://coveralls.io/github/JeffLIrion/adbshell?branch=master
.. image:: https://pepy.tech/badge/adb-shell :target: https://pepy.tech/project/adb-shell
Documentation for this package can be found at https://adb-shell.readthedocs.io/.
This Python package implements ADB shell and FileSync functionality. It originated from
python-adb_.
.. code-block::
pip install adb-shell
Async
To utilize the async version of this code, you must install into a Python 3.7+ environment via:
.. code-block::
pip install adb-shell[async]
USB Support (Experimental)
To connect to a device via USB, install this package via:
.. code-block::
pip install adb-shell[usb]
(Based on
androidtv/adb_manager.py_)
.. code-block:: python
from adbshell.adbdevice import AdbDeviceTcp, AdbDeviceUsb from adbshell.auth.signpythonrsa import PythonRSASigner
# Load the public and private keys adbkey = 'path/to/adbkey' with open(adbkey) as f: priv = f.read() with open(adbkey + '.pub') as f: pub = f.read() signer = PythonRSASigner(pub, priv)
# Connect device1 = AdbDeviceTcp('192.168.0.222', 5555, defaulttransporttimeouts=9.) device1.connect(rsakeys=[signer], authtimeouts=0.1)
# Connect via USB (package must be installed via
pip install adb-shell[usb])device2 = AdbDeviceUsb() device2.connect(rsakeys=[signer], authtimeout_s=0.1)
# Send a shell command response1 = device1.shell('echo TEST1') response2 = device2.shell('echo TEST2')