Skip to content

Feature request: Optional native file-manager integration (macOS, Windows, Linux) #3

Description

@NextAlone

Request

Add an independent, opt-in native file-manager integration mode that exposes each authorized online Android device as Android - <model / serial / custom name> in the platform file manager. Keep Adbrowser existing in-app browser unchanged. Screen mirroring is out of scope.

Requirements

  • Default off, controlled by a dedicated setting; show availability and failures per platform instead of silently falling back.
  • Reuse the host standard ADB server on port 5037. Never kill, replace, or start a private ADB server.
  • Start with /sdcard; root and app-private storage are not part of the initial mapped scope.
  • Keep a background component when the platform requires it, so mappings follow device online/offline state after the UI closes.
  • Support browse, read/download, upload, mkdir, rename/move, and delete. Use temporary upload plus rename where the platform needs atomic replacement semantics.
  • Provide global naming plus a per-device model / serial / custom override. Use the serial as the stable mapping identity.

Platform mapping

  • macOS: Finder integration through a File Provider extension plus SMAppService/launchd helper.
  • Windows: File Explorer virtual folder or drive through a user-mode filesystem bridge. Evaluate Cloud Files API for sync-root/placeholder semantics, or WinFsp for a mounted drive; choose one explicitly in the implementation RFC.
  • Linux: a per-user FUSE mount such as ~/mnt/Android-<name>, with clear mount/unmount, permission, cache, and disconnect behavior.

Implementation direction

Create a platform-neutral mapping controller above the existing core/adb services for device tracking and file operations, then add small native adapters for macOS, Windows, and Linux. Keep platform code behind separate modules/targets and the integration behind its own setting. Test the shared ADB-server non-interference rule, online/offline reconciliation, CRUD behavior, and one native smoke path per supported platform.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions