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:
UI FieldFreeRDP optionDescription
Hostname/v:Server hostname or IP address
Port/port:RDP port (default 3389)
Username/u:Login username
Domain/d:Windows domain
Password/p:Password (stored in Android Keystore)
Resolution/w: /h:Desktop width and height
Colour depth/bpp:8, 15, 16, 24, or 32 bits per pixel
Security/sec:rdp, tls, nla, or ext
Certificate/cert:tofu, ignore, or deny
Enable sound/soundAudio output redirection
Enable clipboard/clipboardClipboard sharing
Redirect storage/drive:Local storage access from the remote session

Building from source

1

Clone the repository

git clone https://github.com/FreeRDP/FreeRDP.git
cd FreeRDP
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.
# Command-line build (requires Android SDK on PATH)
cd client/Android/Studio
./gradlew assembleDebug
5

Install on device

./gradlew installDebug
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

PathDescription
client/Android/Studio/aFreeRDP/Android application module (Java/Kotlin UI)
client/Android/Studio/freeRDPCore/JNI bridge and CMake build for the native library
client/Android/Studio/build.gradleTop-level Gradle configuration
client/Android/Studio/gradle.propertiesNDK version and build flags