A lightweight, standalone Windows application for exploring, managing, and transferring files on Android devices via ADB (Android Debug Bridge).
Built with C# (.NET Framework / WinForms), with zero external dependencies.
- 🔌 Device Management: Automatically discovers connected ADB devices and enables seamless device switching.
- 📂 File Navigation & Keyboard Shortcuts: Full path address bar with history (Back, Up, Refresh), quick location shortcuts, real-time search filtering, and complete keyboard navigation (
Enterto open,Backspace/Alt+Leftto go back,Alt+Rightto go forward,Alt+Upto go to upper folder,Delete,Ctrl+C,Ctrl+X,Ctrl+V,Ctrl+A). - 💾 Dynamic Storage Mount Detection: Automatically scans
/storage/on connected devices to populate external storage volumes (SD cards, USB OTG drives like/storage/1C48-1D06/) in Quick Links, filtering out system/useless entries (self,knox-emulated,.android_secure) with zero duplicates. - 📊 Explorer-Style Column Sorting: Interactive column header sorting for Name, Size, Type, Date Modified, Permissions, and Owner/Group with ascending/descending toggle, folders-first hierarchy, natural numeric file name sorting (
StrCmpLogicalW), and native Explorer sort arrows (▲ / ▼). - 🖼️ Native Windows Shell System Icons: Automatically fetches 16x16 Explorer icons for folders and registered file extensions (
.png,.apk,.jpg,.mp4,.zip,.pdf,.txt, etc.) viashell32.dll(SHGetFileInfo), caching per extension across all Windows OS versions. - 🚀 System Open for Remote Files: Double-clicking or selecting Open on a remote file automatically pulls it to
%TEMP%\ADBFileManagerTemp\and launches the registered default Windows application (Photos for images, Media Player for videos, VS Code/Notepad for text, etc.). - 💻 Interactive ADB Shell Terminal: Dedicated "💻 ADB Shell" button that launches an interactive
cmd.exeterminal window titledDevice Name - Shelldirectly attached to the active Android device. - 📈 Add & Save File Operations: Streamlined file transfers using intuitive Add (to device) and Save to PC (to local machine) actions. Includes percentage-based UI progress updates (A% -> B%) and real-time throughput metrics (File & Total Queue ETA for both folder drops and file transfers).
- 📊 Storage Capacity Monitor: Displays total, used, and free space for the active partition.
- 📋 Clipboard & Actions: Full Copy (
Ctrl+C), Cut (Ctrl+X), Paste (Ctrl+V), Delete (Delete), and Select All (Ctrl+A) with automatic duplicate renaming. - 📦 Package Installation: Prompts on dropping or uploading Android packages (
.apk,.xapk,.apks) to either install them directly or upload them to device storage. Includes zip extraction for split APKs and OBB expansion files. - 🚀 Drag-and-Drop & Queue: Drag-and-drop file transfers with sequential upload queue, progress tracking, and conflict dialogs (Overwrite/Skip).
- 📜 C# Script Addon Engine: Write custom C# scripts placed in
scripts/to create custom file context menu actions, tools menu entries, automate ADB commands, and extend application behavior. Live reload scripts without restarting.
Create .cs script files in the scripts/ directory to create addons. Scripts are compiled dynamically at startup or via Scripts -> Reload Scripts.
Implement the IScript interface:
using System;
using System.Collections.Generic;
using ADBFileManager;
using ADBFileManager.Scripting;
public class MyCustomAddon : IScript
{
public string Name { get { return "My Custom Addon"; } }
public string Description { get { return "Adds custom ADB automation actions."; } }
public string Author { get { return "Developer"; } }
public string Version { get { return "1.0"; } }
public void Initialize(IScriptContext context)
{
// 1. Add item to "📜 Scripts" tools dropdown menu
context.RegisterToolsMenuItem("🚀 Run Custom ADB Command", () => {
var result = context.RunAdbShell("pm list packages -3");
context.ShowTextPreview("Third Party Packages", result.Output);
});
// 2. Add context menu item for specific files (supports extension, fileNameFilter wildcard, pathFilter wildcard)
context.RegisterContextMenu("📦 Dump Package Info", (selectedFiles) => {
foreach (var file in selectedFiles) {
var res = context.RunAdbShell("pm dump " + file.Name);
context.ShowTextPreview("Dump: " + file.Name, res.Output);
}
}, fileExtensionFilter: ".apk", fileNameFilter: "example_*.apk", pathFilter: "/sdcard/Download/*"); // Either of them or combined
}
}| Category | Method | Description |
|---|---|---|
| ADB | RunAdbCommand(string args) |
Executes an ADB command (automatically appends -s DEVICEID). |
| ADB | RunAdbShell(string cmd) |
Runs an adb shell <cmd> command on the active device. |
| ADB | GetStorageInfo(path) |
Queries partition storage stats (Total, Used, Free). |
| Files | GetFileList(path) |
Returns remote directory listing (List<AdbFileInfo>). |
| Files | PushFile(local, remote) |
Pushes a file to the remote device. |
| Files | PullFile(remote, local) |
Pulls a remote file to the local machine. |
| Files | CreateDirectory(path) |
Creates a directory on the remote device. |
| Files | CreateFile(path, content) |
Creates a remote file (with optional initial content). |
| Files | DeleteItem(path) |
Deletes a file or directory recursively on the remote device. |
| Files | RenameItem(oldPath, newPath) |
Renames or moves a remote file/folder. |
| Files | ScanMedia(remotePath) / scanMedia(...) |
Triggers Android media scanner for a file or directory path so it gets indexed into the Android MediaStore database (Gallery, Photos, etc.). |
| UI | GetSelectedFiles() |
Gets currently selected items in the main ListView. |
| UI | RefreshFileList() |
Triggers a refresh of the current file listing. |
| UI | RegisterContextMenu(...) |
Registers context menu item (supports fileExtensionFilter, fileNameFilter wildcards like example_*.apk, pathFilter wildcards like /sdcard/*, and foldersOnly). |
| UI | RegisterToolsMenuItem(...) |
Registers a menu item under 📜 Scripts. |
| UI | ShowMessage(msg, title) |
Displays an information dialog. |
| UI | ShowConfirmation(msg, title) |
Displays a Yes/No confirmation dialog. |
| UI | PromptInput(prompt, title, default) |
Prompts the user for text input. |
| UI | ShowTextPreview(title, content) |
Displays text in a monospaced preview window. |
DeviceScreenshotAddon.cs: Takes device screenshot and pulls it locally toScreenshots/.PackageDumperAddon.cs: Context menu item for.apkfiles to inspect package dumps viapm dump.
- OS: Windows 7 / 8 / 10 / 11
- ADB: Android SDK Platform-Tools (
adb.exein PATH or working directory)
build.batmsbuild ADBFileManager.csproj /p:Configuration=ReleaseLicensed under the MIT License.