Skip to content
This repository has been archived by the owner on Apr 12, 2022. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
October 1, 2019 13:44
September 22, 2020 14:40
March 6, 2019 15:47
September 27, 2019 10:51
December 19, 2018 18:43
August 1, 2019 17:29
June 2, 2015 09:07
May 20, 2020 23:20
June 2, 2015 09:07
June 2, 2015 09:07

Riot-Android Buildkite Weblate Android Matrix room Quality Gate Vulnerabilities Bugs

Riot is an Android Matrix client. It is now deprecated and has been replaced by Element Android

Important announcement

The core team is now only working on Element Android. Element Android is now published on the PlayStore as a replacement of Riot-Android. So the code from this project is not published by the core team to the PlayStore, and not published anymore on F-Droid store as well.


Please contribute to Element Android now!

Build instructions

This client is a standard Android Studio project.

If you want to compile it in command line with gradle, go to the project directory:

Debug mode:

./gradlew assembleDebug

Release mode:

./gradlew assembleRelease

And it should build the project (you need to have the right Android SDKs)

Recompile the provided aar files until we have Gradle

generate olm-sdk.aar


generate matrix-sdk.aar


generate the other aar files


compile the Matrix SDK with the riot-android project


Make your own flavour

Let says your application is named MyRiot : You have to create your own flavour.

Modify riot-android/vector/build.gradle

In "productFlavors" section, duplicate "app" group if you plan to use FCM or "appfdroid" if don't.

for example, with FCM, it would give

    appmyriot {
        applicationId "im.myriot"
        // use the version name
        versionCode rootProject.ext.versionCodeProp
        versionName rootProject.ext.versionNameProp
        buildConfigField "boolean", "ALLOW_FCM_USE", "true"
        buildConfigField "String", "SHORT_FLAVOR_DESCRIPTION", "\"F\""
        buildConfigField "String", "FLAVOR_DESCRIPTION", "\"FDroid\""
  • if you use FCM, duplicate appImplementation at the end of this file and replace appImplementation by appmyriotImplementation.
  • if you don't, update the "if (!getGradle().getStartParameter().getTaskRequests().toString().contains("fdroid"))" to include your flavor.

Create your flavour directory

  • Copy riot-android/vector/src/app or appfroid if you use FCM or you don’t.
  • Rename it to appmyriot.
  • If you use FCM, you will need to generate your own google-services.json.

Customise your flavour

  • Open riot-android/vector/src/appmyriot/AndroidManifest.xml
  • Change the application name to myRiot with "android:label="myRiot"" and "tools:replace="label"" in the application tag.
  • Any other field can be customised by adding the resources in this directory classpath.
  • Open Android Studio, select your flavour.
  • Build and run the app : you made your first Riot app.

You will need to manage your own provider because "im.vector" is already used (look at VectorContentProvider to manage it).

Customise your application settings with a custom Google Play link

It is possible to set some default values to Riot with some extra parameters to the Google Play link.

  • Use the URL generator (at the bottom)
  • Set "Campaign Content" with the extra parameters (e.g. is= Please notice the usage of %26 to escape the &
  • Supported extra parameters:
    • is : identity server URL
    • hs : home server URL
  • Generate the customised link
  • The application may have to be installed from the Play store website (and not from the Play store application) for this feature to work properly.


  1. What is the minimum Android version supported?

    the mininum SDK is 16 (Android 4.1)

  2. Where the apk is generated?