Skip to content

Repository files navigation

Android File Share (macOS to Android USB Transfer App)

A high-performance, premium macOS desktop utility for seamlessly transferring files between macOS and Android devices over USB using ADB (Android Debug Bridge).

Android File Share UI


🌟 Key Features

  • ⬆️ Send File(s) (Mac to Android): Easily send single or batch files from your Mac directly to your Android device's /sdcard/Download/ folder with real-time transfer speed and progress indicators.
  • ⬇️ Receive File(s) (Android to Mac): Browse your phone's file system, filter files by keyword, select multiple items, and save them directly to any folder on your Mac.
  • 📁 Resilient Directory Browser: Primary adbkit binary directory listing with an automatic adb shell ls -la fallback, bypassing Android 11+ Scoped Storage & SELinux access restrictions.
  • ⚡ Reliable File Pulling: Dual-layer file receiver stream with automatic CLI adb pull fallback to guarantee zero transfer drops on large files.
  • 🚀 Quick Access Folders: Instant one-click jump chips for standard Android directories:
    • 🏠 SD Card (/sdcard)
    • 📥 Downloads (/sdcard/Download)
    • 📷 DCIM (/sdcard/DCIM)
    • 🖼 Pictures (/sdcard/Pictures)
    • 📄 Documents (/sdcard/Documents)
    • 🎵 Music (/sdcard/Music)
  • 🎨 Premium Dark Desktop UI: Dark charcoal application surface (#121316), vibrant electric cyan accents (#53e2e8), responsive layouts, and clean typography matching modern macOS desktop applications.
  • 📖 Integrated USB Debugging Guide: Step-by-step interactive setup instructions built directly into the app UI for hassle-free device connection.

📖 USB Debugging Setup Guide

To allow your Mac to communicate with your Android device via USB:

Step 1: Enable Developer Options

  1. Open Settings on your Android device.
  2. Tap About Phone (On Samsung: Settings ➔ About Phone ➔ Software Information).
  3. Locate Build Number and tap it 7 times continuously until you see "You are now a developer!".

Step 2: Turn ON USB Debugging

  1. Go back to main Settings ➔ tap System (or Additional Settings) ➔ Developer Options.
  2. Scroll to the Debugging section and toggle USB Debugging to ON.

Step 3: Authorize Connection

  1. Plug your phone into your Mac using a USB data cable and unlock your phone screen.
  2. When the popup prompt "Allow USB debugging?" appears on your phone screen, check "Always allow from this computer" and tap Allow.

💡 Brand-Specific Tips:

  • Xiaomi / Redmi / POCO: Turn ON both USB Debugging AND USB Debugging (Security Settings) in Developer Options.
  • Samsung / Pixel / OnePlus: Swipe down notification shade and select File Transfer / MTP mode when connected.
  • USB Cable: Ensure your USB cable supports data transfer (charging-only cables will not detect).

🛠️ Project Structure

macOsToAndroid/
├── electron/
│   ├── adb/
│   │   └── adbService.ts    # ADB client, shell fallbacks, file push/pull engine
│   ├── main.ts              # Electron main process & IPC handlers
│   ├── preload.ts           # Context bridge API bindings
│   └── types.ts             # Backend TypeScript interfaces
├── src/
│   ├── App.tsx              # React UI layout, file browser modal, progress tracking
│   ├── styles.css           # Premium dark macOS CSS theme & responsive rules
│   ├── main.tsx             # React DOM entry point
│   └── types.ts             # Shared frontend type definitions
├── public/                  # App icon and logo assets (icon.png, logo.png)
├── resources/
│   └── adb/                 # Bundled macOS ADB platform tools
├── build/                   # Installer icon assets
├── index.html               # Main HTML document template
├── package.json             # App scripts & electron-builder configuration
└── tsconfig.json            # TypeScript configuration

🚀 Getting Started

Prerequisites

  • macOS: macOS 10.13+ (Apple Silicon arm64 or Intel x64).
  • Node.js: Node.js 18+ and npm.

Installation

  1. Clone the repository and navigate into the project directory:
    cd macOsToAndroid
  2. Install dependencies:
    npm install

Development Server

Run the local dev environment (Vite HMR + Electron watch):

npm run dev

Production Build & Distribution

  1. Compile React and Electron code:
    npm run build
  2. Generate optimized Apple Silicon DMG installer:
    npm run dist
  3. Generate both Apple Silicon (arm64) and Intel (x64) DMGs:
    npm run dist:all
  4. Clean release outputs:
    npm run dist:clean

🛡️ macOS Gatekeeper & Security Note

When opening locally packaged builds on macOS without an official notarization ticket, macOS Gatekeeper may show a security notice saying "Apple cannot check it for malicious software".

Quick Fix (1-Line Terminal Command)

Run this command in Terminal to clear the quarantine flag:

xattr -cr "/Applications/Android File Share.app"

Alternative Finder Bypass (No Terminal)

  1. Open Finder ➔ navigate to Android File Share.app.
  2. Right-Click (or hold Control and click) the app icon ➔ select Open.
  3. Click Open on the confirmation prompt.

⚙️ Tech Stack

  • Framework: Electron 31 + React 18 + Vite 5 + TypeScript
  • ADB Integration: @devicefarmer/adbkit + native adb platform tools
  • Styling: Pure Vanilla CSS3 with CSS Custom Properties & Responsive Media Queries

📄 License

MIT License. Developed for seamless macOS to Android USB file management.

About

A high-performance, premium macOS desktop utility for seamlessly transferring files between macOS and Android devices over USB using ADB (Android Debug Bridge).

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages