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 the official app versions. To see these flavors, navigate to android > app > src folder. Here you will find the following folders:
officialfolders contain app icons and splash screens.mainfolder contains core implementations.debugfolder contains code to run the app in debug mode.
To build the app using debug and main folders:
Set
APPLICATION_ID,VERSIONCODEandBugsnagAPIKeyin./android/gradle.properties.Change
android:sharedUserIdin./android/app/src/main/AndroidManifest.xmlto a value unique to your app, such as your application ID. Android does not allow two apps with the samesharedUserIdbut different signing keys on the same device, so keeping the official value prevents your build from being installed alongside the official Rocket.Chat app.Set
android:sharedUserIdbefore your first release. This value cannot be changed for a published app, updating it later forces all existing users to uninstall and reinstall. Do not remove the attribute, change its value instead.Generate a new image asset for
ic_notification.Generate a new image asset for
ic_launcher.Splash screen uses the same asset as the
ic_launcher, and you can change the background onsplashBackground..png?sv=2026-02-06&spr=https&st=2026-08-21T10%3A07%3A23Z&se=2026-08-21T10%3A18%3A23Z&sr=c&sp=r&sig=zE%2B27fHSg8SUyq9SclnYnibL3hpo5bCOjCFkyq03rTU%3D)
Change the app name and share the extension name on
./android/app/src/main/res/values/strings.xml
.png?sv=2026-02-06&spr=https&st=2026-08-21T10%3A07%3A23Z&se=2026-08-21T10%3A18%3A23Z&sr=c&sp=r&sig=zE%2B27fHSg8SUyq9SclnYnibL3hpo5bCOjCFkyq03rTU%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=2026-02-06&spr=https&st=2026-08-21T10%3A07%3A23Z&se=2026-08-21T10%3A18%3A23Z&sr=c&sp=r&sig=zE%2B27fHSg8SUyq9SclnYnibL3hpo5bCOjCFkyq03rTU%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=2026-02-06&spr=https&st=2026-08-21T10%3A07%3A23Z&se=2026-08-21T10%3A18%3A23Z&sr=c&sp=r&sig=zE%2B27fHSg8SUyq9SclnYnibL3hpo5bCOjCFkyq03rTU%3D)
.png?sv=2026-02-06&spr=https&st=2026-08-21T10%3A07%3A23Z&se=2026-08-21T10%3A18%3A23Z&sr=c&sp=r&sig=zE%2B27fHSg8SUyq9SclnYnibL3hpo5bCOjCFkyq03rTU%3D)
Run the app
To run the app, execute the following commands:
pnpm
pnpm android-whitelabel <YOURAPPID>For example, the app created on this document would use:
pnpm android-whitelabel chat.rocket.whitelabel