Post

SyncKage – Secure Real-Time Google Drive Sync Android App

GitHub
SyncKage – Secure Real-Time Google Drive Sync Android App

Google Drive for Desktop enables seamless folder synchronization, but its Android counterpart lacks automatic sync.
SyncKage bridges this gap by enabling real-time, two-way synchronization between local storage and Google Drive, just like Google Drive for Desktop.

Features

  • Real-Time File Monitoring – Instantly detects changes using FileObserver
  • Multi-Folder Sync Support – Synchronizes multiple folders seamlessly
  • Two Sync Modes: Hidden (ADB-controlled) & UI Mode
  • Optimized Uploads & Downloads – Prevents redundant transfers
  • Stealth Mode – No UI, No App Icon, Runs in Background
  • Auto-Start on Boot – Ensures continuous operation
  • Secure Authentication – Uses Google Drive API with a service account
  • Parallel Processing – Uses Coroutines for faster synchronization

Tech Stack

  • Kotlin – Core language
  • Android Foreground Service – Background execution
  • FileObserver API – Monitors file changes
  • Google Drive API – Cloud synchronization
  • Coroutines – Handles parallel tasks

Setup & Usage

Note: SyncKage requires a Google Drive service account for authentication.
Due to security reasons, the service account JSON key is not included in this repository.

Usage Modes

  1. Hidden Mode (Stealth) – Runs as a background service, controllable via ADB.
  2. UI Mode – Provides Start/Stop buttons and real-time logs.

Screenshots – UI Mode

Screenshot showing first view of the project interface     Screenshot showing second view of the project interface

Limitations

  • Service Account Requirement – SyncKage relies on a Google Drive service account for authentication. Users must manually create and configure their own service account, which involves setting up a Google Cloud project and generating credentials.
  • Requires ADB for Hidden Mode – The Stealth Mode runs without a UI and requires Android Debug Bridge (ADB) to start, stop, or configure the service, making it suitable only for advanced users.
  • Background Execution Constraints – Some Android devices may restrict background services due to battery optimization policies, which might delay synchronization unless the app is granted proper permissions.

Future Scope

  • Custom Sync Intervals for Power Efficiency – Instead of constant real-time monitoring, users could set sync intervals (e.g., every 5, 10, or 30 minutes) to optimize battery usage.
  • Encryption Before Upload for Enhanced Security – Implementing AES-256 encryption for files before upload to protect sensitive data.
  • Selective Sync Options – Allow users to choose specific folders or file types to sync, reducing unnecessary data transfers.
  • Sync Logs and Error Reporting – A basic log system to track sync status and errors for easier debugging.
This post is licensed under CC BY 4.0 by the author.