Skip to main content

PyQt5 desktop workspace for Android ADB, SSH/serial terminals, SFTP/FTP file transfer, and screen mirroring (scrcpy).

Project description

Adbnik

Adbnik

One desktop workspace for Android debugging, remote shells, and file operations.

Adbnik is a PyQt5 application that brings ADB workflows, SSH and serial terminals, local ↔ remote file management (Android device, SFTP, FTP), and screen mirroring launchers (e.g. scrcpy) into a single tabbed window. External tools—adb, ssh, scrcpy—are used from your system: install them separately and, if needed, set paths under File → Preferences.

Platforms: The same PyPI package installs on Windows, Linux, and macOS where PyQt5 runs. Windows is the primary, tested target: optional Inno installer from GitHub Releases, adbnik-setup for a desktop shortcut, optional embedded scrcpy in a tab, and local CMD/PowerShell terminal tabs. On Linux and macOS, use your system shells in the terminal area and run mirroring in a separate window—those Windows-only conveniences are not available there.

Development and releases are maintained in adbnik-dev (private). Published wheels, changelogs, documentation, and Windows installers live in the public adbnik repository: github.com/nvnkennedy/adbnik.

About the name

Adbnik combines ADB (Android Debug Bridge) with -nik, a productive-form suffix familiar from words like technik (technician; someone who works with tools). It signals a utility focused on hands-on device work—not a generic “suite,” but a workstation built around real debugging and transfer tasks.


Capabilities

Area Details
ADB Device selection, shell sessions, APK install flow, bookmarks, quick actions
SSH Full-screen terminal via your system OpenSSH client
Serial COM port and baud configuration in the UI
Files Dual-pane explorer: local disk ↔ Android / SFTP / FTP
Screen Start and manage mirroring using your chosen executable

User guide

Step-by-step documentation for the Terminal, File Explorer, and Screen Control tabs (menus, shortcuts, mirroring options), plus where to put adb / scrcpy on disk:

https://nvnkennedy.github.io/adbnik/guide/index.html (styled pages—Terminal, Explorer, Screen—same site as the project home).

In the app: Help → User guide (F1) opens that URL; Help also lists the website, GitHub, and PyPI.


Requirements

  • Python 3.9+ (64-bit recommended on Windows)
  • Android: USB debugging enabled; platform-tools (adb) available to the same environment that runs Adbnik
  • SSH: ssh on PATH (or wherever your shell resolves it)
  • Mirroring: scrcpy or another tool—PATH or Preferences
  • Serial: Port visible to the OS with the correct driver

Installation

pip (recommended)

Use the same Python interpreter for pip and for launching (avoids broken entry points on Windows):

py -m pip install --upgrade pip
py -m pip install adbnik
py -m adbnik

Pinned interpreter example:

"C:\Path\To\Python\python.exe" -m pip install adbnik
"C:\Path\To\Python\python.exe" -m adbnik

Package index: pypi.org/project/adbnik · Files: pypi.org/project/adbnik/#files

The PyPI project ships wheels and an sdist for pip install under the Apache License 2.0 (LICENSE, SPDX Apache-2.0). Current stable is 6.1.2 (see CHANGELOG.md); earlier releases are documented there and in CHANGELOG-legacy.md).

pyproject.toml on this repository defines package metadata and PyPI project links. Windows installers are built here (CI on version tags or local packaging/windows/build.ps1), published to GitHub Releases, and copied into installers/ on the public adbnik repository for each release.

Windows installer (optional, unsigned)

Unsigned PyInstaller + Inno Setup builds are attached to GitHub Releases. The same files are stored under installers/ on github.com/nvnkennedy/adbnik. See installers/README.md.

Why Windows warns (“SmartScreen”, “Unknown publisher”, “Windows protected your PC”): Microsoft flags unknown / unsigned executables by policy. That does not mean the installer was flagged as malware—it means there is no publisher certificate on the file.

Run anyway: On the SmartScreen dialog, choose More info (or More details), then Run anyway. If the browser blocked the download: open Downloads, right‑click the file → Properties → check Unblock if shown → OK, then run again.

If you prefer not to use an unsigned .exe, install with pip above (packages on PyPI are standard Python artifacts).

Shortcut (Windows)

pip cannot place shortcuts or ask for a folder. After installing, run once on Windows:

adbnik-setup

A folder dialog opens (starting on your Desktop); choose where to put Adbnik.lnk. No extra console window is shown—only the dialogs. The shortcut uses this Python (python -m adbnik) and the same app icon as the window. Icon files are cached under %LOCALAPPDATA%\Adbnik\.

Non-interactive example (e.g. script or batch file, with console output):

adbnik-setup --folder "%USERPROFILE%\Desktop"

First run

  1. Start the app: python -m adbnik from the environment where the package is installed.
  2. Under File → Preferences, set paths for ADB and scrcpy if they are not on PATH.
  3. Use the main tabs for Terminal, Files, and Screen as needed.

Preferences are stored in .adbnik.json under your user profile. Legacy .devicedeck.json settings are migrated when you save preferences.


Screenshots

Main window

Terminal

File explorer

Screen control


Troubleshooting

ModuleNotFoundError: No module named 'adbnik' — Install and run with the same python.exe:

"C:\Path\To\Python\python.exe" -m pip install --force-reinstall adbnik
"C:\Path\To\Python\python.exe" -m adbnik

On Windows, list interpreters with py -0p.


Resources

Product site nvnkennedy.github.io/adbnik
User guide nvnkennedy.github.io/adbnik/guide/
Changelog CHANGELOG.md · CHANGELOG-legacy.md
Public repository github.com/nvnkennedy/adbnik
PyPI pypi.org/project/adbnik
Releases github.com/nvnkennedy/adbnik/releases

Building from source

Clone this repository (access required):

git clone git@github.com:nvnkennedy/adbnik-dev.git
cd adbnik-dev
py -m venv .venv
.venv\Scripts\activate
py -m pip install -e ".[dev]"
py -m pytest tests -q
py -m adbnik

Use HTTPS with a personal access token if you do not use SSH keys.


License

Apache License 2.0 — see LICENSE and NOTICE. SPDX: Apache-2.0.

Project details


Release history Release notifications | RSS feed

This version

6.1.2

Download files

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

Source Distribution

adbnik-6.1.2.tar.gz (597.8 kB view details)

Uploaded Source

Built Distribution

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

adbnik-6.1.2-py3-none-any.whl (169.8 kB view details)

Uploaded Python 3

File details

Details for the file adbnik-6.1.2.tar.gz.

File metadata

  • Download URL: adbnik-6.1.2.tar.gz
  • Upload date:
  • Size: 597.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.8

File hashes

Hashes for adbnik-6.1.2.tar.gz
Algorithm Hash digest
SHA256 1ac315e3368122057f812d251d0089601eb7fc259a48bfc7c55b9241c6338c87
MD5 18d2d9adada2e5bcfbcb3625118b396b
BLAKE2b-256 31ce8caa113002b2d61a24e29b719bcec33be937f232a2acbd940730905a0bfb

See more details on using hashes here.

File details

Details for the file adbnik-6.1.2-py3-none-any.whl.

File metadata

  • Download URL: adbnik-6.1.2-py3-none-any.whl
  • Upload date:
  • Size: 169.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.8

File hashes

Hashes for adbnik-6.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c967410aec905a048dad9142b098d7a6dac1f2d1ca342bc0974227948e8ff0d9
MD5 3ec11522897abc16396f20c913eb82c7
BLAKE2b-256 3f8f0ae03a1ea725b77d46c017e02cb458576f301a9c23161395f61232be4174

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