Skip to content

bitrise-io/Bitrise-Android-ProductFlavors-Sample

Repository files navigation

Bitrise Android Product Flavor Sample

Bitrise status

This is a sample Android project that demonstrates a Bitrise CI/CD setup with multiple product flavors. Build history is publicly available here.

Project setup and config

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.

Bitrise Workflow

primary Workflow

Workflow Steps

Primary Workflow

This Workflow is automatically run by Bitrise on every commit on every branch. This builds and tests the staging flavor of the app.

deploy Workflow

Workflow steps

Deploy Workflow

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.

Advanced use cases

While this repo demonstrates a simple project config on Bitrise, there are many advanced features that might be relevant for your project:

Releases

No releases published

Packages

No packages published

Languages