Skip to content

Setting up your Development Environment

This page contains the guidelines for setting up your development environment for Revolt on Android. These guidelines are important to ensure that your development environment is set up correctly and you can start contributing to the project.

If you want to compile the app yourself, you can follow these guidelines. You may not need Android Studio, as it’s possible to build the app from the command line. GitHub Codespaces automates most of the process for you if you want to go that route and this guide covers those steps, but won’t go into detail on other command-line methods.

  1. Download the Git version control system.

    Terminal window
    winget install --id Git.Git -e --source winget
  2. Download Android Studio.

    Terminal window
    winget install --id Google.AndroidStudio -e --source winget
  3. Download Deno.

    Please see the Deno Runtime Manual for installation guidance.

  4. Clone the repository.

    Terminal window
    git clone --recursive https://github.com/revoltchat/android.git

    Specify --recursive to ensure that submodules are cloned as well.

  5. Open the project in Android Studio.

  6. Install the required dependencies.

    • Android SDK, latest version
    • Android NDK, latest version

    You can install these from the SDK Manager in Android Studio.

  7. Download required additional, embedded dependencies using the provided script.

    Terminal window
    deno run -A scripts/download_deps.ts
  8. Copy the revoltbuild.properties.example file to revoltbuild.properties and fill in the required values.

    Terminal window
    cp revoltbuild.properties.example revoltbuild.properties

    The revoltbuild.properties file contains the following properties:

    PropertyDescription
    sentry.dsnSentry DSN for error reporting
    sentry.upload_mappingsWhether to upload obf. maps to Sentry
    build.debug.app_nameThe name of the app in debug builds, arbitrary
    build.flavour_idLeave as ZZUU
  9. Copy the sentry.properties.example file to sentry.properties and fill in the required values.

    Terminal window
    cp sentry.properties.example sentry.properties

    The sentry.properties file contains the following properties:

    PropertyDescription
    defaults.urlThe URL of the Sentry instance
    defaults.projectThe project ID in Sentry
    defaults.orgThe organization ID in Sentry
    auth.tokenThe authentication token for Sentry, used to upload maps

    You can get these values from the Sentry dashboard.

  10. Copy the google-services.json.example file within the app directory to google-services.json.

    Firebase services are integrated into the project, so we need a google-services.json file for the build to succeed. For development purposes, use the provided example file:

    Terminal window
    cp app/google-services.json.example app/google-services.json
  11. Build the project.

    You can build the project by clicking on the ‘Run’ button in Android Studio.
    If asked, build the :app module.

    If building within Github Codespaces, you can build a fresh debug apk by running ./gradlew assembledebug --no-daemon from the root of the project. Upon completion, the apk will be within app/build/outputs/apk/debug/

  12. You’re all set! You can now start contributing to Revolt on Android.