Files
firezone/kotlin/android

Firezone Android client

This README contains instructions for building and testing the Android client locally.

Dev Setup

  1. Install Rust
  2. Install Android Studio
  3. Install your JDK 17 of choice. We recommend just updating your CLI environment to use the JDK bundled in Android Studio to ensure you're using the same JDK on the CLI as Android Studio.
  4. Perform a test build: ./gradlew assembleDebug
  5. Add your debug signing key's SHA256 fingerprint to the portal's assetlinks.json file. This is required for the App Links to successfully intercept the Auth redirect.
    ./gradlew signingReport
    

Release Setup

We release from GitHub CI, so this shouldn't be necessary. But if you're looking to test the release variant locally:

  1. Download the keystore from 1Pass and save to app/.signing/keystore.jks dir.
  2. Download firebase credentials from 1Pass and save to app/.signing/firebase.json
  3. Now you can execute the *Release tasks with:
export KEYSTORE_PATH="$(pwd)/app/.signing/keystore.jks"
export FIREBASE_CREDENTIALS_PATH="$(pwd)/app/.signing/firebase.json"
HISTCONTROL=ignorespace # prevents saving the next line in shell history
 KEYSTORE_PASSWORD='keystore_password' KEYSTORE_KEY_PASSWORD='keystore_key_password' ./gradlew assembleRelease