- Print
- DarkLight
- PDF
Android App White Labeling
- Print
- DarkLight
- PDF
General setup
Like iOS, we have build flavors to generate our Official, Experimental, and F-Droid app versions. To see these flavors, navigate to android > app > src
folder.
experimental
andofficial
folders contain app icons and splash screens.play
andfoss
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
andBugsnagAPIKey
on./android/gradle.properties
Generate a new image asset for
ic_notification
and targetmain
.Generate a new image asset for
ic_launcher
and targetexperimental
.Splash screen uses the same asset as the
ic_launcher
, and you can change the background onsplashBackground
.
Change the app name and share the extension name on
./android/app/src/main/res/values/strings.xml
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 10000
To learn more about generating an upload key in ReactNative, see the official documentation.
The command prompts you for some credentials.
Set
KEYSTORE_PASSWORD
andKEY_PASSWORD
on./android/gradle.properties
with 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 config file and move it as instructed.
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.whitelabel
This script uses
experimentalPlayDebug
build flavor. When you build your app on release mode, useexperimentalPlayRelease.
See the official documentation for more info.