A simple python package to interface with adb
Project description
PY-ADB
This is a package to command android device with Python, it use ADB, so if you don't have it, plaese install it before.REQUIREMENTS
# WINDOWS
choco install adb
# LINUX
sudo apt-get install android-tools-adb
# MAC
brew install android-platform-tools
BEFORE STARTING USING PY-ADB ENSURE YOU HAVE ENABLED DEVELOPER OPTIONS
Using PY-ADB is simple, just install adb-connector-python
pip install adb-connector-python
# create main.py file
EXAMPLES
# in main.py
from adb_connector_python.connector import Py_adb
adb_connector = Py_adb()
print(adb_connector.ADB_VERSION) # 1.0.41
print(adb_connector.ADB_EXECUTABLE) # /usr/bin/adb
BASIC INFO
adb_connector.list_devices()
# [ { "id":"fh8swx9cs", "status":"device" }, { "id":"2439vjsacs", "status":"unauthorized" } ]
adb_connector.is_adb_running() # it runs on every action and raise exception if adb is not running
# True
adb_connector.get_first_avaiable_device()
# { "id":"fh8swx9cs", "status":"device" }
adb_connector.phone_data()
# {
# "battery_data":{ "is_charging":True, "level":64 },
# "device_data":{ "model":"AS3D24SS", "android_version":13,"brand":"Redmi" },
# "status":{ "is_locked":True, "is_awake":False },
# "packages":{ "count":130, "list":["com.android.google.youtube", ... ] }
# }
adb_connector.start_logcat() # start android log
adb_connector.start_logcat(term="Flutter") # only return log containing Flutter string
# This can be useful for debug, for example creating a custom error and ther looking for it
MANAGING APK
adb_connector.install_apk(path="path/to/apk")
adb_connector.uninstall_apk(
package_name="com.android.google.youtube",
device_id="2439vjsacs"
)
SCREEN ACTIONS
# swipe on the screen from points x100 y100 to x300 y300
adb_connector.swipe(
x_from=100,y_from=100,
y_to=300,y_to=300
)
# tap on screen at cordinates x100 y100
adb_connector.tap(x=100,y=100)
adb_connector.home() # return to device home
adb_connector.back() # go back
adb_connector.foreground_apps() # background app check
OPEN APPS
adb_connector.open_call_log()
adb_connector.open_calendar()
adb_connector.open_music()
adb_connector.open_calculator()
adb_connector.open_email()
adb_connector.open_browser()
adb_connector.open_camera()
# to see all supported app run
adb_connector.SUPPORTED_APPS
USER ACTIONS
# phone call
adb_connector.call(phone_number="xxxxxxxx")
# send sms
adb_connector.send_sms(phone_number="xxxxxxxx",message="hello world")
# unlock screen
adb_connector.unlock_screen(password="12345")
# lock screen
adb_connector.power_button()
# take screenshot
adb_connector.screenshot()
# input text
adb_connector.insert_text("important data")
# take a picture with frontal camera zoomming 5 times
adb_connector.take_picture(frontal_camera=True, zoom_in=5)
# video capture with external camera for 10 seconds, zoomming 3 times
adb_connector.video_capture(zoom_out=3, duration=10 )
# activate voice assistant (ok google)
adb_connector.voice_assistant()
# toggle notification center
adb_connector.notification_center()
OTHER ACTIONS
# turn off device in 2 seconds
adb_connector.turn_off(countdown=2)
# reboot device in 10 seconds
adb_connector.reboot(countdown=10)
# raise / low volume
adb_connector.volume_up()
adb_connector.volume_down(times=7) # do it 7 times
# raise / low brightness
adb_connector.brightness_up(times=2) # do it 2 times
adb_connector.brightness_down()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file adb_connector_python-1.1.8-py3-none-any.whl
.
File metadata
- Download URL: adb_connector_python-1.1.8-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fa6154a13fca06756e8c1e1ff219b533fd28158e85b7d6cf2d1d2754b728858 |
|
MD5 | 2c2d40e33435c845b1f36c8c80b37fad |
|
BLAKE2b-256 | ef0a4cc096d15ba5545c53e5766270687dc23c0925c31e7f6f504e48b2d717aa |