Skip to main content

Minimal Android TV remote over ADB (WiFi), works on PC and Pydroid

Project description

Android TV Remote 📺

A lightweight Python remote control for Android TV using ADB over network.
Works on desktop and mobile (Pydroid3).

Python Platform ADB PyPI

screenshot

✨ Features

  • 📡 ADB over WiFi (no USB required)
  • 🎮 Full D-Pad control (navigation + OK)
  • 🔊 Volume & Power controls
  • 🏠 System buttons (Home, Back, Menu)
  • ⌨️ Send text input to the device
  • 🧵 Async ADB calls (non-blocking UI)
  • 📱 Responsive UI (auto scaling)
  • ⌨️ Keyboard shortcuts support
  • 📝 Logging system (remote.log)

📦 Requirements

  • Python 3.8+
  • ADB installed and accessible in PATH

⚡ Quick Start

Option 1: Install with pipx (Recommended)

pipx install adbtvremote
adbtvremote

Why pipx? Keeps the app isolated in its own virtual environment, avoiding dependency conflicts with other Python projects.

Option 2: Install with pip

pip install adbtvremote
adbtvremote

Option 3: Run from source

git clone https://github.com/DanVerseDev/android-tv-remote.git
cd android-tv-remote
pip install -r requirements.txt
python main.py

Pydroid3 (Android)

Install:

  • customtkinter
  • ADB binary (manual setup may be required)

⚙️ Setup (ADB over Network)

  1. Enable developer options on your Android TV

  2. Enable:

    • USB debugging
    • Wireless debugging (if available)
  3. Connect once via USB (optional but recommended):

adb tcpip 5555
  1. Get device IP and connect:
adb connect 192.168.x.x:5555

🚀 Usage

After installation, simply run:

adbtvremote

Or if running from source:

python main.py

Connect

  • Enter IP: 192.168.x.x:####
  • Click Connect

Controls

  • UI buttons for navigation and system actions
  • Keyboard:
    • Arrow keys → Navigation
    • Enter → OK
    • Backspace → Back
    • Escape → Home

Send Text

  • Click Send Text
  • Input text and send directly to device

🧠 How it works

  • Uses adb shell input keyevent for buttons
  • Uses adb shell input text for text input
  • Runs ADB commands in background threads
  • Logs all activity for debugging to remote.log

📁 Project Structure

.
├── main.py
├── remote.log (generated)
└── README.md

⚠️ Notes

  • Device and host must be on the same network
  • Some TVs may require pairing for wireless ADB
  • Text input replaces spaces with %s (ADB limitation)

🐞 Logging

All ADB calls and errors are logged in remote.log

📄 License

MIT License - Copyright (c) 2026 Daniel Martí


Built with ❤️ by Daniel Martí aka DanVerse

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

adbtvremote-0.1.1.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adbtvremote-0.1.1-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file adbtvremote-0.1.1.tar.gz.

File metadata

  • Download URL: adbtvremote-0.1.1.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for adbtvremote-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f4485688914c9ded4c3b57911d3f1365409cdbeb18094171833bbb58209f1c3d
MD5 6a6f5d9c0703de72afe0fa8dd4fa0317
BLAKE2b-256 e3fe6b8535afcddaa31af118e82da7094707ae927ad1ea8f5d9616baddb07e80

See more details on using hashes here.

File details

Details for the file adbtvremote-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: adbtvremote-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for adbtvremote-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c79eae805a1fd8d158e7a462f5af54d37c8703a6ef2cf5fa44d906c27561956f
MD5 86150c5e8756e28043dc75d3dc08db1f
BLAKE2b-256 490297b1c203d4acc74d9827bb49adfee1be1753d941839f41416effe88c3d11

See more details on using hashes here.

Supported by

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