Skip to content

Latest commit

 

History

History
84 lines (51 loc) · 3.08 KB

File metadata and controls

84 lines (51 loc) · 3.08 KB

Android App White Labelling

General Setup

  • Like iOS, we have build flavors to generate our Official, Experimental, and F-Droid app versions.

    • experimental and official folders contain app icons and splash screens.
    • play and foss folders contain the necessary code to run the app with or without Google Play services.
      • foss build doesn't contain push notifications implemented.
    • main folder contains core implementations.
    • debug folder contains code to run the app in debug mode.

    To build the Experimental app using experimental, play debug, and main folders,

  • Set APPLICATION_ID, VERSIONCODE and BugsnagAPIKey on ./android/gradle.properties
  • Generate a new image asset for ic_notification and target main.
  • Generate a new image asset for ic_launcher and target experimental.
  • Splash screen uses the same asset as the ic_launcher ,and you can change the background on splashBackground.

  • Change the app name and share the extension name on ./android/app/src/main/res/values/strings.xml

Generate Upload Key

To generate the Keystore for verifying your app on Google Play,

  • Run the following commands:
cd android/app

keytool -genkeypair -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

{% hint style="info" %} To learn more about generating an upload key in ReactNative, see the official documentation. {% endhint %}

  • The command prompts you for some credentials.

  • Set KEYSTORE_PASSWORD and KEY_PASSWORD on ./android/gradle.properties with the passwords you were prompted for.

Generating Android app on Firebase

  • Go to the project overview on Firebase.
  • Navigate to Settings > Project settings.
  • On the General tab, click on Add app under Your apps.
  • Enter your bundle ID as the Android package name and click Register app.
  • Download the config file and move it as instructed.

Running the app

  • To run the app, execute these commands:
yarn

yarn android-whitelabel <YOURAPPID>

For example, the app created on this document would use

yarn android-whitelabel chat.rocket.whitelabel

{% hint style="info" %} This script uses experimentalPlayDebug build flavor. When you build your app on release mode, use experimentalPlayRelease. See the official documentation for more info. {% endhint %}