PyQt5 desktop workspace for Android ADB, SSH/serial terminals, SFTP/FTP file transfer, and screen mirroring (scrcpy).
Project description
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:
sshonPATH(or wherever your shell resolves it) - Mirroring:
scrcpyor another tool—PATHor 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
- Start the app:
python -m adbnikfrom the environment where the package is installed. - Under File → Preferences, set paths for ADB and scrcpy if they are not on
PATH. - 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
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ac315e3368122057f812d251d0089601eb7fc259a48bfc7c55b9241c6338c87
|
|
| MD5 |
18d2d9adada2e5bcfbcb3625118b396b
|
|
| BLAKE2b-256 |
31ce8caa113002b2d61a24e29b719bcec33be937f232a2acbd940730905a0bfb
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c967410aec905a048dad9142b098d7a6dac1f2d1ca342bc0974227948e8ff0d9
|
|
| MD5 |
3ec11522897abc16396f20c913eb82c7
|
|
| BLAKE2b-256 |
3f8f0ae03a1ea725b77d46c017e02cb458576f301a9c23161395f61232be4174
|