As an open-source project, element-hq/riot-android has picked up 1.4k stars on GitHub (Java). A glossy Matrix collaboration client for Android
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
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.
Contributing
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
sh build_olm_lib.sh
generate matrix-sdk.aar
sh build_matrix_sdk_lib.sh
generate the other aar files
sh build_jitsi_libs.sh
compile the Matrix SDK with the riot-android project
sh set_debug_env.sh
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 https://developers.google.com/analytics/devguides/collection/android/v4/campaigns URL generator (at the bottom)
Set "Campaign Content" with the extra parameters (e.g. is=http://my__is.org%26hs=http://my_hs.org). 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.
FAQ
What is the minimum Android version supported?
the mininum SDK is 16 (Android 4.1)
Where the apk is generated?
Riot/build/outputs/apk
Copyright and License
Copyright (c) 2015 - 2025 New Vector Ltd
This software is dual licensed by New Vector Ltd (Element). It can be used either:
(1) for free under the terms of the GNU Affero General Public License (as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version); OR
(2) under the terms of a paid-for Element Commercial License agreement between you and Element (the terms of which may vary depending on what you and Element have agreed to).
Unless required by applicable law or agreed to in writing, software distributed under the Licenses is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licenses for the specific language governing permissions and limitations under the Licenses.
TopGit's last sync did not record any GitHub topics for element-hq/riot-android. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on element-hq/riot-android?
The most recent commit recorded on element-hq/riot-android was 1.5 years ago, based on the GitHub push timestamp. The repository has 382 forks — one of the better signals of community interest.
How many stars does element-hq/riot-android have?
element-hq/riot-android has 1.4k GitHub stars — refresh the page for the live number, or check github.com/element-hq/riot-android. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What language is element-hq/riot-android written in?
element-hq/riot-android is written primarily in Java. GitHub's language field is based on the largest share of bytes in the default branch.
Where do I read more about element-hq/riot-android?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/element-hq/riot-android is the definitive source.
Read full README in the tab above.
Is riot-android worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of riot-android.