package icon

LocalSend Kotlin

An unofficial, lightweight Kotlin LocalSend client for older Android devices.
New in version 0.7.9-alpha
Preserved completed, failed, and cancelled outgoing transfer states when a later transfer finishes.
LocalSend Kotlin is an unofficial, lightweight native Android LocalSend client written in Kotlin. This project is not affiliated with or endorsed by the official LocalSend project. It aims to interoperate with the official LocalSend clients and provide secure file transfer on local networks, including older Android devices.

Implemented features:

- LAN device discovery using LocalSend v2 UDP multicast, with an HTTPS scanning fallback and selectable network interfaces.
- Sending and receiving files, folders, media, text, and clipboard content.
- Multi-file queues with progress, cancellation, configurable receive behavior, and history.
- HTTPS, certificate-fingerprint identity verification, optional PIN authentication, and SHA-256 checksums.
- System Default, Simplified Chinese, and English interfaces, plus theme colors, dark mode, device and favorite management, and network and transfer settings.
- Foreground-service transfers with lock-screen support, notifications, and an optional keep-screen-awake mode.
- Android Quick Settings tile for toggling the background transfer service on Android 7.0 (API 24) and later.
- Android system share target for single files, multiple files, and text content.

Compatibility:

- Android 5.0 (API 21) and later.
- Both devices must be connected to the same local network.
- Guest networks, AP/client isolation, multicast filtering, or vendor firewalls may prevent discovery or the TCP connection.

Storage:

- Android 10 and later uses MediaStore to save files to the public Downloads directory by default.
- Android 5.0 through Android 9 uses the Download/LocalSend Kotlin directory by default and requires legacy storage permission.

Current limitations include a less polished transfer queue interface, no browser-link receiving, no multi-threaded transfers, no large-file performance optimizations, and no resumable transfers. Android 4.x is not supported.

This is an Alpha project suitable for early-user testing. When reporting an issue, include the Android version, device model, both client versions, and reproducible steps.

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 0.7.9-alpha (22) suggested Added on Sep 09, 2026

    This version requires Android 5.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • run foreground service
      Allows the app to make use of foreground services.
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • io.github.mouse233.localsendkotlin.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 4.6 MiB PGP Signature | Build Log