What Product Flavor does Android Studio build by default in build.gradle?

AndroidGradleAndroid StudioAndroid Gradle-Plugin

Android Problem Overview


We have an Android project that uses the new Gradle build system, and we use Android Studio as a development tool. When there are several product flavors specified in build.gradle, we notice that Android Studio builds the first one specified alphabetically. Is there a way to tell Android Studio to build and test only a specific product flavor during development?

Android Solutions


Solution 1 - Android

On the lower left of the Studio window there's a docked view called "Build Variants".

Open it and choose whichever variant you want to work on. This will impact which variant is built but also the enabled source folders, which will drive completion in code and resources editors.

Solution 2 - Android

Currently there appears to be no way to select default flavor. There is a feature request in Android Issue Tracker for it:

https://code.google.com/p/android/issues/detail?id=64917

You can star/vote the request, so it gets higher priority on Android development tools backlog.

Solution 3 - Android

Yes, there is a way:

android {
    productFlavors {
        foo {
            isDefault true
        }
    }
}

And otherwise variants with the debug build type are favoured.

It was added in Android Studio 3.5, see feature request:

> "Included in Android Gradle Plugin 3.5.0-alpha08 and Android Studio > 3.5 Canary 8 [3.5.0.7]. > > The heuristic for projects using older AGP and projects without > explicit settings has also been updated to favour variants with the > build type debug, as described in the commit message."

Solution 4 - Android

What actually worked for me is enabling "Android Studio Preferences -> Experimental -> Only sync the active variant". After you select the desired build variant once, AS will keep the selected build variant when reopening or when re-syncing the project, basically solving the original problem.

AS/AGP v4.1.

Solution 5 - Android

On latest of android studio, on menu bar, go to Build > Select build Variant, if it's greyed out (disabled), open the project directory and then open the app section then go to that button again. After you've clicked on it, it will open up a window on the sidebar called Build Variants, from there you can select which build variant you want to build, then click on debug and it will build the variant you selected.

Solution 6 - Android

You can specify the command run In Section Before launch Gradle-aware Make

You can list all gradle tasks by gradlew tasks

enter image description here

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJoeView Question on Stackoverflow
Solution 1 - AndroidXavier DucrohetView Answer on Stackoverflow
Solution 2 - AndroidAnton TananaevView Answer on Stackoverflow
Solution 3 - Androiduser3556812View Answer on Stackoverflow
Solution 4 - AndroidRoman TikhonovView Answer on Stackoverflow
Solution 5 - AndroidaprilmintacpinedaView Answer on Stackoverflow
Solution 6 - AndroidTshungleeView Answer on Stackoverflow