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?
6 Answers
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.
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."
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.
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.