r2
Free open-source Cloudflare R2 desktop client and S3 GUI for macOS, Windows, and Linux. Manage Cloudflare R2, AWS S3, M…
File Explorer for Android devices
git clone https://github.com/Aldeshov/ADBFileExplorer.gitAldeshov/ADBFileExplorerSimple cross-platform File Explorer for adb devices. Uses Python library adb-shell or command-line tool adb.
Note
Features:
Devices & Notifications
Files
Python 3.8+ (older versions are not tested)PyQt5adb (Android Platform Tools) if you choose the external adb implementation (default)adb-shell and libusb1 (only needed if you choose the Python implementation of ADB inside the app)External adb vs Python adb-shell
external — use the system adb binary (default, recommended for simplicity). In this case you do NOT need libusb1 or adb-shell.python — use adb-shell (pure Python). If you want to communicate over USB, you will need libusb1 plus OS-specific libs/drivers (below). For TCP/IP connections, libusb1 is not required.Installing and preparing Python (if not already installed)
sudo apt-get update sudo apt-get install -y python3 python3-pip python3-venv python3 -m pip install --upgrade pip setuptools wheel
brew update brew install python@3 python3 -m pip install --upgrade pip setuptools wheel
winget install Python.Python.3 py -m pip install --upgrade pip setuptools wheel
OS-specific prerequisites only for adb-shell + libusb1 (skipped if you choose the external adb implementation)
libusb-1.0-0 (runtime) and set proper udev rules so that your user can access the device without root. For example:
sudo apt-get install -y libusb-1.0-0 # Optional but recommended: Android udev rules # See https://github.com/M0Rf30/android-udev-rules or your distro's package
brew install libusb
adb-shell + libusb1 path, not for the external adb binary.adb-shell you may need Microsoft C++ Build Tools: https://visualstudio.microsoft.com/visual-cpp-build-tools/git clone https://github.com/Aldeshov/ADBFileExplorer.gitcd ADBFileExplorerpython3 -m venv venv (Linux/macOS) or py -m venv venv (Windows)venv\Scripts\activate (Windows) or source venv/bin/activate (Linux/macOS)pip install -r requirements.txt
pip install PyQt5 # (external adb only) pip install adb-shell libusb1 # (If you plan to use the Python adb implementation)
setuptools manually:
pip install setuptools
src/app/settings.json){
"adb_path": "adb", // Full adb path, or just "adb" if the executable is in `$PATH`
"adb_core": "external", // Set to "external" to use system `adb` executable, or "python" to use `adb-shell`
"adb_kill_server_at_exit": false, // Stop adb server on app exit
"preserve_timestamp": true, // Preserve file timestamps when pushing files
"adb_run_as_root": false // Run adb as root
}
Note: The example above uses JSON5-style comments for explanation. The actual file src/app/settings.json is standard JSON and does not support comments.
./run.shrun.bat# Linux/macOS python3 -m src.app # Windows py -m src.app
ADB File Explorer [python-app]
Copyright (C) 2025 Azat Aldeshov
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
more like this
search projects, people, and tags