Prerequisites
Make sure that you have the requirements outlined in the Mobile App White-Labeling guide.
Android Studio (latest stable version).
Node.js and yarn.
General setup
Rocket.Chat has build flavors to generate Official and Experimental app versions. To see these flavors, navigate to android > app > src folder. Here you will find the following folders:
experimentalandofficialfolders contain app icons and splash screens.mainfolder contains core implementations.debugfolder contains code to run the app in debug mode.
To build the Experimental app using experimental, debug, and main folders:
Set
APPLICATION_ID,VERSIONCODEandBugsnagAPIKeyin./android/gradle.properties.Generate a new image asset for
ic_notificationand targetmain.Generate a new image asset for
ic_launcherand targetexperimental.Splash screen uses the same asset as the
ic_launcher, and you can change the background onsplashBackground.
.png?sv=2022-11-02&spr=https&st=2026-03-02T05%3A28%3A15Z&se=2026-03-02T05%3A39%3A15Z&sr=c&sp=r&sig=dM1BClOS20o8NoTcdxSA5VSUefBMQCcM%2B%2FX7NDISEsY%3D)
Change the app name and share the extension name on
./android/app/src/main/res/values/strings.xml
.png?sv=2022-11-02&spr=https&st=2026-03-02T05%3A28%3A15Z&se=2026-03-02T05%3A39%3A15Z&sr=c&sp=r&sig=dM1BClOS20o8NoTcdxSA5VSUefBMQCcM%2B%2FX7NDISEsY%3D)
Generate upload key
Follow these steps 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 10000To learn more about generating an upload key in ReactNative, see the official documentation.
The command prompts you for some credentials.
.png?sv=2022-11-02&spr=https&st=2026-03-02T05%3A28%3A15Z&se=2026-03-02T05%3A39%3A15Z&sr=c&sp=r&sig=dM1BClOS20o8NoTcdxSA5VSUefBMQCcM%2B%2FX7NDISEsY%3D)
Set
KEYSTORE_PASSWORDandKEY_PASSWORDon./android/gradle.propertieswith the passwords you were prompted for.
Generate 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
google-services.jsonconfig file and move it to the src folder in the app folder in your project, as demonstrated in the screenshots below:
.png?sv=2022-11-02&spr=https&st=2026-03-02T05%3A28%3A15Z&se=2026-03-02T05%3A39%3A15Z&sr=c&sp=r&sig=dM1BClOS20o8NoTcdxSA5VSUefBMQCcM%2B%2FX7NDISEsY%3D)
.png?sv=2022-11-02&spr=https&st=2026-03-02T05%3A28%3A15Z&se=2026-03-02T05%3A39%3A15Z&sr=c&sp=r&sig=dM1BClOS20o8NoTcdxSA5VSUefBMQCcM%2B%2FX7NDISEsY%3D)
Run the app
To run the app, execute the following commands:
yarn
yarn android-whitelabel <YOURAPPID>For example, the app created on this document would use:
yarn android-whitelabel chat.rocket.whitelabelThis script uses
experimentalDebugbuild flavor. When you build your app on release mode, useexperimentalRelease.See the Android documentation for more info.