Skip to content

thearcproject/riot-android

 
 

Repository files navigation

Riot

Riot is an Android Matrix client.

Get it on Google Play

Get it on F-Droid

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)

Jitsi integration

How to build JitsiMeet libs:

  • clone https://github.com/jitsi/jitsi-meet
  • build jitsi-meet following instruction at https://github.com/jitsi/jitsi-meet#building-the-sources
  • build it specifically for android using https://github.com/jitsi/jitsi-meet/blob/master/doc/mobile.md#android
  • generate the bundle file react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
  • copy "index.android.bundle" in your project assets folder
  • copy fonts/jitsi.ttf into <your_project>/assets/font
  • copy node_modules/react-native-vector-icons/Fonts/* into <your_project>/assets/font
  • build the jitsi android project (gradlew assembleRelease in the "android" folder)
  • copy the react-... aar to the libs folder (see build.gradle to have a list of them)

Recompile the provided aar files until we have gradle

  • generate olm-sdk.aar

clone the repository http://git.matrix.org/git/olm.git/ open the android project in /android build it copy /android/olm-sdk/build/outputs/aarvector/libs/olm-sdk.aar to riot-android/vector/libs/.

  • generate matrix-sdk.aar

clone the repository https://github.com/matrix-org/matrix-android-sdk open the project with android studio build it copy /matrix-android-sdk/matrix-sdk/build/outputs/aar/matrix-sdk-debug-....aar to riot-android/vector/libs/matrix-sdk.aar

  • generate the other aar files

see the section "Jitsi integration"

  • compile the matrix SDK with the Riot-android project

in riot-android/settings.gradle, uncomment //include.. and //project.. in riot-android/vector/build.gradle, comment compile(name: 'matrix-sdk', ext: 'aar') and uncomment compile project(':matrix-sdk')

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 GCM/FCM or "appfdroid" if don't.

for example, with GCM, it would give appmyriot { applicationId "im.myriot" // use the version name versionCode rootProject.ext.versionCodeProp versionName rootProject.ext.versionNameProp resValue "string", "allow_gcm_use", "true" resValue "string", "allow_ga_use", "true" resValue "string", "short_flavor_description", "G" resValue "string", "flavor_description", "GooglePlay" }

if you use GCM, duplicate appCompile at the end of this file and replace appCompile by appmyriotCompile. 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 GCM or you don’t. Rename it to appmyriot. If you use GCM, you will need to generate your own google-services.json.

  • Customise your flavour

Open riot-android/vector/src/appmyriot/AndroidManifest.xml Comment the provider section. Change the application name to myRiot with "android:label="myRiot"" 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).

FAQ

  1. What is the minimum android version supported?

    the mininum SDK is 16 (android 4.1)

  2. Where the apk is generated?

    Riot/build/outputs/apk

About

A glossy Matrix collaboration client for Android

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Java 94.8%
  • JavaScript 4.6%
  • Other 0.6%