This is a sample Android project that demonstrates a Bitrise CI/CD setup with multiple product flavors. Build history is publicly available here.
There are two product flavors defined in build.gradle
:
flavorDimensions "backend"
productFlavors {
staging {
dimension "backend"
}
live {
dimension "backend"
}
}
In a real-world project, the two endpoints would connect to two different API endpoints, so developers can use a staging build to test features without affecting production data.
This Workflow is automatically run by Bitrise on every commit on every branch. This builds and tests the staging
flavor of the app.
This Workflow builds a release app using the live
flavor and signs it with the release signing config (signing key and passwords are stored as secrets on Bitrise). The signing is done by the [Android Sign](https://www.bitrise.io/integrations/steps/sign-apk) Step, so there is no signing configuration defined in build.gradle
.
You can run this Workflow manually on Bitrise or you can set up an automatic trigger. Additionally, you can configure auto-incrementing version numbers with an extra step.
While this repo demonstrates a simple project config on Bitrise, there are many advanced features that might be relevant for your project: