Skip to main content

ADBHelper is a Python class that helps manage Android devices through ADB (Android Debug Bridge). It provides methods for retrieving device information, installing applications, entering text, tapping on the screen, and many other functions.

Project description

ADBHelper (1.2.0) Usage Guide

Introduction

ADBHelper is a Python class that helps manage Android devices through ADB (Android Debug Bridge). It provides methods for retrieving device information, installing applications, entering text, tapping on the screen, and many other functions.

Installation

Before using, make sure you have installed:

  • Python 3.x
  • The libraries adbutils==2.8.0 and opencv-python==4.10.0.84
  • ADB configured correctly on your system

How to Use

Initialization

from adb_helper import ADBHelper

# Khởi tạo thiết bị với device_id tương ứng
# Initialize device with corresponding device_id

device_id = 'emulator-5556'  # Device ID
adb_helper = ADBHelper(device_id)
  1. Get Device List
# Lấy thông tin toàn bộ các thiết bị
# Get information of all devices

devices = adb_helper.get_devices()
"""
devices = [
            {
                'platformVersion': platformVersion,
                'deviceName': deviceName,
                'appPackage': appPackage,
                'appActivity': appActivity, 
                'udid': i.serial    
            },
            ...
        ]
"""
  1. Install APK File on Device
# Cài đặt file APK
# Install Apk file

adb_helper.install_APK(apk_path)
  1. Check If the Application Exists
# Kiểm tra nếu ứng dụng đã được cài đặt trên thiết bị
# Check if Application is installed on device

exists = adb_helper.check_exits(app_package)
  1. Open the Application
# Mở ứng dụng trên thiết bị
# Open Application on device

adb_helper.open_app(app_package, 'com.example.app.MainActivity')
  1. Transfer Media to Device
# Chuyển toàn bộ 1 thư mục media sang thiết bị
# Transfer a media folder to device
# media_path = 'path/to/media/'

result = adb_helper.transfer_media(media_path)
print(result)
  1. Input Text
# Nhập chữ vào thiết bị
# Input text to device
# text_value: string

adb_helper.input_text("Hello World!")
  1. Click at Coordinates
# Click vào một vị trí trên màn hình thiết bị theo toạ độ
# Click on a position on the device screen based on coordinates
# coordinates: (x, y)

adb_helper.click_screen(coordinates)
  1. Swipe the Screen
# Thực hiện thao tác vuốt màn hình từ một vị trí đến một vị trí khác trên thiết bị Android. Thời gian thực hiện vuốt được điều chỉnh bằng tham số duration.
# Swipe the screen from one position to another on the Android device. The time to perform the swipe is adjusted by the duration parameter.
# start_coordinates: (x1, y1)
# end_coordinates: (x2, y2)

adb_helper.swipe_screen(start_coords, end_coords, 500)
  1. Click by Image
# Click vào vị trí của một đối tượng dựa trên hình ảnh mẫu.
# template_path: Đường dẫn đến hình ảnh mẫu cần tìm kiếm trên màn hình thiết bị.
# threshold: Ngưỡng để xác định sự khớp giữa mẫu và ảnh (mặc định là 0.8).
# ---
# Click on the position of an object based on a template image.
# template_path: Path to the template image to search for on the device screen.
# threshold: Threshold to determine the match between the template and the image (default is 0.8).

adb_helper.click_image(template_path)
  1. Click by Attriute
# Không dùng cho class
# Đối với class, dùng click_class() thay thế

# Not used for class
# For class, use click_class() instead

# Click vào đối tượng theo thuộc tính và giá trị của thuộc tính đó.
# attribute: Tên thuộc tính (ví dụ: text, content-desc, resource-id).
# value: Giá trị của thuộc tính đó.
# ---
# Click on the object by attribute and the value of that attribute.
# attribute: Attribute name (e.g. text, content-desc, resource-id).
# value: Value of that attribute.

adb_helper.click_attribute(attribute, value)
  1. Click by class & index
# Click vào đối tượng theo class và index.
# class: Giá trị class cần tìm.
# index: Giá trị index cần tìm.
# ---
# Click on the object by class and index.
# class: The class value to find.
# index: The index value to find.

adb_helper.click_class(class_name, index)
  1. Check XML's Attribute
# Kiểm tra xem có đối tượng nào trong XML có thuộc tính và giá trị cho trước hay không.
# attribute: Tên thuộc tính cần kiểm tra.
# value: Giá trị của thuộc tính cần kiểm tra.
# ---
# Check if there is any object in the XML with the given attribute and value.
# attribute: The name of the attribute to check.
# value: The value of the attribute to check.

# attribute = class, text, content-desc, resource-id, ... (str)

adb_helper.check_XML(attribute, value)
  1. Pull APK File from Device
# Xuất APK từ thiết bị Android thông qua ADB.
# appPackage: Tên gói của ứng dụng cần xuất APK.
# ---
# Export APK from Android device via ADB.
# appPackage: The package name of the application to export APK.

adb_helper.export_APK(appPackage, output_path)
  1. Send Key Event to Device
# Gửi event phím tắt tới thiết bị thông qua ADB.
# Để xem danh sách các phím tắt có sẵn, hãy sử dụng lệnh "adb shell input keyevent".
# ---
# Send key event to the device via ADB.
# To see the list of available shortcuts, use the "adb shell input keyevent" command.

adb_helper.key_envent(event_code)

Author: Rudyy Greyrat
GitHub: dmquang
Telegram: @rudyy_greyrat


Feel free to let me know if you need any further modifications or additions!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adb_helper-1.2.0.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

ADB_Helper-1.2.0-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file adb_helper-1.2.0.tar.gz.

File metadata

  • Download URL: adb_helper-1.2.0.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for adb_helper-1.2.0.tar.gz
Algorithm Hash digest
SHA256 11af6457b8c2d788a2c2537b972b317e060771e1e0e1ef29a09e659332cfe7d9
MD5 6e258f1c6eff140444dfd011240a0059
BLAKE2b-256 8896b9e6f1caaf9713c58da82ae36caa611c87e1e28ebed3f545ff3270c299e9

See more details on using hashes here.

File details

Details for the file ADB_Helper-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: ADB_Helper-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for ADB_Helper-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 411fc1e0a9d09ee5cbfb31962ce49eae110a2b93965c8ae2693c7a3e8e7b23b2
MD5 14e0e6062befc867351134ade061220e
BLAKE2b-256 55765dbcf333048a39db2bec7438c668528351b685ae57c27e92d59bb9a5013a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page