Skip to main content
aFreeRDP is the official Android client for FreeRDP. It wraps the FreeRDP native library in a Gradle/Android Studio project (client/Android/Studio/) and exposes all connection settings through a graphical UI.

Features

Connection manager

Save, edit, and organise multiple RDP connections in a home-screen list.

Touch input

Touch-to-click, two-finger scroll, pinch-to-zoom smart-sizing, and on-screen keyboard support.

Clipboard

Bidirectional clipboard between Android and the remote desktop.

Audio

Audio output redirection to the Android device speaker or Bluetooth headset.

Drive redirection

Redirect local Android storage to the remote session.

Multimonitor

Connect at the full device resolution with optional scaling.

Connection settings

All settings are configured through the graphical UI. The main fields map directly to FreeRDP core options:

Building from source

1

Clone the repository

2

Install the Android NDK and SDK

Install Android Studio and accept the NDK and CMake SDK components. The project targets the NDK version pinned in gradle.properties.
3

Open the Android Studio project

Open client/Android/Studio/ as an Android Studio project. Gradle will download all dependencies automatically.
4

Build the native library

The freeRDPCore module compiles the FreeRDP C/C++ library via CMake as part of the Gradle build. No separate CMake invocation is needed.
5

Install on device

Or open the generated APK from aFreeRDP/build/outputs/apk/ and install it manually.

Sideloading a release APK

Sideloading APKs from unofficial sources carries a security risk. Only install APKs from the official FreeRDP GitHub Releases page or from a build you compiled yourself.
  1. Enable Install unknown apps for your file manager in Android Settings.
  2. Download the .apk from the Releases page.
  3. Open the APK file from your file manager and confirm installation.

Project structure